I did finally manage to get Zenwalk to boot off my external USB hard
drive. Thanks for your tips, gnashley.
I would think that the same considerations would hold for a USB HDD
install of slackware with the default plain vanilla kernel without USB
I had to make a custom initial ramdisk (initrd) with modules for USB
support, add a sleep delay to linuxrc and also add a rootdelay to the
Zenwalk entry in the GRUB menu.lst.
To be specific, I used the following procedure:
1. Install Zenwalk 2.8 to partition /dev/sdb6 of the external USB hard
drive, using the default "sata" kernel and reiserfs and installing LILO
on the superblock of the sdb6 partition (i.e. in its root). sdb6 is a
logical partition underneath an extended primary partition (sdb4). This
install isn't bootable as yet.
2. Also install Zenwalk 2.8 with identical settings to a partition
(sda6) on the bootable internal SATA hard drive. This install of
Zenwalk can be booted via LILO which was installed by Debian
in the MBR of this HDD.
3. Boot into the latter install and run [one long line] (for details see
mkinitrd -c -k 184.108.40.206 -m ehci_hcd:uhci_hcd
-f reiserfs -r /dev/sdb6 -o /boot/initrd.gz
4. Edit /boot/initrd-tree/linuxrc by adding the following line just
before "# Initialize LVM:"
5. Rerun "mkinitrd" (without any options) to rebuild initrd.gz
6. Copy initrd.gz from this install to the other Zenwalk install:
cp /boot/initrd.gz /mnt/sdb6/boot/initrd.gz
7. Add the following entry for Zenwalk in the config file of the
bootloader for the external USB HDD.
In my case this is GRUB's menu.lst, installed by Ubuntu.
title Zenwalk at sdb6, kernel 220.127.116.11
kernel /boot/vmlinuz-18.104.22.168 root=/dev/sdb6 rootdelay=10 vga=791
For LILO, it would have to look somewhat like this:
append="root=/dev/sdb6 rootdelay=10 quiet "
8. Reboot, during the POST hit F12 and pick "USB Storage Device" from
the list of boot devices. Then from the GRUB or LILO menu pick Zenwalk.