Protokoll von DOLINUX 12.01.2005 Generierung einer Boot CD mit

Transcrição

Protokoll von DOLINUX 12.01.2005 Generierung einer Boot CD mit
Protokoll von DOLINUX 12.01.2005
Generierung einer Boot CD mit ISO Linux
Wei Xie Xiaolong Yin Phung Quang Di
######################################################
#
geninitrd.sh
#
# Dieses Script erstellt die Initial-Ramdisk ,indem es die noetigen
# Devicedateien,Kommandos kopiert
######################################################
#!/bin/sh
modprobe loop
( cd /tmp
dd if=/dev/zero of=initrd.img bs=1M count=2
losetup /dev/loop0 initrd.img
mkfs -t ext2 /dev/loop0
mkdir initrd
mount /dev/loop0 initrd
cd initrd
mkdir bin
cp /bin/ash bin/sh
mkdir dev
cp -a /dev/console dev
cp -a /dev/null dev
cp -a /dev/tty dev
cp -a /dev/tty[0-9] dev
cp -a /dev/zero dev
mkdir etc
echo "/lib" > etc/ld.so.conf
mkdir lib
cp /lib/ld-linux.so.2 lib
cp /lib/libc.so.6 lib
(
echo "#!/bin/sh"
echo "echo test"
) > linuxrc
chmod 755 linuxrc
ldconfig -r `pwd`
cd ..
umount initrd
rmdir initrd
losetup -d /dev/loop0
gzip initrd.img
)
mv /tmp/initrd.img.gz initrd.bin
######################################################
# run the script initrd.sh to create compressed image filesystem
# initrd.bin
# generiere das script initrd.sh ,um ein komprimiertes Image
# Dateisystem zu erzeugen
######################################################
chmod 755 geninitrd
./geninitrd
######################################################
# Was wir brauchen,um eine CD ISO Image zu erstellen,ist in
# folgenden spezifiziert :
#
# 1) initrd.bin
# 2) isolinux.bin
# 3) isolinux.cfg
# 4) kernel image (dieses wird aus dem CD kopiert)
######################################################
######################################################
#
gencd.sh
#
# dieses Script kopiert alle benoetigten Dateien und ruft
# letztendlich "mkisofs" auf ,das ein bootfaehiges Iso Image
# erstellt
######################################################
#!/bin/sh
INITRDBIN=`pwd`/initrd.bin
mount /cdrom
( cd /tmp
mkdir cd
cd cd
mkdir isolinux
cp /cdrom/isolinux/isolinux.bin isolinux
(
echo 'DEFAULT linpci'
echo 'APPEND initrd=initrd.bin'
echo 'LABEL linux'
echo ' kernel linpci'
echo 'DISPLAY isolinux.txt'
echo 'TIMEOUT 0'
echo 'PROMPT 1'
) > isolinux/isolinux.cfg
(
echo 'Hello DOLINUX'
) > isolinux/isolinux.txt
cp ${INITRDBIN} isolinux
cp /cdrom/install/linpci isolinux
cd ..
mkisofs -r -o cd.iso \
-b
isolinux/isolinux.bin
isolinux/boot.cat \
-no-emul-boot
-boot-load-size
-boot-info-table \
cd
rm -rf cd
)
umount /cdrom
mv /tmp/cd.iso .
-c
4

Documentos relacionados