|
Message-ID: <20111027112607.GA12726@albatros> Date: Thu, 27 Oct 2011 15:26:07 +0400 From: Vasiliy Kulikov <segoon@...nwall.com> To: owl-dev@...ts.openwall.com Subject: Re: syslinux Hi, The rough patch for isolinux based ISOs (the patch obviously needs a cleanup): cvs diff: Diffing . Index: installisotree.sh =================================================================== RCS file: /home/cvs/cvsroot/Owl/build/installisotree.sh,v retrieving revision 1.18 diff -u -r1.18 installisotree.sh --- installisotree.sh 7 Sep 2011 00:40:50 -0000 1.18 +++ installisotree.sh 27 Oct 2011 11:25:20 -0000 @@ -55,11 +55,18 @@ # Should match exactly one file KERNEL_NAME="`echo vmlinuz-*`" ln -s "$KERNEL_NAME" vmlinuz -chroot "$ROOT" sh -c 'cd /boot && ./floppy-update.sh' +#cp "$KERNEL_NAME" vmlinuz + +mkdir -p "$ROOT/boot/isolinux/" +cp /usr/share/syslinux/isolinux.bin \ + "$ROOT/etc/isolinux.cfg" \ + "$ROOT/boot/message" \ + "$ROOT/boot/isolinux/" + # We'll mount the floppy image when CD-booted, so there's no need to keep a # second copy of the kernel image outside of the floppy image. -rm "$KERNEL_NAME" -ln -s floppy/boot/"$KERNEL_NAME" +# rm "$KERNEL_NAME" +# ln -s floppy/boot/"$KERNEL_NAME" mkdir -m700 floppy # depmod is normally run on bootup, but /lib/modules is read-only on CD @@ -70,27 +77,30 @@ cd "$ROOT/etc" sed -i '/^tmpfs[[:space:]]/d' fstab sed -i 's|^\(/dev/cdrom[[:space:]]*\).*|\1/\t\t\tiso9660\tro\t\t\t0 0|' fstab -echo -e '/boot/floppy.image /boot/floppy\t\text2\tloop,ro\t\t\t0 0' >> fstab sed -i 's|^\(~~:S:wait:\).*|\1/bin/bash --login|' inittab sed -i 's/^\(DISK_QUOTA=\)yes$/\1no/' vz/vz.conf -log "Installing sources" -cd "$ROOT/rom/world" -tar -cf- --owner=build --group=sources --exclude Root -C "$HOME" \ - "native/$BRANCH" Makefile | - tar -xf- -if [ "`uname -m`" = x86_64 ]; then - pushd "native/$BRANCH" - tar cjf packages.tar.bz2 --remove-files packages - popd +if [ "$COPY_SOURCES" != "NO" ]; then + log "Installing sources" + cd "$ROOT/rom/world" + tar -cf- --owner=build --group=sources --exclude Root -C "$HOME" \ + "native/$BRANCH" Makefile | + tar -xf- + if [ "`uname -m`" = x86_64 ]; then + pushd "native/$BRANCH" + tar cjf packages.tar.bz2 --remove-files packages + popd + fi + + cp -rpL "$HOME/RPMS" . + mkdir sources + cp -rpL "$HOME/sources/$BRANCH" sources/ + chown -hR build:sources . + chmod -R u=rwX,go=rX . +else + log "Skipping install sources" fi -cp -rpL "$HOME/RPMS" . -mkdir sources -cp -rpL "$HOME/sources/$BRANCH" sources/ -chown -hR build:sources . -chmod -R u=rwX,go=rX . - log "Preparing README files" cd "$ROOT" if [ "$BRANCH" = "Owl" ]; then Index: installorder.conf =================================================================== RCS file: /home/cvs/cvsroot/Owl/build/installorder.conf,v retrieving revision 1.138 diff -u -r1.138 installorder.conf --- installorder.conf 24 Oct 2011 12:29:26 -0000 1.138 +++ installorder.conf 27 Oct 2011 11:25:20 -0000 @@ -80,6 +80,7 @@ H:mdadm owl-startup H:lilo +H:syslinux H:silo H:prtconf H:losetup Index: makeiso.sh =================================================================== RCS file: /home/cvs/cvsroot/Owl/build/makeiso.sh,v retrieving revision 1.4 diff -u -r1.4 makeiso.sh --- makeiso.sh 14 Dec 2010 10:57:09 -0000 1.4 +++ makeiso.sh 27 Oct 2011 11:25:20 -0000 @@ -6,7 +6,8 @@ . installworld.conf ROOT="$ISOTREE_ROOT" -if [ ! -d "$ROOT" -o ! -r "$ROOT/boot/floppy.image" -o \ + +if [ ! -d "$ROOT" -o ! -r "$ROOT/boot/isolinux/isolinux.bin" -o \ "$(readlink -e "$ROOT")" = / ]; then echo >&2 "Invalid or unavailable ISOTREE_ROOT ($ROOT)" exit 1 @@ -21,10 +22,13 @@ ISO="$BRANCH-$(TZ=UTC date +%Y%m%d).iso" fi -if [ -z "$COMPRESS_ISO" ]; then - mkisofs -quiet -lRJ -b boot/floppy.image -c boot/boot.catalog \ - -o "$ISO" "$ROOT" -else - mkisofs -quiet -lRJ -b boot/floppy.image -c boot/boot.catalog "$ROOT" | - gzip -9 >"$ISO.gz" +mkisofs -quiet -lRJ \ + -no-emul-boot -boot-load-size 4 -boot-info-table \ + -hide-rr-moved \ + -b boot/isolinux/isolinux.bin \ + -c boot/isolinux/isolinux.cat \ + -o "$ISO" "$ROOT" + +if [ -n "$COMPRESS_ISO" ]; then + gzip -9 "$ISO" > "$ISO.gz" fi --- The isolinux.cfg: timeout 50 display /boot/message default normal prompt 1 label normal kernel /boot/vmlinuz append single rootfstype=iso9660 root=/dev/cdrom rootdelay=30 label safe kernel /boot/vmlinuz append single rootfstype=iso9660 root=/dev/cdrom rootdelay=30 acpi=ht label rescue kernel /boot/vmlinuz The image boots OK in QEMU. -- Vasiliy
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.