The machine is a centrino laptop, with no builtin floppy or CD. Both are external, connecting through a strange USB+Proprietary combo. It's a dual interface plug that connects to a dedicated socket in the laptop's side. The bottom part of the socket is a standard USB, and can accept other USB devices.

Installation preparations and media

As a result of this, whatever install media you are using, the "usb-storage" driver must be available in one form or another. I was bootstrapping the process from a Woody 3.0r1 CD with the bf2.4 kernel. Unfortunetly, the woody bf24 kernel did not have said driver. I had to download the drivers.tgz file into a fat partition on the disk, and direct it to install the kernel and drivers from there. (ALT+F2 to get shell, mount the partition somewhere, and then it asks where to install from. If the directory structure has "rescue.bin", and a subdir called "bf2.4" in which there is "drivers.tgz", it can auto-detect everything by searching the partition).

My installation path was (perhaps mistakingly so) to install Woody, and then change the apt sources to sid and do dist-upgrade. I usually use a CD of woody 3.0r1 combined with apt sources from the net. Unfortunetly, the laptop's NIC (broadcom) does not have builtin drivers. As I couldn't get kernel-headers-2.4.18-bf24, and so I couldn't compile the driver for it, I decided to make do without the network until I get a proper kernel installed. I therefore downloaded from the net kernel-image-2.4.18-1-686 and kernel-headers-2.4.18-1-686, and placed them on a FAT partition.

I also downloaded the broadcom network driver sources from the broadcom site (http://www.broadcom.com/docs/driver-download.html) and placed them on the FAT partition as well.

Installation process

Obviously, for me this was a frustrating process of trial and error. For you, however, once those preparations are over, the process should be fairly simple. Boot from the CD, select "bf24" boot, format the Linux partition (I like reiserfs), when asked to copy the kernel and drivers, switch to the shell (Alt-F2), and mount the FAT partition with the files you have downloaded. Return to the installation (Alt-F1), and select the newly mounted partition as the source. It should copy the files over and extract the drivers.

The next step is of loading drivers. Select "drivers/usb/storage", and select the only option there. That's the only driver you need for the installation process. After that, the rest of the installation process will see your CD, and you can continue the installation as usual.

Post install configurations

I usually install the bare minimum in Woody, and then upgrade to Sid. I usually don't start configuring everything until I'm already in Sid. This is doubly true in our case, where Woody simply lacks the proper software. For that reason, as well as the fact that I only have the one CD and no net connection, I selected not to edit apt sources, and to run neither tasksel nor dselect.

After installation was over, I installed the kernel image and headers I downloaded before, as well as a bunch of needed tools for compiling the network drivers. I extracted the broadcom drivers and ran make on them. The makefile uses 'uname -r' in it's process, so it would be a good idea to run the compilation after rebooting into 2.4.18-1-686. It would also be good idea to symlink /usr/src/linux to /usr/src/kernel-headers-2.4.18-1-686. Other than those two tweaks, the driver compiled without a hitch. I copied bcm5700.o to /lib/modules/2.4.18-1-686/kernel/drivers/net, ran depmod -a, and I could ifconfig the network. My personal favorite method is to create a file /etc/modutils/eth that has the single line:

alias eth0 bcm5700
You then run "update-modules", and the module will be auto-loaded when needed.

Upgrade to Sid

Unfortunetly, it is not quite possible to use the laptop with vanilla Woody. It isn't even very possible to use it with vanilla Sid, but things are slightly better there. If you insist on using it on Woody, make sure you get XFree86 4.3 at least (there is an apt source for woody for it), and upgrade to 2.4.22 (sound wouldn't work for me using 2.4.18).

Once I had Woody up, I changed the apt/sources to point to sid, and did apt-get dist-upgrade. X wouldn't work (i810 driver) until I upgraded it to 4.3. I just added to my apt sources the following line:

deb http://penguinppc.org/~daniels/sid/i386 ./
I have to recommend http://apt-get.org as a great index site for unofficial apt-sources. If you don't want to upgrade to Sid, the following line is reported to provide XFree86 4.3 for woody:
deb http://people.debian.org/~mmagallo/packages/xfree86/i386/ ./
Please bear in mind that I have not tried it, though.

The upgrade to Sid was pretty eventless. As mentioned earlier, upgrading the kernel to 2.4.22-1-686 solved my sound problems. Even after using XFree86 4.3, however, display would only work in 640x480 with 16bpp, or 1024x768 8bpp. STFW, and the answer popped up. It seems some BIOS is fighting with another, causing X to only be able to use 1MB of video ram. http://www.mail-archive.com/devel@xfree86.org/msg02247.html pointed to a solution. The actual utility is at http://www.chzsoft.com.ar/855patch.tar.gz. I ran it with the parameter 32768, and it solved the X problem. It did introduce flicker in text mode. Maybe other values will provide better results.


Contacting me

Contact information is at http://shemesh.biz/contact.html.