I have a zd1211 based wifi card. The Debian installer did not detect it when I booted with the usb powered hub plugged into the otg port (which the card is plugged into). Instead I had to boot then plug the hub in after booted.
Next the installer cannot find the firmware driver. Select "Go Back" and "Execute shell" then mount a media with the firmware and copy it to /lib/firmware Then exit the shell, and run the detect hardware step again.. now the wifi works and you can complete the install.
Since Mainline seems to be moving to as firmware free as possible, i'd like to find another way around this problem. It'll probably get worse.
1. Some how, dump the linux-firmware tree into the build tree and build the uImage with 'all' possible firmware's... (well not stuff like radeon.bin's)
2. update the intrd.gz image with all firmwares.
--RobertCNelson 23:15, 28 April 2009 (UTC)
Clear, create and cd into a temporary directory:
rm -rf /tmp/firmware mkdir /tmp/firmware cd /tmp/firmware
Acquire the lenny/firmware-XX package, which contains the firmware: (firmware-XX download page)
Extract the files from the package into the temporary directory:
ar -p zd1211-firmware_18.104.22.168-0.1_all.deb data.tar.gz | tar -zxf -
Create the cpio archive using pax, contain stuff under lib but root it in / in the archive:
pax -x sv4cpio -s '%lib%/lib%' -w lib | gzip -c >fw.cpio.gz
Concatenate the firmware:
cat initrd.gz fw.cpio.gz >initrd-fw.gz
gzip -d initrd-fw.gz
DD it.. 8Mb might not be enough for some firmware
dd if=initrd-fw of=initrd.pad ibs=8388608 conv=sync
Copy initrd.pad to SD card...
Unknowns: Kernel's looking for /lib/modules/`uname-r`/ these will place them in /lib/modules/*....