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_installThe 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