I just got USB Mouse support going on my IA-1 and the Rasmus-modified version of Jailbait at http://php2.chek.com/~rasmus.
At this point, the kernel modules load automatically at startup, and also, XFree86 sees the USB mouse. As an added bonus, I can use the USB mouse at the same time as that crappy thumbpad pointer. I *suppose* that's a good thing anyway :)
I don't have the bandwidth or web space to post my CF image, but I'll try to outline what I did. If you have the webspace, I'll Email you the image so that you can post it :)
0) Make a backup of your working CF image. PLEASE! If my instructions are broken or you make a mistake, how do you want to rebuild your system...the easy way or the hard way?
1) On another box, build the 2.4.17 kernel and modules. Use Rasmus' kernel .config file, and enable the following additional features:
- input core support
- USB HID support
- USB mouse device support
- possibly some other tweaks I can't remember (sorry...I can post my kernel .config if interested)
Tip: When building, you might want to use the 'EXTRAVERSION' variable in the toplevel kernel Makefile to distinguish between your host system's kernel/modules and the ones you're going to put on the IA-1. Your call...I named my kernel 2.4.17ia-1. This means that the make modules_install puts the modules in /lib/modules/2.4.17ia-1.
2) Since the new kernel will be larger than the old kernel, You'll probably have to clear up some room on the root partition of the CF image. You should probably just clean out /boot/modules for now.
3) Take the new vmlinuz image and replace /boot/vmlinuz-2.4.17ia on the CF image.
I did this by setting up an NFS-mounted staging area visible to the IA-1, remounting hda1 as read-write, then simply overwriting the kernel image.
(i.e. mount / -o remount,rw
mount -t nfs 192.168.1.3:/home/export /mnt
cp /mnt/vmlinuz /boot/vmlinuz-2.4.17ia
4) Rerun lilo, since we've overwritten the kernel image with a new one.
5) On your 'build' system, look through /lib/modules/2.4.17ia-1 (wherever you put your IA-1 modules). Copy whatever modules you need to /boot/modules on the IA-1. If you're using the internal Sandisk on the IA-1, you will need to make some choices, since there probably isn't enough room for everything. For example, I ditched kaweth.o, since my USB ethernet is Pegasus-based.
For what it's worth, these are the modules on my IA-1:
CDCEther.o, ac97_codec.o, audio.o, catc.o, evdev.o, hid.o, input.o, keybdev.o, mousedev.o, pegasus.o, scsi_mod.o, usb-storage.o, usbmouse.o, usbnet.o, via82cxxx_audio.o
(I'm guessing I can pare that down somewhat).
6) Modify your /etc/modules file. Mine looks like this:
# /etc/modules: kernel modules to load at boot time.
ac97_codec
via82cxxx_audio
pegasus
input
hid
mousedev
7) Now, it's time create the device nodes. I modified my /etc/init.d/ramdisk file by adding the following lines after the mount commands (before devfsd starts). That way, the device node gets rebuilt at startup.
# USB Mouse Support
mkdir /dev/input
mknot /dev/input/mice c 13 63
# End USB Mouse Support
8) To enable the mouse in XFree86, add the following section to /etc/X11/XF86Setup:
Section "Xinput"
SubSection "Mouse"
DeviceName "USB Mice"
Protocol "IMPS/2" [ (or PS/2) ? ]
Device "/dev/input/mice"
AlwaysCore
EndSubSection
EndSection
Leave the existing "Pointer" Section alone--that way, you can use crappy rocker-pad on the IA-1 keyboard at the same time as your USB mouse.
9) Cross your fingers, plug in your mouse and reboot. If it works, great!!! If not...well...you *did* make a backup, right? :)
Let me know how it goes. Good luck!
- Mike