[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [tyndur-devel] [PATCH] ElTorito-CD-Images



Am Dienstag, 7. April 2009 22:46 schrieb Alexander Siol:
> Index: build/scripts/image_cdrom
> ===================================================================
> --- build/scripts/image_cdrom   (Revision 1085)
> +++ build/scripts/image_cdrom   (Arbeitskopie)
> @@ -37,6 +37,8 @@
>  ROOT_COMMON=build/root-common
>  ROOT_CDROM=build/root-cdrom
>
> +STAGE2_ELTORITO=/usr/lib/grub/i386-pc/stage2_eltorito
> +
>  export PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin
>
>  source build/config/image_cdrom.sh
> @@ -46,6 +48,28 @@
>
>  export MTOOLSRC=lostmtools.conf
>
> +if [ -f $STAGE2_ELTORITO ]; then # Eltorito
> +
> +    mkdir -p $ROOT_CDROM/boot/grub
> +    cp $STAGE2_ELTORITO $ROOT_CDROM/boot/grub/stage2_eltorito
> +    cp build/config/grub_cdrom_eltorito.cfg $ROOT_CDROM/boot/grub/menu.lst

Ich glaube, da wäre $ROOT angebrachter, das ist zumindest halbwegs temporär 
(wird auch beim make clean gelöscht) und wird schon jetzt beim Buildvorgang 
befüllt. $ROOT_CDROM ist eigentlich Defaultkonfiguration, die unverändert aus 
dem Repo kommt.

> +
> +    # Fix für uppercase-Pfade in ISO9660-Dateisystemen.
> +    # Ohne wird grub die menu.lst nicht finden.
> +    sed -i "s/boot\/grub\/menu.lst/BOOT\/GRUB\/MENU.LST/g"
> $ROOT_CDROM/boot/grub/stage2_eltorito +
> +    mkisofs -b boot/grub/stage2_eltorito -no-emul-boot \
> +        -boot-load-size 4 -boot-info-table -o $IMAGE_PATH \
> +        $ROOT $ROOT_COMMON $ROOT_CDROM
> +
> +    rm -rf $ROOT_CDROM/boot

Den kann man dann weglassen, wenn man in $ROOT arbeitet. Ein bedingungsloses 
rm -rf ist immer dann ungünstig, wenn was schiefgeht und man hinterher keine 
Chance mehr hat nachzuvollziehen, warum eigentlich.

> +    echo "CD-Image erfolgreich erstellt!"
> +    echo "Verwendete Methode: Eltorito"
> +    exit
> +fi
> +
> +# Floopy-Emulation

Floppy ;-)

> +
>  # Konfigurationsdatei fuer mtools generieren
>  cat << EOF > $MTOOLSRC
>  drive l:
> @@ -90,3 +114,6 @@
>  cp $FLOPPY_IMAGE_PATH $ROOT_CDROM
>  mkisofs -b $(basename $FLOPPY_IMAGE_PATH) -o $IMAGE_PATH $ROOT
> $ROOT_COMMON $ROOT_CDROM rm $ROOT_CDROM/$(basename $FLOPPY_IMAGE_PATH)
> +
> +echo "CD-Image erfolgreich erstellt!"
> +echo "Verwendete Methode: Floppy-Emulation"
> Index: build/config/grub_cdrom_eltorito.cfg
> ===================================================================
> --- build/config/grub_cdrom_eltorito.cfg        (Revision 0)
> +++ build/config/grub_cdrom_eltorito.cfg        (Revision 0)
> @@ -0,0 +1,8 @@
> +title tyndur
> +kernel /BOOT/TYNDUR debug=s
> +module /MODULES/INIT boot=file:/
> +module /MODULES/ATA
> +module /MODULES/ISO9660
> +module /MODULES/CONSOLE servmgr:/term servmgr:/term
> +module /MODULES/SERVMGR ata:/atapi10|iso9660:/ vterm:/vterm8/out ata
> iso9660 console +boot

Ansonsten sehe ich keine Probleme damit.