Tuesday, April 25, 2006

Day two - Scripting "Hello World !!" - Stage 1 (0.1)

I make my own script for building "Hello World!" ISO , and here it is, stage-1.0.1 script :


# cleanup ##########

rm -rf *.iso
rm -rf isolinux

# initrd.gz ##########

dd if=/dev/zero of=initrd bs=600k count=1
mke2fs -F -m0 -b 1024 initrd
mkdir initrdDIR
mount -t ext2 -o loop initrd initrdDIR
rm -rf initrdDIR/lost+found/

# /dev
mkdir initrdDIR/dev
mknod initrdDIR/dev/console c 5 1

# linuxrc
echo "#include " > linuxrc.c
echo "void main(){printf(\"\n\nHello World! \\n\");for(;;);}" >> linuxrc.c
cc -static linuxrc.c -o initrdDIR/linuxrc
rm -rf linuxrc.c

umount initrdDIR
rm -rf initrdDIR
gzip -9 initrd

# isolinux ##########

mkdir isolinux
mv initrd.gz isolinux
cp /usr/src/syslinux-3.11/isolinux.bin isolinux/
cp /boot/vmlinuz-2.4.32 isolinux/vmlinuz

# isolinux.cfg
echo "default hw" > isolinux/isolinux.cfg
echo "label hw" >> isolinux/isolinux.cfg
echo "kernel vmlinuz" >> isolinux/isolinux.cfg
echo "append initrd=initrd.gz" >> isolinux/isolinux.cfg

# boot.cat
find . -type f -exec md5sum {} \; > isolinux/boot.cat

# make ISO9660 ##########

mkisofs -pad -l -r -J -v -V "HELLOWORLD" -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -hide-rr-moved -o helloworld.iso .

0 Comments:

Post a Comment

<< Home