Installation of Debian "Sarge" via network onto usb mass storage device. Case study :-)
I've just acquired OpenBrick-NG[1]. This box came with ethernet interface and scsi-usb disk (LaCie mobile). There is no floppy, no cd-rom, no internal ide or scsi disk, nothing. There are two possibilitis to install Debian onto it. 1. connect the usb drive to another workstation and fill it with image of fresh install of debian. 2. network installation. I've chosen the second option, because it promised more fun. After short google session I came across http://wiki.debian.net/index.cgi?DebianInstallerNetbootPXE This is excelent document. I've installed dhcp3-server, atftpd (which edited inetd.conf for me), syslinux and preparet /tftpboot directory according to instruction in that wiki. After correcting simple errors like unplugged ethernet cables, stupid typos and pxe boot agent disabled in BIOS, the installer booted. First obstacle (minor): ----------------------- Openbrick's video chipset is incompatible with frame-buffer console. The screen becomes garbled. Simple to correct with this line: append vga=normal initrd=dinetboot.gz ramdisk_size=16384 root=/dev/rd/0 \ init=/linuxrc devfs=mount,dall rw \ debian-installer/framebuffer=false console=tty0 in pxelinux.cfg/default. Second obstacle: ---------------- Netboot image does not support usb mass storage devices. So I had to build my own. In order to do this I've installed debian-installer-20040430 package and started reading doc/custom-kernel.txt. That's another excelent document. I learned that kernel-image-2.4.26-1-386 has all bells and whistles needed, and proceeded with udeb generation. It went smoothly. I fiddled in a dirty way with pkg-lists/netboot/i386.cfg adding "full support for all types of hard-drives.." from pkg-lists/hd-media/i386.cfg. Then issued make build_netboot. Had to install *lots* of packages at this point. The important thing is that: libdebian-installer-extra4, libdebian-installer4-dev and libdebian-installer4 from testing do not satisfy build dependencies. I had to pin them from unstable. The resuling initrd wouldn't fit in 8192K ramdisk hence I've increased ramdisk size to 16384 in pxelinux.cfg. The installer then booted cleanly, found my usb drive, partioned it as I wanted it to and installed base system. You guys did a great job in this area! Third obstacle: -------------- Even though I tricked installer to recognize my usb drive, the initrd of base system wouldn't be that smart and would die with: pivot_root: file not found. kernel panic: attempted to kill init! I got stuck on it for a while, but finally came up with simple dirty fix: boot installer again, mount /target, mount /target/proc, chroot /target edit /etc/mkinitrd/modules so that it contains: usb-uhci ehci-hcd usb-storage sd_mod ide-disk run mkinitrd -o /boot/initrd-2.4.26-1-386 exit from chroot, umount /target/proc and /target, sync, reboot. The second stage of debian installation then started and completed without further problems. Cheers, Przemek Brojewski [1] http://www.storever.com/ Storever refers to www.openbrick.org for more information concerning OpenBrick-NG, but sadly openbrick community is not even aware of existence of OpenBrick-NG. Their wiki is still discussing possible design of OpenBrick-NG. Oh well. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]