Record of some of the computer tech I deal with so that it's documented at least somewhere.

Friday 2 November 2007

Booting Debian with AOE

Here's how I did it (after much trial and error :)

Install a fresh system on a HD machine (though I used a 2Gb Flash CF card)

Get the two scripts from here

http://www.etherboot.org/wiki/sanboot/debian_and_ubuntu

/etc/initramfs-tools/hooks/aoetools
/etc/initramfs-tools/scripts/local-top/aoetools

(remember to chmod +x them or you have to do it over like me :)

edit /etc/fstab

proc /proc proc defaults 0 0
/dev/etherd/e686.1p1 / ext3 noatime,errors=remount-ro 0 1
/dev/hdc /media/cdrom0 udf,iso9660 user,noauto 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto 0 0


Make the symlink /initrd point to /boot/initrd.aoe
(though this can be set at DHCP time)

then mkinitramfs -o /boot/initrd.aoe

I think you can use update-initramfs but I didn't

The HD should now be the image you want to see when you boot it over AOE so it is time to copy it over.

fdisk /dev/etherd/e686.1
mkfs -t ext3 /dev/etherd/e686.1p1
mkdir /mnt/e686.1p1
mount /dev/etherd/e686.1p1 /mnt/e686.1p1


I wonder if Linux has a program that uses plan9 proto files, they must have started out on Unix

cp -r --preserve=all bin /mnt/e686.1p1/
cp -r --preserve=all boot /mnt/e686.1p1/
mkdir /mnt/e686.1p1/cdrom
cp -r --preserve=all dev /mnt/e686.1p1/ # I think I copied too much though
cp -r --preserve=all etc /mnt/e686.1p1/
cp -r --preserve=all home /mnt/e686.1p1/
cp -r --preserve=all initrd /mnt/e686.1p1/
cp -r --preserve=all initrd.img /mnt/e686.1p1/
cp -r --preserve=all lib /mnt/e686.1p1/
mkdir /mnt/e686.1p1/media
mkdir /mnt/e686.1p1/mnt
cp -r --preserve=all opt /mnt/e686.1p1/
mkdir /mnt/e686.1p1/proc
cp -r --preserve=all root /mnt/e686.1p1/
cp -r --preserve=all sbin /mnt/e686.1p1/
cp -r --preserve=all selinux /mnt/e686.1p1/
cp -r --preserve=all srv /mnt/e686.1p1/
mkdir /mnt/e686.1p1/sys
mkdir /mnt/e686.1p1/tmp
cp -r --preserve=all var /mnt/e686.1p1/
cp -r --preserve=all vmlinuz /mnt/e686.1p1/




On your DHCP/tftp server

this goes in your pxelinux.cfg/default

LABEL e686.1
kernel vmlinuz-2.6.18-5-686
append vga=normal initrd=initrd.aoe root=/dev/etherd/e686.1p1 rootfstype=ext3 --


Set the e686.1p1 to whatever yours is

nothing special in dhcpd.conf just the usual filename="pxeload";

No comments: