Linux on the Toshiba Satellite M35X-S114
Author: Michael Minn
September 15, 2009
Describes how to set up Fedora Core 10 Linux on a Toshiba Satellite M35X-S114 notebook computer.
The following document describes how I set up Fedora Core 10 Linux on a Toshiba Satellite M35X-S114 notebook computer. The Toshiba M35X-S114 is an entry-level laptop manufactured in early 2005 with the following specs:
- 1.3Ghz Celeron M 350 Processor (x86 Family 6 Model 13 Stepping 8)
- 15" XGA TFT Display (1024 x 768 - 32 bit)
- Intel 82853/82855 GM/GME Graphics Controller (64MB RAM)
- 40GB TOSHIBA MK4025GAS ATA hard drive
- Matshita UJDA760 DVD/CD-RW drive (8x DVD, 24x4x24 CD-WR)
- 256MB of RAM
- 1 PCMCIA slot
- PS/2 mouse port
- Video out
- IEEE 1394 (Firewire) port
- 3 USB ports
- Intel 82801DB-ICH4 I/O Controller Hub
- Realtek RTL8139/810x Family Fast Ethernet NIC (RJ-45)
- Realtek ALC250 (rev 2) AC97 audio chip
- AC'97 Modem Controller (rev 03) with Agere SIL27 codec
- Atheros AR5005GS Wireless Network Adapter (802.11 b and g)
- No legacy parallel or serial ports
- No internal floppy
- I bought mine on sale from CompUSA for $649.99 (with $150 rebate)
All of the internal hardware is currently supported under this Linux distribution, although some components require additional configuration or drivers. Toshiba's frequent offerings have often involved multiple extremely similar models and incremental (rather than revolutionary) changes from earlier models. As such, various parts of this document may apply to a wide variety of Toshiba models. I am providing this information to help others avoid the problems I encountered. The definitive source for Linux laptop information is the Linux on Laptops Page.
This document assumes some minimal UNIX/LINUX knowledge. I provide no guarantees for any procedures stated in this document. If you're using an older distribution, you might find helpful info in my Fedora Core 2, Fedora Core 5 or Fedora Core 9 pages. You're more than welcome to e-mail me if you've got a problem, but I can't guarantee a prompt or helpful reply. Like many things in the Linux world...you're on your own. I would, however, appreciate any errata that you can point out so I don't mislead anyone else.
2. Memory Upgrade
This machine ships with 256MB of memory, of which 64MB is shared with the video chip. A memory upgrade will improve performance dramatically, especially with memory intensive applications like OpenOffice and Gimp. Memory can be purchased from numerous vendors online and comes on small SODIMM boards. In 2007, 256MB cost $30 and 1GB costs around $100. Although the machine can accept up to 2GB (two 1GB modules?), for most folks, performance will be acceptable with a 256MB upgrade (for a total of 512MB) and pretty much optimal with a 1GB upgrade (1.2GB total). The open memory slot is located in a small, vented compartment on the bottom of the machine.
- Unplug the machine
- Remove the battery
- Remove a single screw to remove the compartment cover
- Slide the new package into the open slot - pins first
- As the pins go in, the package will want to move downward and the side clips will snap into place.
- Replace the cover and battery and you're ready to rock
3. Fedora Linux Install
Fedora is a free version of Red Hat Linux that is similar to Red Hat's commercial Linux releases, without the customer support or stability. I've been using Red Hat since v6.2 in 2000, although each release adds more unpleasant quirks that make it less suitable for laptops than for servers. If you have no specific reason to use Fedora, you might be better served by using Ubuntu which has a simpler and less-restrictive package management system.
Fedora includes support for all the important hardware in this machine, so installation is fairly straightforward if you have some basic Linux knowledge. I am including my installation choices here for your reference.
Burn a Fedora CD: Fedora is available from the Fedora Project website (and a number of mirror sites) as ISO image files that can be used to burn CDs. While Fedora is still available for the old-style installation as a complete multi-CD (or DVD) set, I chose to go with the single live CD install with the option to do network installs of additional software packages later over the Internet.
Boot from the live CD: Insert the Fedora Live CD and reboot. While booting, press F12 to choose to boot from the CD-ROM/DVD Drive. The Live CD will take around 3 minutes to load. When given the login prompt, accept the "Automatic Login" default.
Split your NTFS Partition: If this is a Windoze machine that you are planning on setting up for dual boot (where you can choose to boot up in Windoze or Linux), you will need to resize your NTFS Partition and free up disk space for installing Linux. Open a terminal (Applications -> System Tools -> Terminal) and run ntfsresize. If you don't need a Windoze side, it would be easiest to just blow away your Windoze partition and make it a Linux-only system.
Start the Install: Double click the "Install to hard drive" icon on the desktop. You should get a splash screen - click next.
Keyboard: Choose the one right for you - defaults to U.S. English
Network Setup: Clich the checkbox so that both network devices are "enable on boot". Accept the manual hostname localhost.localdomain.
Time Zone: Where you go, there you are. Unclick system clock uses UTC because Windoze prefers the clock use local time. This can be changed later, if you desire, in the /etc/sysconfig/clock file.
Root Password: Choose something memorable, yet difficult to guess. Numbers, punctuation and mixed upper/lower case should all be used. Write this down somewhere safe 'cause it's pretty much impossible to recover a root password.
Disk layout: If you are creating a dual-boot system or installing to upgrade an existing Linux installation, you should choose "create custom layout". This will bring up a graphical partition editor.
Assuming you have two existing partitions after splitting your NTFS partition, you can delete /dev/hda2 and use the free space to create your Linux partitions. I chose to use partitioning from a previous installation and my partition table is as follows. The swap space sizing was recommended by the installer (around 2x my RAM of 512MB). I choose to use separate root and /home partitions (to permit easier recovery in the event of a disk problem) and do not use Logical Volumes (which are of value primarily to multi-user systems).
/dev/sda /dev/sda1 ntfs 14119MB /dev/sda2 /boot ext3 94MB /dev/sda3 / ext3 6965MB /dev/hda4 (extended - inserted automatically) /dev/hda5 swap 941MB /dev/hda6 /home ext3 16033MB
When you've triple-checked that it is what you want, write partition table.
Boot Loader: Accept the defaults, although if you have a Windoze partition on /dev/sda1, you may want to edit it and change the label to something meaningful or derogatory.
Installer Runs: The installer will begin after the boot loader configuration with no additional warning - perhaps a reaction to the obsessive prompting of Microshit's Vista (tm). The installation takes five to ten minutes and will end with a screen indicating "Installation Complete"
Reboot: You should now shutdown the live Fedora version and reboot from the hard drive. On my shutdown, the screen went blank and the machine never powered off - strange. Holding down the power button for a few seconds forces the machine off, and then you can reboot.
Firstboot: When you reboot, the Firstboot program will run with some additional user configuration and a bit of legalese.
You can avoid firstboot by clicking CTRL-ALT-BACKSPACE when it starts, which will kill the program and X and put you at the system terminal. However, Firstboot doesn't go away until you run it or disable it as a service:
mv /etc/rc3.d/S99firstboot /etc/rc3.d/K99firstboot mv /etc/rc5.d/S99firstboot /etc/rc5.d/K99firstboot
If you don't firstboot, you will need to add a regular username since it is a very poor security practice to spend alot of time as superuser.
useradd <username> passwd <username>
You may notice the system doing lots of disk and internet access at this point. Probably doing automatic updates!?
4. Installation Tweaks
sudo: Folks who use Ubuntu are used to having the sudo command configured so they can run configuration programs as superuser without having to su or re-login. The sudo configuration file can be modified with the visudo command. Find the commands section and add your username to it. If your username was joeplumber, you would add one line like the root line:
## The COMMANDS section may have other options added to it. ## ## Allow root to run any commands anywhere root ALL=(ALL) ALL joeplumber ALL=(ALL) ALL
Wired Networking: The ethernet chip in this machine is supported, but you will need to configure the network interface to use it. There are programs with graphical interfaces to do the config, but you can also just edit the /etc/sysconfig/network-scripts/ifcfg-eth0 file. If you are using a modem or network connection that automatically assigns IP addresses (DHCP), just add the following lines to the file. I also configure the interface to NOT start at boot so I can keep track of network activity, but you may want to set ONBOOT to yes if that is not a concern for you:
To bring the interface up:
sudo /sbin/ifup eth0
Wireless Networking: The Atheros AR5005GS Wireless Network Adapter (802.11b/g) in this machine has a lspci listing:
02:02.0 Ethernet controller: Atheros Communications Inc. AR5212/AR5213 Multiprotocol MAC/baseband processor (rev 01)
It is supported by the ath5k module, which should install with the normal Fedora installation.
CD and Flash drives: If you get rid of the desktop, the automount service is not available and you will need to modify /etc/fstab to permit user mounting. Add the following two lines to the bottom of the file:
/dev/sdb1 /mnt/flash vfat noauto,user,exec 0 0 /dev/sr0 /mnt/cdrom iso9660 noauto,ro,user 0 0
Then create the mount points for the drives:
mkdir /mnt/flash /mnt/cdrom
Newly inserted disks/devices can then be mounted with the mount command:
makewhatis: If you ever use the whatis or man -k commands to search for a man page for a command, you should run makewhatis to build the database.
Text Login. I prefer to see what's going on with my machine rather than have the boot messages hidden behind a glitzy bitmap. Therefore, I have configured my machine to boot in run level 3 (text mode) rather than run level 5 (X windows mode). This will give you a command line prompt for login. The configuration above (with no KDE or GNOME) will do this automatically, but you can do this at any time. As superuser, edit the /etc/inittab file and change the line:
id:5:initdefault: to id:3:initdefault:
If you chose text login mode, you will be given a VGA login prompt when you initially boot Linux. After you login, you type startx to start the X Windows desktop. Be aware that the screen will go completely black for a few seconds while X starts.
Unneeded Services. To reduce boot time, improve system performance and enhance security, unneeded services should be turned off. Service startup scripts are located in /etc/init.d and linked in various /etc/rcX.d files. Links that start with an 'S' are enabled, links starting with 'K' are disabled. You can disable a service by changing the first letter of the link name to 'K'.
Below is a list of services that were turned on by default that I turned off in /etc/rc3.d:
- S00livesys: live CD support
- S06cpuspeed: CPU speed throttling - not available on the Celeron
- S11auditd: SELinux auditor daemon - unneeded if you turn off SELinux
- S13irqbalance: Multiprocessor interrupt balancing - unneeded since this is a uniprocessor system
- S18rpcbind: Dangerous remote procedure call support
- S14nfslock: Network file system file locking - unneeded if you don't use shared file servers on a LAN
- S15mdmonitor: RAID support service
- S18rpcidmapd: More dangerous RPC call support
- S19rpcgssd: More dangerous RPC call support
- S25netfs: Network file system mounter - unneeded if you don't use shared file servers on a LAN
- S27NetworkManager: Some kind of unnecessary routing switcher
- S28setroubleshoot: SELinux troubleshooting daemon
- S50bluetooth: this machine isn't bluetooth enabled
- S80sendmail: sendmail mail server - a major vector for hacker attacks
- S98cups: Common Unified Printing System. I don't have a printer, but keep this if you do
- S96avahi-daeeon: Network service discovery (chat)
- S99livesys-late: live CD support post bootup things
Cron Scripts. A program called anacron runs system administration programs on a daily, weekly and monthly basis. Some of the default cron tasks are more appropriate to more complex systems and since some are quite disk intensive, they can cause unpleasantness if they start running in the middle of something critical.
The configuration file is /etc/anacrontab runs the script /usr/bin/run-parts, which in turn points to the directories containing other scripts, /etc/cron.daily and /etc/cron.weekly. Don't touch tmpwatch (which cleans out unused files in the /tmp directory), logrotate (which cleans up old system logs) or prelink (which prelinks libraries to speed startup time). I moved the disabled scripts to a newly-created /etc/cron.hold directory:
- makewhatis.cron - keeps man -k references up to date. If you don't change software much, you can just run makewhatis -u manually if you add a man page.
- cups - only needed if you have a printer.
- mlocate.cron - updates the database for the locate command, which is unnecessary if you don't use locate.
- rpm - keeps a system list of installed RPM packages updated. Not necessary.
- smolt - hardware profiler (in /etc/cron.d) to a server somewhere?
- 0logwatch - monitors system logs and sends e-mail on system events. Good for server farms, unnecessary for simple single-user systems.
SELinux Issues: Security-Enhanced Linux (SELinux) is enabled on Red Hat systems by default and manages a complex set of security contexts. When set up correctly, it is fairly transparent, but it's caused me strange permission errors in the past and you can just disable it by changing a line in the /etc/sysconfig/selinux file from enforcing to:
Some Additional Packages: While the live CD contains a fairly extensive set of useful utilities, it's a much less robust group than Ubuntu. You will undoubtedly need to add additional packages. Packages can be installed over the network from a repository with:
yum install <package>
Some packages I added:
- openoffice.org-core - The core interface of the Open Office suite
- openoffice.org-calc - The spreadsheet component of Open Office
- openoffice.org-writer - The word processing component of Open Office
- openoffice.org-impress - The presentation component of Open Office (PowerPunt filters)
- R - the R statistical language - also makes a nice command-line desktop calculator
- inkscape - SVG vector graphics editor (supplants sodipodi)
- vim - Live CDs usually only include vi, not the considerably more powerful vim command-line editor. Old-school, but small and reliable.
- gqview - nice, simple, easy-to-use image viewer - useful for sorting photos
- xpdf - PDF file viewer
- xterm - simple, straightforward X terminal
- xclock - simple, straightforward X clock window
- sane - scanner support (including scanimage)
- man-pages - command-line man pages
- fetchmail - command-line program for downloading e-mail
- nmap - network scanning utility - useful for finding unnecessarily open ports
- sox - command-line sound editing and processing software
- netpbm-progs - set of command line programs for manipulating image files
- ncftp - a command-line ftp program that is more user-friendly than ftp (allows recursive puts)
- lilypond - program for creating beautifully typeset music notation
- wget - command line file download utility
- cabextract - utility for extracting files from M$ .cab files
Some programmer-specific packages:
- gcc - Compiler
- gcc-c++ - Compiler
- make - compilation utility
- java-1.6.0-openjdk-devel - javac compiler
- alsa-lib-devel - headers and libraries for sound programming with ALSA
- alsa-oss - provides backwards compatibility for older Open Sound System (OSS) programs
- libX11-devel - libraries and headers needed when programming applications that use X
- libusb-devel - libraries and headers needed to use libusb, which provides direct userspace access to USB devices without having to write kernel modules.
- kernel-devel-188.8.131.52-117.fc10.i686.rpm - headers for kernel module compilation. There is a configuration bug where if you just install "kernel-devel", you will get kernel-devel-184.108.40.206-170.2.5.fc10.i686, which may be the wrong kernel version. You can do a uname -r to show the installed kernel version.
Unofficial Packages: Red Hat, as a corporate entity, assiduously avoids supporting anything that even remotely has any DRM concerns that might awaken the M$-Beast. So Mplayer, MP3 support and some of the supporting libraries are not available from the trusty Red Hat repository.
However, RPM Fusion provides a repository of RPMs for useful software that Red Hat won't release. You can configure yum to use their repository by adding the following lines to the end of /etc/yum.conf
[rpmfusion] name=rpmfusion baseurl=http://download1.rpmfusion.org/free/fedora/releases/10/Everything/i386/os/
While you can install an RPM to enable their GPG security key, you can also override the security check by invoking yum with the --nogpgcheck option:
sudo yum --nogpgcheck install <package>
You may also want to consider commenting out the rpmfusion lines in /etc/yum.conf after you're done with the install so they aren't on your regular list of repositories to search for software.
The first unofficial program you will need is MPlayer, the Swiss Army Knife of media players. While Flash video should work fine with X installed as it is, if you want to use this machine to watch DVDs or Windoze Media streams on the web, you will need mplayer.
The other significant unofficial program you may want is lame, a program for creating MP3 files from .wav files.
Flash Player: The Flash player doesn't come with the default install and my experience with Flash 10 (only current versions seem to be available from the Adobe Website was that it crashed alot and very unpredictably. If you can find a copy of Flash 9, that will probably work much better for you. Get the tar.gz version for Linux. Don't mess with the RPM or install script - just create the plugins directory and copy the flashplayer plugin library into it.
tar -zxvf install_flash_player_9_linux.tar.gz sudo mkdir /usr/lib/firefox-3.0.4/plugins sudo mv install_flash_player_9_linux/libflashplayer.so /usr/lib/firefox-3.0.4/plugins
Windoze Partition. If you left an NTFS partition on the drive at install time it is possible to mount the partition for read/write access with NTFS-3G. The RPM is available from the Fedora repository.
yum install ntfs-3g
If you did a partition split, the NTFS partition is probably /dev/sda1, but use fdisk to check for certain:
/sbin/fdisk -lu Disk /dev/sda: 40.0 GB, 40007761920 bytes 255 heads, 63 sectors/track, 4864 cylinders, total 78140160 sectors Units = sectors of 1 * 512 = 512 bytes Disk identifier: 0x387b3af4 Device Boot Start End Blocks Id System /dev/sda1 * 63 13672511 6836224+ 7 HPFS/NTFS /dev/sda2 13687380 13880159 96390 83 Linux /dev/sda3 13880160 24113564 5116702+ 83 Linux /dev/sda4 24113565 78140159 27013297+ 5 Extended /dev/sda5 24113628 26073494 979933+ 82 Linux swap / Solaris /dev/sda6 26073558 78140159 26033301 83 Linux
Add a line to /etc/fstab describing how to mount the device:
/dev/sda1 /mnt/windoze ntfs-3g rw,defaults,umask=0000 0 0
Create a mount point directory and mount:
mkdir /mnt/windoze mount /mnt/windoze
PulseAudio: Fedora 8 started using PulseAudio, an audio server daemon that permits sharing and management of audio devices. It's integrated into the desktop but really it's just unnecessary overhead, especially if you do heavy sound work like multitrack audio.
sudo yum remove pulseaudio
Programs that use the ALSA library for sound (which is most current Linux programs) use a group of device special files in the /dev/alsa directory. By default, access to those devices is limited to the root, so normal user programs aren't able to access them when using the ALSA library functions to play sound. You can fix this by adding the following lines to the /etc/security/console.perms.d/50-default.perms file, which sets permissions for general access: (reference):
<sound>=/dev/dsp* /dev/snd/* /dev/audio/* <console> 0600 <sound> 0600 root
At this point, running the aplay ALSA player program should give you something line this:
$ aplay -l **** List of PLAYBACK Hardware Devices **** card 0: I82801DBICH4 [Intel 82801DB-ICH4], device 0: Intel ICH [Intel 82801DB-ICH4] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: I82801DBICH4 [Intel 82801DB-ICH4], device 4: Intel ICH - IEC958 [Intel 82801DB-ICH4 - IEC958] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: Modem [Intel 82801DB-ICH4 Modem], device 0: Intel ICH - Modem [Intel 82801DB-ICH4 Modem - Modem] Subdevices: 1/1 Subdevice #0: subdevice #0
5. TrueType (tm) Fonts
The X window server contains native support for TrueType (tm) fonts, although installing them via the command line is a bit more cumbersome than with an installer program or package. If you've got some on a Windoze box, TrueType fonts tend to look quite a bit better than the fonts that come with the distributions. And if you're doing any web development, you need them to have at least a guess as to what your pages look like on a Windoze box.
Create a directory for your fonts in the shared font directory and copy your .ttf font files into that directory:
sudo mkdir /etc/X11/fontpath.d/truetype sudo cp your-fonts/*.ttf /etc/X11/fontpath.d/truetype
Then run mkfontscale to create the fonts.scale file and mkfontdir to create the fonts.dir files used by the X server. You should also change the owner of all the files to root to avoid permission problems. The mkfontscale and mkfontdir steps are critical if you want to be able to list your fonts with xlsfonts or other legacy X applications. Note that mkfontscale replaces the older ttmkfontdir command (which is no longer included in Fedora distributions):
cd /etc/X11/fontpath.d/truetype sudo mkfontscale sudo mkfontdir sudo chown root:root *
You can check to verify the fonts are loading by starting an X application (like gimp) or use the xlsfonts command:
xlsfonts | less
The listing will likely be long, but if the fonts are loading correctly, you will see X font names like these (for Arial and Garamond, respectively):
-monotype-arial-medium-i-normal--0-0-0-0-p-0-iso8859-1 -monotype-arial-medium-i-normal--0-0-0-0-p-0-iso8859-10 -monotype-arial-medium-i-normal--0-0-0-0-p-0-iso8859-15 -monotype-arial-medium-i-normal--0-0-0-0-p-0-iso8859-2 -monotype-garamond-medium-i-normal--0-0-0-0-p-0-iso8859-1 -monotype-garamond-medium-i-normal--0-0-0-0-p-0-iso8859-10 -monotype-garamond-medium-i-normal--0-0-0-0-p-0-iso8859-15 -monotype-garamond-medium-i-normal--0-0-0-0-p-0-iso8859-2
Problems with X finding fonts: Linux also keeps fonts in subdirectories of /usr/share/fonts and they can be seen by many applications, such as gimp and OpenOffice. However, in Fedora some older X applications and the X font listing utility xlsfonts will not look in those directories. Doing an xset -q will show the current X configuration, including the Font Path:
xset -q Pointer Control: acceleration: 2/1 threshold: 4 Screen Saver: prefer blanking: yes allow exposures: yes timeout: 600 cycle: 600 Colors: default colormap: 0x20 BlackPixel: 0 WhitePixel: 16777215 Font Path: catalogue:/etc/X11/fontpath.d,built-ins Bug Mode: compatibility mode is disabled DPMS (Energy Star): Standby: 1200 Suspend: 1800 Off: 2400 DPMS is Enabled Monitor is On Font cache: Server does not have the FontCache Extension File paths: Config file: /etc/X11/xorg.conf Modules path: /usr/lib/xorg/modules Log file: /var/log/Xorg.0.log
It is possible to append a separate directory to the font path using xset, although the setting change is lost when you reboot your computer. The xset +fp command can be added to your .xinitrc file, although the simplest course of action is probably just to copy them to a subdirectory of the existing system font directory.
fc-cache -f -v . xset +fp /usr/share/fonts/truetype/windoze xset q
6. Motif Window Manager (MWM)
As an old-school Unix guy, I've never found desktops to be the most comfortable way to work. I actually prefer typing commands rather than using the mouse to hunt and peck. Helps the carpal tunnel in my right hand as well. However, X Windows is still essential for graphical applications and useful for multiple terminal windows.
Therefore, I use the very simple Motif Window Manager which is included with OpenMotif, an implementation of the ancient Motif widget set. The Motif Window Manager provides, as its name implies, window management capabilities. I use it by itself without the KDE or Gnome desktops. While you don't get a start menu or the ability to leave icons on your desktop, that way of working has always struck me as sloppy anyway. Use of only a window manager speeds boot time and reduces complexity.
For some licensing reason, OpenMotif is no longer available in the Fedora repository. LessTif is available, but I have found its implementation of mwm a bit problematic (no alt-tab key to move between windows). So, you will need to download an RPM from the ICS FTP site.. You will also need the libXp.
yum install libXp rpm -i openmotif-2.2.3-2.i386.rpm
.xinitrc is a file that is executed when X is started. Create a .xinitrc in your home directory (/home/<username>) and type the following lines. This creates a single terminal window, puts a clock window at the bottom of the screen, sets the "desktop" color to blue and starts the window manager. When you type "startx", from the text login, it will start an xterm, in which you type commands to start other programs. You can create additional windows from a popup menu when you right-click on the desktop.
xterm & xclock -d -update 1 -geometry +819+710 & xsetroot -solid navy exec mwm
7. CD Burning Problems
CD Burning under Linux has always been an adventure and is especially unreliable with the Matshita UJDA760 DVD/CD-RW drive in this machine. The situation got even more complex in 2006 when a group of Debian developers got in a dispute over the CDDL license that prickly developer Jörg Schilling chose for his cdrtools (cdrecord) package and decided to fork development at v2.01.01 into cdrkit (wodim). While the wodim command is aliased as cdrecord and maintains its general syntax, it provides less functionality and (with its roots in an older version of cdrtools) is more buggy. Fedora followed the Debian precedent and includes cdrkit rather than cdrtools.
Probably the best course of action is to uninstall cdrkit (wodim and genisoimage RPMS) and install cdrtools from source. To uninstall you will need to do a --nodeps because the cdrkit commands are used by some GUI programs:
rpm -e --nodeps wodim rpm -e --nodeps genisoimage
Download a source tarball from the cdrtools website and compile it. I chose version 2.01.01a53. There is no configure step needed and you can ignore the warning messages issued during the compile:
tar -zxvf cdrtools* cd cdrtools make install
cdrtools places commands in /opt/schily/bin (where Sun puts them). To make them available within the normal Linux PATH, soft link them into /usr/bin:
ln -s /opt/schily/bin/mkisofs /usr/bin/mkisofs ln -s /opt/schily/bin/cdrecord /usr/bin/cdrecord
One error that cdrkit (and older versions of cdrtools also seemed to have) was failures burning disks in the fixating step (i.e writing the table of contents). I had this problem frequently (and erratically) under Fedora Core 5, but the problem seems less pronounced with the newer version of cdrtools:
Fixating... Errno: 5 (Input/output error), close track/session scsi sendcmd: no error CDB: 5B 00 02 00 00 00 00 00 00 00 status: 0x2 (CHECK CONDITION) Sense Bytes: 70 00 04 00 00 00 00 0A 00 00 00 00 09 00 00 00 Sense Key: 0x4 Hardware Error, Segment 0 Sense Code: 0x09 Qual 0x00 (track following error) Fru 0x0 Sense flags: Blk 0 (not valid) cmd finished after 24.401s timeout 480s cmd finished after 24.401s timeout 480s wodim: Cannot fixate disk. Fixating time: 27.654s
Even disks that have been burned successfully have problems mounting. Not sure whether that is the genisoimage version of mkisofs or some problem with the device driver, but the only solution seems to be to reboot the machine, at which point the newly burned disk(s) mounts fine. This is the error issued during mounting:
sudo mount -t iso9660 /dev/sr0 /mnt/cdrom mount: block device /dev/sr0 is write-protected, mounting read-only mount: wrong fs type, bad option, bad superblock on /dev/sr0, missing codepage or helper program, or other error In some cases useful info is found in syslog - try dmesg | tail or so
A dmesg listing of the system log file gives this error message:
dmesg | tail attempt to access beyond end of device sr0: rw=0, want=68, limit=4 isofs_fill_super: bread failed, dev=sr0, iso_blknum=16, block=16
Even if a disk seems to burn and mount fine, I would suggest you always try doing a complete copy of the disk to make sure that all the data is actually readable from the disk. Sometimes an "input/output error" will occur while copying a bad file.
cp -va /mnt/cdrom temp
8. Dial-up Modem
Since I no longer have any need for dialup, I haven't made any effort to get the POTS interface working. Below are the instructions I used with Fedora Core 5.
The internal modem built into this machine is a Winmodem, which is basically a cheap analog telephone interface with the actual modem signal processing provided in software drivers. The Intel 82801DB (ICH4) AC'97 Modem Controller (rev 03) (BCP\VEN_8086&DEV_24C6&SUBSYS_00011179&REV_03\3&61AAA01&0&FE) uses an Agere Systems codec SIL27 subsystem and is supported by the cumbersome slmodem driver, not the slick ltmodem driver.
Download / Compile / Install: Download the most recent Smartlink modem driver (I used slmodem-2.9.11-20060727.tar.gz). Decompress and make:
tar -zxvf slmodem* chmod slmodem* make make install
Start: As the name implies, the slmodemd uses a daemon that must be started before dialing. You must load the slamr kernel module before starting the daemon. You can include this in a script to simplify connection.
/sbin/modprobe slamr /usr/sbin/slmodemd --country=USA /dev/slamr0
When you start the daemon, it should issue a message like:
SmartLink Soft Modem: version 2.9.10 Mar 23 2005 11:52:23 symbolic link `/dev/ttySL0' -> `/dev/pts/2' created. modem `slamr0' created. TTY is `/dev/pts/2' Use `/dev/ttySL0' as modem device, Ctrl+C for termination.
As the message indicates, the modem device provided by the daemon is /dev/ttySL0.
Dial: Finally, you need a program to dial out and establish the PPP connection. I use wvdial, an excellent, no-nonsense command line program that can be used to test and use the modem. All you need is one simple config file. Given the modem setup above, the following is my /etc/wvdial.conf file. You should modify the username/password to the one given by your ISP. Note the Carrier Check parameter is necessary to use this driver
[Dialer Defaults] Modem = /dev/ttySL0 Phone = 1-212-202-6884 Username = (ISP username) Password = (ISP password) Carrier Check = no
If you prefer a dialer with a GUI, kppp seems relatively popular and also uses the wvdial.conf file.
9. Changing Password
You should periodically change your passwords as a security measure. The command to use is "passwd". However, when used as a regular user, you may get the infamous token manipulation error:
passwd Changing password for user jeff. Changing password for jeff. (current) UNIX password: New UNIX password: New UNIX password: New UNIX password: Password: passwd: Authentication token manipulation error
I solved the token manipulation error by running the passwd command as superuser with sudo and using the appropriate login name. For user "jeff", example:
sudo passwd jeff Changing password for user jeff. New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully.
You may get the message "BAD PASSWORD: it is based on a dictionary word" even though you use a strong password (mixed case, numbers, no words). Take it for what it's worth.
As my 8th grade teacher told me, those who fail to remember history are destined to repeat it. (Al Franken)