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

Wednesday 14 November 2007

Installing Debian to AOE target

I'm using pxeboot to run the Debian installer, though the CD works just as well.

Run the installation as normal, in expert mode. Be running a vblade somewhere on the LAN. After starting the network but before detecting disks download the appropriate kernel aoe.ko for the installer Kernel, no mean feat. I had to install 2.6.18-5.486 on to a machine and copy it off.

Alt-f2 for a new console, Alt-f1 to go back, you get the idea.
Mine was
http://www.proweb.co.uk/~matt/aoe/aoe.ko-2.6.18-5-486
Cripes I have to promise to send you the source code now if you download this or else I'll have Stinky Stallman on my back, imagine that !

Save it in tmp and insmod the fucker. I changed its name to /lib/modules/2.6.18-5-486/kernel/drivers/block/aoe/aoe.ko but I don't know if you have to.

Skip/after detect disks I had to rm /dev/hda && ln -s /dev/etherd/e7.7 /dev/hda before partitioning. It picks up the right block device after de-referencing.

blah blah installing as normal all one partition, no swap, grub can't install on it

Eventually you get "Installation is complete" and a <Go Back >
<Continue> choice.

Now it's hack time. Crack open the initrd.img the installer just made

# chroot /target
# mkdir /tmp/initrd && cd /tmp/initrd
# gunzip < /initrd.img | cpio -i --make-directories

Now /tmp/initrd has a copy of the initramfs it'll boot from. To make it easier later to use mkinitramfs and update-initramfs copy things to /tmp/initrd and /target
I got the scripts from http://www.etherboot.org/wiki/sanboot/debian_and_ubuntu

# apt-get install aoetools
# cp /sbin/aoe-discover /tmp/initrd/sbin/
# cd /etc/initramfs-tools/
# wget http://www.proweb.co.uk/~matt/aoe/hooks -O hooks/aoetools
# wget http://www.proweb.co.uk/~matt/aoe/scripts -O scripts/aoetools
# chmod 755 hooks/aoetools scripts/aoetools
# cp scripts/aoetools /tmp/initrd/scripts/

Then make the initrd.img again

# cd /tmp/initrd
# find . | cpio -o -H newc | gzip -9 > /boot/initrd.aoe


Then get it off the machine and on to the TFTP server.

# scp /boot/initrd.aoe TFTP:/var/lib/tftpboot/



One of the fun things is that you can mount the AOE share on any machine and edit stuff, great if you find you need to tweak /etc/hosts or /etc/fstab later.
I mount mine
/dev/etherd/e7.7p1 / ext3 sync,noatime,errors=remount-ro 0 1
I'm going to try readonly sometime.

No comments: