Best of Technical Support

Our experts answer your technical questions.
Linux General Question

I am new to the Linux world and have what I think is a fairly simple question. I would like to know how to get information from a CD using the X Window System. Can you help me with this? —Anthony, DrexelDG@aol.com

First, mount your CD-ROM using the command mount /cdrom if /etc/fstab is properly configured. Otherwise, as root use mount /dev/hdb /cdrom. Your distribution probably offers some graphic tools to help with the task; remember man mount is your friend. —Alessandro Rubini, rubini@prosa.it

First, in an xterm, log in as root (su -root and type in the root password when prompted). Then, create a directory where the CD will appear to be:

mkdir /mnt/cdrom

Next, insert the CD and mount it on the directory you created:

mount -t iso9660 -o ro /dev/hdd /mnt/cdrom
Then, you should be able to cd to /mnt/cdrom and use the files on the CD. When you're done, the command
umount /mnt/cdrom
will tell Linux to “let go” of the CD so you can eject it and work on another. —Scott Maxwell, s-max@pacbell.net

Error when Booting

When LILO starts to boot Linux, I get an error message saying, “BIOS32 extension does not exist. Sorry, this release still depends on it!” I am unable to boot Linux because of this. What should I do? —Mark, msudnick@ionsys.com

LILO must be installed on your MBR (Master Boot Record), on a floppy disk or the first sector of your Linux partition. If you have an IDE drive, it must be located before the 540MB limit; if you have a SCSI drive, it must be lower than cylinder 1024. Is your LILO installed in the proper location? —Daniel Lafraia, lafraia@iron.com.br

This message is printed by a SCSI driver which is compiled in your default kernel and is benign as you don't have that SCSI controller. Most drivers don't print any message when they fail detecting the hardware; in my opinion, this is good. It looks as if your kernel is locking when probing for some other hardware, but I can't tell which one. You should try to remove any strange ISA device installed in your system, then compile your own kernel, leaving out everything of no interest to you.

Note that most modern distributions use modules for each device driver in order to avoid probing for uninstalled peripherals. —Alessandro Rubini, rubini@prosa.it

Modem Speed

At what speed is my modem connecting? I have REPORT CONNECT in my chat script, but it always indicates I am connected at 57600. How do I query the modem or pppd to find out the speed at which I am actually connected? —James M. Pothering, jmpothering@netscape.net

You need to make a change in your modem settings. Consult your modem's manual to learn which string to send, then use a terminal program such as minicom to instruct your modem to return the modem-to-remote (DCE) speed, not the computer-to-modem (DTE) speed. For example, for my modem I would type ATW2&W. This turns on “Report connection rate only as CONNECT XXXX” (W2) and saves the settings for the next use (&W). —Chad Robinson, chadr@brt.com

Applications Stopped Running

I've upgraded to glibc 2.1, but certain older applications (StarOffice in particular) don't want to run now. How do I either convince StarOffice to like the new glibc, or else keep the old 2.0.7 installed just for StarOffice's use? —Tim Pepper, tpepper@calpoly.edu

Here's a shot in the dark... Instead of executing “soffice” by itself to start StarOffice, execute the following:

LD_LIBRARY_PATH=/glibc_libraries_path soffice

Be sure to have the 2.0.7 libraries in a directory separate from all the rest of your system libraries (they typically reside in /lib). The command above should make StarOffice look for shared libraries in the LD_LIBRARY_PATH first before moving on to look elsewhere. Note that you do not want this particular LD_LIBRARY_PATH variable to be permanent; you just want to execute it when you start StarOffice. (Of course, replace /glibc_libraries_path with the actual path to your glibc 2.0.7 libraries.) —Erik Ratcliffe, erik@calderasystems.com

You can influence how any application searches for shared libraries by setting the LD_LIBRARY_PATH environment variable (don't forget to use export LD_LIBRARY_PATH=..., so the environment variable's value will be visible to applications you run). The value of this variable should be a colon-separated list of directories to be searched before the usual locations.

Writing a simple shell script will make life simpler. Do something like this:

#!/bin/bash
export LD_LIBRARY_PATH=/path_old_glibc/
exec soffice

If necessary, you can also force the issue with LD_PRELOAD:

#!/bin/bash
export LD_PRELOAD=/path_old_libc.so
exec soffice
—Scott Maxwell, s-max@pacbell.net

______________________

Geek Guide
The DevOps Toolbox

Tools and Technologies for Scale and Reliability
by Linux Journal Editor Bill Childers

Get your free copy today

Sponsored by IBM

Webcast
8 Signs You're Beyond Cron

Scheduling Crontabs With an Enterprise Scheduler
On Demand
Moderated by Linux Journal Contributor Mike Diehl

Sign up and watch now

Sponsored by Skybot