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