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 .
# 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
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