Disclaimer: This assumes some knowledge of linux, like recompile and configuring your kernel, creating files for new devices in /dev, and possibly others if you're not comfortable with this, this may not be for you, although I'd recommend learning how to do it from the HOWTOs at the Linux Documentation Project. This information is also on a "It worked for me!" basis, if it doesn't work on yours, there's not likely to be a lot I can help you with, but you can email at bazza@bazza.com
Well here's the story, the day my new laptop arrived, (after the extra 64mb of RAM for it arriving 5 days earlier, blah) I began the standard process .. booted the laptop to make sure it all worked and I wouldnt have to send it back. Next step was to add the extra RAM. This was no problem at all, just a matter of taking off a small panel on the underside of the laptop and inserting the two RAM modules. Once Id booted again, just to make sure all 128mb were being seen, I started removing the software already installed, MS Works, Quicken and a few others that I'd be unlikely to use.
Once all this was done, there was actually some more space to use on the 6gb hard drive, so I repartitioned, giving 3gb to windows and 3gb to be used for Linux. Having read Jason's report on installing on his laptop, I knew that the 4th partition was used for the sleep space, so I left it well alone, here's how my drive looks
Disk /dev/hda:
240 heads, 63 sectors, 839 cylindersUnits = cylinders of 15120 * 512 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 396 2993728+ b Win95 FAT32
/dev/hda2 397 802 3069360 83 Linux native
/dev/hda3 803 820 136080 82 Linux swap
/dev/hda4 821 838 136080 a0 Unknown
of course I left
the linux drives unformatted when making them with partition magic.
To install, I used a 3com 3c575 PCMCIA card and installed via FTP
with the CD in my desktop computer, this was only because I'd read
about having to pass various things to the kernel at boot up to make
it see a PCMCIA cdrom drive and I decided that I couldn't be bothered
.. when using the RedHat 5.2 boot disks, I'd no trouble whatsoever
installing this way, and linux has now been on my laptop for a few
weeks.
Updates
Red Hat 6 installed within a few days of release .. contains newer versions
of almost everything, pcmcia card services (which I generally keep up to date
with the latest versions anyway) came with kernel 2.2.5 by default, which is a
lot better than 2.0.x imnsho. Other things I've done since first writing this,
got irda working, so I can now hotsync my Palm III and do PPP over that, rather
than using all these annoying cable things :)
Irda
USB
Recently decided to try and get USB running using the 2.2.x kernel, as I have a
USB zip drive (not one made by iomega however) and now that GNU Photo supports my digital camera,it's
really the last hardware reason to keep windows 98 on my laptop. It turns out
that getting USB itself working was a breeze! Although my zip drive isn't
supported by any of the existing drivers in 2.2.12 (or 2.3.18 at this stage, I
checked) I decided to buy a USB Mouse, just because I could do with one for use
on the laptop (Quake really sucks trying
to use a touchpad, with your fingers on the arrow keys on a laptop, as your
hands end up the wrong way around (on a desktop your mouse hand is the right and
keyboard the left). So I walked off to CompUSA one sunday and bought a Logitech Mouseman Plus Wheel USB Mouse,
which is really quite comfortable to use and has LOTS of buttons (normal two, a
wheel acts as another three, wheelup, wheeldown and press, and yet another
button on the side, totalling 6). So I set about getting this working, after
having a glance around the new USB HOWTO, this wasn't much trouble,
although some of the information in the howto didn't work at all (like getting
newer versions of the USB code and putting that into my kernel instead of the
stuff that's already there) but otherwise their information was fine. The steps
to get this up and running are:
OK, you can ignore all that stuff in italics now, I've left it here
just incase someone somewhere finds some use in it, but I now have made X
play much nicer with having the USB mouse there, infact I can now swap it
out when I feel like, and I can use both the external USB mouse and the
built in PS/2 mouse at the same time (!!). What enables us to do this
wonderful thing is XInput, basically, all that has to be done is to add
something similiar to the following to your XF86Config file (I've included
the part for the built in mouse too)
Problems I've seen with it.
Most of this was easy to set up using existing documentation, but I'll go
through how I did it anyway.
Now all the IR progs worked, I could see my Palm using the irdadump program, and
could use pilot-xfer to connect my Palm III (using irlink software on it).
ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttyS01 at 0x02f8 (irq = 3) is a 16550A
ttyS02 at 0x03e8 (irq = 4) is a 16550A
in the bootup messages, signifying that there was an extra serial device (the
irda) so all was good so far
/usr/sbin/irmanager -d 1
to
/etc/rc.d/rc.local to start up irda services
setserial /dev/ttyS2 irq 10 port 0x03e8
into rc.local before starting irmanager.
mknod /dev/irnine c 60 64
the reason I didn't set OHCI in this is because it's a driver for a different
kind of USB bus (department of redundancy department!), I knew this because in
the supported devices section of the Linux
USB website says that all Intel PIIX4 based motherboards use UHCI (amazing
what information you can find on the web, isn't it?). Anyway, to get back on
track, to get the USB mouse working after recompiling with the kernel options
set, it was only really a matter of telling things to use it, I had to mknod
the device
source drivers/usb/Config.in
USB drivers - not for the faint of heart --->
#
# USB drivers - not for the faint of heart
#
CONFIG_USB=y
CONFIG_USB_UHCI=y
# CONFIG_USB_OHCI is not set
# CONFIG_USB_OHCI_HCD is not set
CONFIG_USB_MOUSE=y
CONFIG_USB_KBD=y
CONFIG_USB_AUDIO=y
mknod /dev/usbmouse c 10 32
, and then I wrote a small
wrapper for gdm to check if the mouse is present at start up, if so, to copy a
different X config file to the real one, with the mouse set to be
/dev/usbmouse rather than /dev/mouse for the PS/2 mouse that the touchpad is
seen as, and to copy an original there if the mouse hasn't been detected. This
was as simple as (Redhat 6.x, your X may not start up the same way, meaning
you have to write a startx/xdm/kdm/whatever else you use wrapper) changing the
last line of /etc/inittab (which normally starts a script called prefdm to
start up the display manager) to x:5:respawn:/etc/X11/USBWrapper.pl in order
to start the following wrapper (which you can call whatever you want and put
wherever you want).
#!/usr/bin/perl -w
if(`dmesg | grep -c "USB mouse found"` != 0) {
system("cp /etc/X11/XF86Config.usb /etc/X11/XF86Config");
# print "USB Mouse found, enabling it for X\n";
} else {
system("cp /etc/X11/XF86Config.nousb /etc/X11/XF86Config");
# print "USB Mouse not there, switching to normal PS/2\n";
}
system("/usr/local/bin/gdm -nodaemon");
Of course, this is hackier than Mr Hacky from the planet hack, for a
number of reasons:
When I get some time, I'll make it work better and address these points, I
don't do this for a living y'know (though I'd think about it if someone paid
me to ;), maybe this weekend while I'm stuck in a hotel room in Atlanta (this
is being written on the plane on the way there). But that's pretty much it, my
XF86Config section relating to the USB mouse is as follows, incase you want to
get it working.
Section "Pointer"
Protocol "PS/2"
Device "/dev/usbmouse"
Buttons 6
EndSection
Which technically is wrong, there's already a type for MouseMan+ mice in
XFree86, however when I set it to use that, it didn't work properly, which
sucks, I shall investigate, watch this space [SPACE]
Section "Pointer"
Protocol "PS/2"
Device "/dev/mouse"
Emulate3Buttons
Emulate3Timeout 50
EndSection
Section "Xinput"
SubSection "Mouse"
Port "/dev/usbmouse"
DeviceName "USB Mouse"
Protocol "PS/2"
Buttons 6
AlwaysCore
EndSubSection
EndSection
and, TADA!