During installation if the installer is unable to detect any disks it will present you a list of all the available drivers to select or you can select none of these. Once you select that it gives you a couple of options. One of them is to scan removable media for a driver.
Does anyone know what it's looking for? I've tried just putting the proper .ko file on a floppy in / as well as putting it in /lib/modules/<kernel version>/kernel/extras/
and a few other places but in the end I have to manually mount the removable media and load the module using insmod.
If you're using the desktop CD installer, you can load additional drivers programmatically by following the instructions here.
If you're using the alternate CD installer, you can accomplish this by creating a driver injection disk. First create a USB disk with a label of
OEMDRV
, then put a Debian package on it containing your kernel module. Finally, preseeddriver-injection-disk/load
to true and start the install.The definitive reference for this format is the hw-detect code, bzr branch lp:hw-detect , specifically driver-injection-disk.sh
Alternatively, if you want a quick and dirty solution and assuming this is a disk driver, put the kernel module in one of the following directories:
In addition to Evan's answer about the alternate installer, this drivers disk should contain
*.udeb
files for the installer to recognise these. These packages can be found on Ubuntu packages:linux
source.If you have a
*.ko
file, copy it to an USB stick.I missed the JMicron Ethernet driver
jme.ko
and found this module in thekernel-image-2.6.38-8-generic
package. This package can be extracted usingdpkg-deb -x [name-of-deb-file].deb target_extraction_directory
.Within the installer, press Ctrl + Alt + F2 followed by Enter to open a shell. USB sticks won't mount themselves, after locating the disk, mount it:
Copy the file to the kernel directory:
Update the kernel modules, unmount the USB stick and load the kernel module (and its dependencies if any):
If everything went well, you should not get any messages and can go back to the installer menu by pressing Ctrl + Alt + F1.
Important: the kernel versions of the installer and module must match. My alternate CD did not contain the JMicron Ethernet driver (
jme.ko
). I could not find it in the*-modules-*
files, but it was existent in thelinux-image-*
package. For easiness, I copied this module from an other computer, forgetting that Maverick was installed on it, and not Natty. I kept getting theERROR: File not found
message and after some time I realised that the module came from Maverick with kernel version 2.6.35-28 but Natty runs on 2.6.38-8.