Linux on a Gateway Solo 450
Last updated 20 September 2004.
I'm running Fedora Core 2, dual-booted with Windows XP (Professional).
I've given Windows 15 GB and Linux gets the rest of a 60 GB drive.
Important Note: I do not have the "Centrino"
version of the 450. In particular, the miniPCI wireless card on
my machine advertises itself as a "Lucent Technologies WaveLAN/IEEE"
and is handled by the orinoco and orinoco_cs drivers.
I originally installed RedHat 7.3, upgraded to Fedora Core
1 (mostly because RedHat dropped support for RH 7.3), then did a clean
install of FC1 (because my hard drive died), and recently did a
clean install of Fedora Core 2. See the
original installation notes if you're interested.
[In the process of all these installations and reinstallations and disk
crashes I discovered that it is possible to store a moribund Windows
installation on another machine, reformat the disk (or install a new
one), restore the Windows data back to the original machine, and it
just works. I'm sure lots of people knew you could do this, but it
was (welcome) news to me. Rsync does the trick both when saving and
restoring the Windows files.]
The installation went fairly smoothly, but be careful if you want a
dual-boot machine like I do, because there's this slight
incompatibility with the way Windows sets up the partition table and
the way the FC2 install does it. From what I understand, Windows does
it wrong and FC2 tries to correct it, which gets Windows all confused
so it won't boot any more. The trick is to convince FC2 not to touch
the partition table during the installation process; to do this, you
need to do some homework before you start the FC2 installation, and
then invoke the boot-process Linux in a special way. This page
explains the details. In my case, since my hard drive has
255 heads, 63 sectors/track, and 7296 cylinders (as reported by
fdisk), I needed to start linux by typing "linux hda=7296,255,63"
during the installation. Do not just hit return.
Oh, and if you're doing a totally clean install, remember to install
Windows first, then Linux. If Windows is already on your machine
and taking up the entire disk, you need to repartition to give
Linux some room; you can do this (or so I understand) by using
a tool such as Partition Magic or fips, or you can rsync your Windows
files to another machine, repartition, then put everything back
again (which is essentially what I did when I put in my new hard
drive).
As usual with any major upgrade there are lots of little things that
either need to be worked out or are just annoying. Fedora Core 2 is a
lot slicker than 7.3 was, especially with respect to GUI-operated
configuration tools, but it is a work in progress.
Various screenshots of my X-windows environment setup can be found
here. I include them mostly to help me
document what I've done, but you may find them useful. Also, you can
find my xorg.conf here; note that this includes
the changes required for the Synaptics Touchpad driver (see below).
Things that work:
- Sound -- worked fine out of the box. Xmms is my mp3 (well,
ogg, actually) player of choice. You need to download and
install the xmms-mp3
plugin in order to play mp3's.
- Wireless works ok, although setting it up to work with any
particular wireless access port can be a bit of a pain.
There's a new "Wireless link monitor" you can add to the panel
but I haven't tried it yet.
- X -- Fedora Core 2 uses xorg 6.7 with the newer Radeon
drivers, which means that DRI support actually works now. The
XF86Config-4 file in /etc/X11 has been replaced with xorg.conf. During installation, just
say that you have a generic 1024x768 LCD.
- USB -- it properly detects my USB camera and I can mount
the device and read its contents. I haven't yet tried any
other USB devices. USB support was one of the weak spots in RH
7.3.
- Synaptics Touchpad -- When FC2 is installed, the touchpad
works but only for moving the cursor around; clicking by
tapping the touchpad doesn't work. To get the full
functionality of the touchpad (including scrolling by rubbing
along the right and/or bottom edges) you need to install the Synaptics
TouchPad driver for XOrg/XFree86.
- up2date -- The FC2 setup is a huge improvement over the
FC1 setup, since it is automatically set up to find and use
the mirrors. This means that you're much less likely to
have up2date hang while it's trying to download stuff --
but you're not completely immune to this because sometimes
it will choose the RedHat servers which are notoriously
unresponsive, expecially right after an update is posted.
On the other hand, you don't have to mess with the up2date
setup any more -- it just works out of the box.
Things I haven't checked yet:
- The modem. But since it's a Winmodem and I don't know if
I'll even need it I haven't really thought about trying to get it
working.
- Firewire (aka 1384) -- the firewire port used to get
detected during boot under FC1, but I don't see any signs of it
now under FC2. What happened to it? I don't have any Firewire
devices so I haven't actually tested it yet.
- DVD's -- There doesn't appear to be a DVD player in the FC2
distribution (probably because of the CSS contretemps), so I
installed Xine. But there are other packages out there I might
try such as vlc and mplayer. Vlc
looks interesting. Opinions,
anyone?
Note that you can set up your preferences to launch
your DVD player whenever you pop a DVD in the drive.
- CD's -- the default CD ripper in the FC2 installation is
"Sound Juicer"; I've also installed "grip", since that's what I've
used in the past, but I haven't checked out either one yet.
- Suspend -- this version of the kernel
purports to have ACPI support. I'll have to play with it at some
point.
Glitches:
- PCMCIA -- doesn't work out of the box (!) because of a bug
in the pcmcia daemon startup script. In /etc/rc.d/init.d/pcmcia I
had to change the following line from this:
if ! grep -q pcmcia /proc/devices ; then
to this:
if ! /sbin/lsmod | /bin/grep -q $PCIC ; then
This
bugzilla entry has more information.
- CD-ROM strangeness -- under some circumstances the machine
loses (is not able to find) the CD-ROM drive. This seems to happen
after running the Windows installation CD, but I haven't tried tracking
it down very much. The first time the problem showed up was when I was
trying to boot off the Red Hat installation CD -- it kept booting off
the hard drive into Windows instead of booting off the CD into the
installation. Anyway, to get around the problem I went into the BIOS
setup (press "F2" during boot), selected the "Advanced" tab, then changed
the "Large Disk Access" from "DOS" to "Other". This forced the BIOS to
look for, find, and start up the CD-ROM. I was then able to reboot, set
the setting back to "DOS", and procede with the Linux installation.
John Kilburg has this to say about the problem:
I had the same problem with booting using the Windows CD without
Linux installed at all. I flat out could not get the thing to boot
from CDROM until I found that if I pressed F8 during the Windows XP
boot and then picked reboot from the menu that it would boot from
CDROM when the laptop rebooted. The same thing ocurred when I tried
to boot the RH8 CD.
This just seems like an amazingly bad Solo bug. Also, I do not understand
why the Large Disk Access option in the BIOS would have anything to
do with this and I would be surprised if it did.
Tips and Tricks
- Installing the Synaptics Touchpad driver:
Download the driver from
Peter Oesterlund. Unzip the tarball, then "make"
to build the driver (synaptics_drv.o). Place this
driver in /usr/X11R6/lib/modules/input/. Follow the
directions in the INSTALL file for modifying /etc/X11/xorg.conf,
or you can just look at my copy to
see what it should look like.
- Basic Wireless Setup:
You can use the default wireless setup for wireless access ports
(WAPs) that broadcast the ESSID and don't use WEP.
If the WAP you want to connect to doesn't broadcast its ESSID,
you can put an ESSID string in /etc/sysconfig/network-scripts/ifcfg-eth1
like so:ESSID="your ESS ID"
If the WAP you want to connect to is using WEP, you can also put
the WEP key in ifcfg-eth1 like so: KEY="s:key_as_string"
If you leave off the "s:" the key will be assumed to be a hex value.
I suggest you keep a copy of ifcfg-eth1 for every access point you're
going to be using. If you know of any better ways of handling this
issue,
drop me a line
- Wireless Helper Scripts:
Because I don't like the idea of having the wireless card
continually running when there's no access point around, I
added the following to /etc/rc.d/rc.local to turn off the card
if it isn't needed or if it couldn't find a connection:
# Turn off wifi if we don't need it, or if it didn't come up
test1=`/sbin/ifconfig eth0 | grep "inet addr"`
test2=`/sbin/ifconfig eth1 | grep "inet addr"`
if [ "$test2" = "" -o ! "$test1" = "" ]
then
/sbin/cardctl eject 2
if [ ! "$test1" = "" ]
then
/sbin/ifdown eth0
/sbin/ifup eth0
fi
fi
I also created a root-executable script to make it easier to
turn the wireless card on and off manually:
#! /bin/bash
case "$1" in
start)
/sbin/cardctl insert 2
;;
stop)
/sbin/cardctl eject 2
;;
restart)
/sbin/cardctl eject 2
/sbin/cardctl insert 2
;;
status)
/sbin/iwconfig eth1
;;
*)
echo "Usage: wifi {start|stop|restart|status}"
exit 1
;;
esac
- Installing Xine:
- Go to
XineHQ and download xine-lib-1-rc5.tar.gz and
xine-ui-0.99.2.tar.gz (or whatever the current version is).
The build instructions are here;
basically unzip the tarballs, in each directory run
./configure, then "make install". You will also need to add a
new file to the directory /etc/ld.so.conf.d which contains the
line "/usr/local/lib" (without the quotes); this file can have
any name as long as the extension is ".conf" (I called it
local.conf). Then run "ldconfig".
- If you want to play encrypted DVDs, you will have to locate,
download, build, and install libdvdcss sources.
- You might also need to create a symbolic link from /dev/dvd to
/dev/scd0, i.e. (as root) do "cd /dev; ln -s scd0 dvd".
Note that as of this writing I've only done the builds and installations,
and haven't yet tried to play a DVD. However, this is what I did with
FC1 and it worked fine.
- Playing mp3's with xmms:
As I mentioned above, you will have to download and install
the xmms-mp3 plugin in order to play mp3's with xmms. You
can find the rpm for this plugin on
Gurulabs
(as well as other places). Just search for "xmms-mp3".
- Converting ogg format files to mp3 format:
Sometimes, for example when you want to download tracks to
your mp3 player, you need to convert ogg-format music files
to mp3 format. To do this, I downloaded and installed lame,
which you can find on FreshRPMs.
Once you have installed lame, the sequence looks like this:
sox <ogg file> <wav file> [convert a .ogg file to a .wav file]
lame <wav file> <mp3 file> [convert the .wav file to a .mp3 file]
There's probably a more direct way to do this, but this one at least
works.
- Rebuilding the kernel:
The first thing to note is that the kernel sources are now in the
"kernel-sourcecode" rpm, not the "kernel-source" rpm like they
used to be. Unfortunately, the FC2 distribution has the kernel-source
rpm, not the kernel-sourcecode rpm. What's up with that? So one
of the first things you'll have to do is erase the kernel-source
rpm and download/install the kernel-sourcecode rpm.
For those of you who haven't ever built the kernel, it's really
very simple. Go to the directory /usr/src/linux-2.6.8-1.521 (or
whatever your current linux version is); then do the following:
make mrproper
cp configs/kernel-2.6.8-i686.config .config
make xconfig
make
make install
make modules_install
The last two steps must be done as root.
Note that if you have a different machine you might have to choose
a different config file!
Note that your kernel will be named/installed 2.6.8-1.521custom (or
whatever version you have). It will not overwrite the
previously-installed/running kernel unless you are so foolish as to edit
the main Makefile and cause it to be named the same as the running
kernel.
Now reboot; when grub starts, choose the kernel you just built and
run it. If everything works ok, you can then edit /etc/grub.conf
to make your new kernel the default.
- ECP mode for the parallel port:
One reason you might want to rebuild the kernel is to enable ECP
mode on the parallel port. Enabling ECP mode can boost data tranfer
rates from around 10kbytes/sec to upwards of 400kbytes/sec, depending
on the printer (or other peripheral you're connecting to). To do this,
you need to configure the kernel to enable parallel-port FIFO support,
then you need to tell the parallel port drivers to use that support.
The steps are:
- Build a new kernel as above, but before you do, edit the
upper-level Makefile and change "custom" to "ECP", or
something like that.
- On the "make xconfig" step, find "Parellel port support" and
enable "Use FIFO/DMA if available (EXPERIMENTAL)". Save
the new config, then complete the build as usual.
- Add the following lines to /etc/modprobe.conf:
alias parport_lowlevel parport_pc
options parport_pc irq=auto dma=none
- That's it. Reboot and try out the new kernel. You can tell
if ECP mode is enabled if you see something like this when
you run "dmesg":
parport0: PC-style at 0x378 (0x778), irq 7, using FIFO [PCSPP,TRISTATE,COMPAT,ECP]
The key words to look for are "FIFO" and "ECP".
- Burning CDs:
The ability to burn CDs using the 2.6 kernels seems to be in a
state of flux these days, apparently because there seem to be
concerns about the security of the various CD-burner GUIs running
setuid. The upshot is that at the moment it's a bit of a pain
to burn CDs; hopefully this will work itself out in the not-too-distant
future; some threads about the issue can be found
here and here.
For the short term I've been using the nautilus file manager
to create an iso file, then using cdrecord to do the
actual write. Here's a sample command to do the write:
cdrecord -v speed=8 -immed -tao dev=/dev/cdwriter /tmp/image.iso
Note the "-immed" command; this is very important; without it
the system hangs while the cd is being fixated.
I'm going to try K3b, which is the CD burner that's packaged with FC2,
Real Soon Now, so stay tuned!
- .Xresources:
OK, this is really minor but it took me a while to figure out.
All those settings you used to have in ".Xdefaults"? Move them to
a file called ".Xresources". You'll be much happier; the current
X setup doesn't know from .Xdefaults, but it does know from
.Xresources. Oh, and don't put any xscreensaver settings
in .Xresources, because while xscreensaver will pay attention to
them, it will really screw up xscreensaver-demo (the utility that
sets up the xscreensaver parameters).
- Mozilla plugins:
For the Macromedia Flash Player 7 plugin, I had to create
the directory /usr/lib/mozilla/components in order for the
plugin to install.
For the Java plugin, download and extract j2re-1_4_2_05-linux-i586.rpm from java.com. Install the rpm (rpm -ivh j2re-1_4_2_05-linux-i586.rpm) then
do the following:
cd /usr/lib/mozilla/plugins
ln -s /usr/java/j2re1.4.2_05/plugin/i386/ns610-gcc32/libjavaplugin_oji.so
Then restart mozilla
- Kernel Arguments
By default the newer RedHat versions do a graphical login and hide
all the startup messages; it looks cool but it really annoys me -- I'd
rather see all the stuff that goes on during boot. Also, the default
sets the screen to 40 lines with really big fonts, so I change the
kernel parameters to dump the graphical login and to use the higher
resolution we have on this machine. A sample kernel-invocation line
in my /etc/grub.conf looks like this:
kernel /vmlinuz-2.6.5-1.358 ro root=LABEL=/ rhgb 3 vga=791
- Repartition/reinstall Windows
If you're going to take the "repartition/reinstall Windows"
approach like I did, I suggest you do it before you customize Windows
very much because you'll just have to do it all over again.
When you install Windows on the newly-partitioned drive, do
not use the procedure in the Gateway documentation ("Using
the Restoration CDs"). They say to boot from the red Drivers CD,
but what you should really do is boot from the blue Windows CD.
This will allow you to tell the Windows installation that you want
to create a partition that doesn't consume the entire drive (I
decided on 8 G) and to make it FAT32 instead of NTFS. I suppose I
could have left it as NTFS but I'm suspicious of Linux's NTFS
support, and I want to be able to read the Windows partition from
Linux.
Also when you install Windows, note that there are only two
restoration CDs instead of the three the Gateway documentation
talks about. The applications are in the "apps" directory on the
red Drivers CD, and only some of those apps show up in the menu
that the Drivers CD pops up for you.
If you need to repartion the drive, you can use fdisk from the Red
Hat installation CD. To do this, you should boot from the Red Hat
CD, and when it gets to the "boot:" prompt type "linux rescue"
(without the quotes). Select the language and keyboard, then when
it gets to the panel with "Continue", "Read-Only", or "Skip"
select "Skip". This will dump you into a shell, from which you
can run fdisk (and other things, if you want to).
While partitioning the disk or during installation (I forget
which) you may get a warning about the disk being too big for the
BIOS. You can ignore this warning.
Processor: | 1.4 GHz Mobile Pentium 4 |
Memory: | 256MB DDR SDRAM |
Hard Drive: | 60GB |
Video: | ATI Radeon Mobility M6 w/ 32MB DDRAM |
Display: | 15 inch XGA (1024x768) TFT 32-bit |
CD-ROM: | modular 8x/8x/24x CDRW / 8x DVD Combo |
If you think you'll need a floppy drive don't forget that you have to
order it separately; it's modular so it takes the place of the CD-ROM.
For an extra 20 bucks it seemed like a no-brainer to get one, but I haven't
even taken it out of the wrapping yet.
Email me if you have questions
Want to know more about this site? Look
here.
Copyright © 2002, 2003, 2004 David W. Strauss