victorj
03-01-2006, 05:04 PM
I wanted to PXE-boot knoppix without having a knoppix-server to boot from, this is my solution:
Step 1.
Boot up from the knoppix-image you want to netboot later, run these commands:
Start the Terminal Server..
rsync -axv /lib/modules/2.6.12 user@server:~/knoppix-2.6.12
rsync -axv /tftpboot user@server:~/knoppix-tftproot
Then edit MODULES, cd to ~/knoppix-tftproot and run this script:
#!/bin/bash
MODULES=/home/victor/knoppixdev-v2/knoppix-2.6.12
gunzip -c miniroot.gz > miniroot
mkdir miniroot-temp newroot-temp
mount -o loop miniroot miniroot-temp
totalsize=$(du -csm miniroot $MODULES/kernel/drivers/net|awk '/total/ { print $1; }')
dd if=/dev/zero of=newroot bs=1M count=$(($totalsize+3))
mkfs.ext2 -F newroot
mount -o loop newroot newroot-temp
rsync -axv miniroot-temp/ newroot-temp
rsync -axv $MODULES/kernel/drivers/net/ newroot-temp/modules/net
umount newroot-temp
umount miniroot-temp
rmdir newroot-temp miniroot-temp
gzip newroot
rm miniroot
Voilá, you now have a bloated initrd called newroot,gz which you can use with ~/knoppix-tftproot/vmlinuz to netboot.
Step 1.
Boot up from the knoppix-image you want to netboot later, run these commands:
Start the Terminal Server..
rsync -axv /lib/modules/2.6.12 user@server:~/knoppix-2.6.12
rsync -axv /tftpboot user@server:~/knoppix-tftproot
Then edit MODULES, cd to ~/knoppix-tftproot and run this script:
#!/bin/bash
MODULES=/home/victor/knoppixdev-v2/knoppix-2.6.12
gunzip -c miniroot.gz > miniroot
mkdir miniroot-temp newroot-temp
mount -o loop miniroot miniroot-temp
totalsize=$(du -csm miniroot $MODULES/kernel/drivers/net|awk '/total/ { print $1; }')
dd if=/dev/zero of=newroot bs=1M count=$(($totalsize+3))
mkfs.ext2 -F newroot
mount -o loop newroot newroot-temp
rsync -axv miniroot-temp/ newroot-temp
rsync -axv $MODULES/kernel/drivers/net/ newroot-temp/modules/net
umount newroot-temp
umount miniroot-temp
rmdir newroot-temp miniroot-temp
gzip newroot
rm miniroot
Voilá, you now have a bloated initrd called newroot,gz which you can use with ~/knoppix-tftproot/vmlinuz to netboot.