Public domain
#!/bin/bash
# Bootable CD - Hello World!
###########
# cleanup #
###########
mkdir -p livecd
cd livecd
rm -rf *
#############
# initrd.gz #
#############
dd if=/dev/zero of=initrd bs=1024k 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 #
###########
cat << EOF > linuxrc.c
#include <stdio.h>
void main()
{
printf("\n\nHello World! \n");
for(;;);
}
EOF
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.36/isolinux.bin isolinux/
cp /boot/vmlinuz isolinux/vmlinuz
# isolinux.cfg
cat << EOF > isolinux/isolinux.cfg
default hw
label hw
kernel vmlinuz
append initrd=initrd.gz
EOF
# boot.cat
find . -type f -exec md5sum {} \; > isolinux/boot.cat
################
# make ISO9660 #
################
mkisofs -pad -l -r -J -v -V "IRanuX" -b isolinux/isolinux.bin \
-c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table \
-hide-rr-moved -o cdimage.iso .
cd ..
mv ./livecd/cdimage.iso .
rm -rf livecd
#!/bin/bash
echo "Insert an empty CD and press any key . . ."
read
cdrecord -v speed=4 -dev ATAPI:/dev/hdd blank=all
cdrecord -v -eject speed=4 -dev ATAPI:/dev/hdd -data cdimage.iso
# cd /usr/src/
# wget -q http://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-3.36.tar.bz2
# tar -jxf syslinux-3.36.tar.bz2
# ls -lh syslinux-3.36/isolinux.bin
-rw-rw-r-- 1 1026 1026 11K 2007-02-11 00:17 syslinux-3.36/isolinux.bin
Stage 1 - Building a livecd that contain complete linux distribution
Stage 2 - Building a script for Installing linux from livecd to hard disk
Stage 3 - Building a configuration script
From Power Up To Bash Prompt : http://tldp.org/HOWTO/From-PowerUp-To-Bash-Prompt-HOWTO.html
The Linux Bootdisk HOWTO : http://tldp.org/HOWTO/From-PowerUp-To-Bash-Prompt-HOWTO.html
How To Build a Minimal Linux System from Source Code : http://axiom.anu.edu.au/~okeefe/p2b/buildMin/buildMin.html
BY: Pejman Moghadam
TAG: iranux
DATE: 2008-04-11 16:38:36