From d352ce6c3d6d8f7d4588dbf51ea479f2af89a7b2 Mon Sep 17 00:00:00 2001 From: makefu Date: Sun, 9 Mar 2014 22:31:18 +0100 Subject: ship:rename remaster_arch --- ship/src/remaster_arch_shack_installstick | 109 ++++++++++++++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100755 ship/src/remaster_arch_shack_installstick (limited to 'ship/src/remaster_arch_shack_installstick') diff --git a/ship/src/remaster_arch_shack_installstick b/ship/src/remaster_arch_shack_installstick new file mode 100755 index 00000000..5ac29473 --- /dev/null +++ b/ship/src/remaster_arch_shack_installstick @@ -0,0 +1,109 @@ +#!/bin/sh +#@include core +#@mainifyme + +## TODO: provide a parameter which defines what to be done in the new iso root +set -efu +isofile=${1:-archlinux-2013.06.01-dual.iso} +outfile=$(basename ${isofile%.iso}.krebs.iso) +info "outfile will be at $outfile" +bdir=${bdir:-$HOME/build/arch} +isodir=$bdir/iso +isomnt=$bdir/isomount +rootdir=$bdir/root +outdir=$bdir/out +auto_url=euer.krebsco.de/filepimp_installer +info "bdir is at $bdir" +[ ! -e "$isofile" ] && die "$isofile does not exist." +esudo "$@" + + +#punani install genisoimage + + +info "cleanup root dir" +rm -rf $bdir +mkdir -p $isomnt $rootdir +info "mounting isofile ($isofile)" +if is_root;then + mount -t iso9660 -o loop,ro $isofile $isomnt +else + die 'we are not root enough to mount the iso.' +fi +defer "info 'unmounting $isomnt';umount $isomnt" + +info "copying from '$isomnt' to '$isodir'" +cp -a "$isomnt" "$isodir" +defer "info 'removing $isodir';rm -rf $isodir" +info "extracting root-image squashfs" +# we will not touch the kernel ... yet + +for arch in x86_64 i686;do + info "unpacking $isomnt/arch/$arch/root-image.fs.sfs" + mkdir -p "$outdir/$arch" + defer "info 'removing $outdir/$arch';rm -rf $outdir/$arch" + mkdir -p "$rootdir/$arch" + defer "info 'removing $rootdir/$arch';rm -rf $rootdir/$arch" + unsquashfs -f -d "$outdir/$arch" "$isodir/arch/$arch/root-image.fs.sfs" + + mount "$outdir/$arch/root-image.fs" "$rootdir/$arch" + defer "info 'unmounting $rootdir/$arch';umount $rootdir/$arch||info 'not mounted'" + + info "Starting of the rootdir verkrepelung" + # do the magic here + arch-chroot $rootdir/$arch <> /root/.zshrc< /krebs/autoinstall </dev/null 2>&1; } +while ! internet;do + echo "no Internet yet, waiting ..." + sleep 3 +done + +echo "Grabbing current version of install-script from $auto_url" +echo +echo "AGENTS ARE GOOOOOOOOOOO!" +curl $auto_url 2>/dev/null | sh +EOL +chmod 755 /krebs/autoinstall +EOF + info "deleting old squashfs" + rm "$isodir/arch/$arch/root-image.fs.sfs" + info "creating squashfs at $isodir/arch/$arch/root-image.fs.sfs" + umount "$rootdir/$arch" + mksquashfs "$outdir/$arch/root-image.fs" "$isodir/arch/$arch/root-image.fs.sfs" +done + +info "creating Iso Image" +#genisoimage -l -r -J -V "ARCH_$(date +%Y%m)" \ +# -b isolinux/isolinux.bin -no-emul-boot \ +# -boot-load-size 4 -boot-info-table -c isolinux/boot.cat \ +# -o "$outdir/$outfile" "$isodir" +rm -f "${outdir}/${outfile}" +xorriso -as mkisofs \ + -iso-level 3 \ + -full-iso9660-filenames \ + -volid "ARCH_201311" \ + -appid "Shackspace Krebs Installer" \ + -publisher "Shackspace/Krebs" \ + -preparer "prepared by krebs" \ + -eltorito-boot isolinux/isolinux.bin \ + -eltorito-catalog isolinux/boot.cat \ + -no-emul-boot -boot-load-size 4 -boot-info-table \ + -isohybrid-mbr ${isomnt}/isolinux/isohdpfx.bin \ + -output "${outdir}/${outfile}" \ + "$isodir" + -- cgit v1.2.3 From ee63a28d029408a9a3012917a5169df5addd239a Mon Sep 17 00:00:00 2001 From: makefu Date: Mon, 10 Mar 2014 23:06:50 +0100 Subject: add volid finder for remastering scripts --- ship/src/remaster_arch_shack_installstick | 34 +++++++++++++++++-------------- 1 file changed, 19 insertions(+), 15 deletions(-) (limited to 'ship/src/remaster_arch_shack_installstick') diff --git a/ship/src/remaster_arch_shack_installstick b/ship/src/remaster_arch_shack_installstick index 5ac29473..364e1958 100755 --- a/ship/src/remaster_arch_shack_installstick +++ b/ship/src/remaster_arch_shack_installstick @@ -1,23 +1,26 @@ #!/bin/sh #@include core +#@include iso #@mainifyme ## TODO: provide a parameter which defines what to be done in the new iso root set -efu -isofile=${1:-archlinux-2013.06.01-dual.iso} -outfile=$(basename ${isofile%.iso}.krebs.iso) +isofile="${1:-archlinux-2013.06.01-dual.iso}" +outfile="$(basename "${isofile%.iso}".krebs.iso)" info "outfile will be at $outfile" -bdir=${bdir:-$HOME/build/arch} -isodir=$bdir/iso -isomnt=$bdir/isomount -rootdir=$bdir/root -outdir=$bdir/out -auto_url=euer.krebsco.de/filepimp_installer +bdir="${bdir:-$HOME/build/arch}" +isodir="$bdir/iso" +isomnt="$bdir/isomount" +rootdir="$bdir/root" +outdir="$bdir/out" +echo "$outdir/$outfile" +auto_url=euer.krebsco.de/arch_autoinstall info "bdir is at $bdir" [ ! -e "$isofile" ] && die "$isofile does not exist." +arch_label="$(get_volid "$isofile")" +info "Arch iso label is ${arch_label}" esudo "$@" - #punani install genisoimage @@ -26,17 +29,18 @@ rm -rf $bdir mkdir -p $isomnt $rootdir info "mounting isofile ($isofile)" if is_root;then - mount -t iso9660 -o loop,ro $isofile $isomnt + mount -t iso9660 -o loop,ro "$isofile" "$isomnt" else die 'we are not root enough to mount the iso.' fi -defer "info 'unmounting $isomnt';umount $isomnt" +defer "info 'unmounting $isomnt';umount \"$isomnt\"" info "copying from '$isomnt' to '$isodir'" cp -a "$isomnt" "$isodir" defer "info 'removing $isodir';rm -rf $isodir" + info "extracting root-image squashfs" -# we will not touch the kernel ... yet + for arch in x86_64 i686;do info "unpacking $isomnt/arch/$arch/root-image.fs.sfs" @@ -51,7 +55,7 @@ for arch in x86_64 i686;do info "Starting of the rootdir verkrepelung" # do the magic here - arch-chroot $rootdir/$arch <> /root/.zshrc< Date: Thu, 13 Mar 2014 21:05:45 +0100 Subject: generalize install stick remastering --- ship/src/remaster_arch_shack_installstick | 47 +++++++++++++------------------ 1 file changed, 19 insertions(+), 28 deletions(-) (limited to 'ship/src/remaster_arch_shack_installstick') diff --git a/ship/src/remaster_arch_shack_installstick b/ship/src/remaster_arch_shack_installstick index 364e1958..ea594fb2 100755 --- a/ship/src/remaster_arch_shack_installstick +++ b/ship/src/remaster_arch_shack_installstick @@ -5,23 +5,20 @@ ## TODO: provide a parameter which defines what to be done in the new iso root set -efu -isofile="${1:-archlinux-2013.06.01-dual.iso}" -outfile="$(basename "${isofile%.iso}".krebs.iso)" +isofile=${1:-archlinux-2013.06.01-dual.iso} +outfile=$(basename ${isofile%.iso}.krebs.iso) info "outfile will be at $outfile" -bdir="${bdir:-$HOME/build/arch}" -isodir="$bdir/iso" -isomnt="$bdir/isomount" -rootdir="$bdir/root" -outdir="$bdir/out" -echo "$outdir/$outfile" -auto_url=euer.krebsco.de/arch_autoinstall +bdir=${bdir:-$HOME/build/arch} +isodir=$bdir/iso +isomnt=$bdir/isomount +rootdir=$bdir/root +outdir=$bdir/out +auto_url=${2:conf.krebsco.de/arch_autoinstall} info "bdir is at $bdir" [ ! -e "$isofile" ] && die "$isofile does not exist." +esudo "$@" arch_label="$(get_volid "$isofile")" info "Arch iso label is ${arch_label}" -esudo "$@" - -#punani install genisoimage info "cleanup root dir" @@ -29,18 +26,17 @@ rm -rf $bdir mkdir -p $isomnt $rootdir info "mounting isofile ($isofile)" if is_root;then - mount -t iso9660 -o loop,ro "$isofile" "$isomnt" + mount -t iso9660 -o loop,ro $isofile $isomnt else die 'we are not root enough to mount the iso.' fi -defer "info 'unmounting $isomnt';umount \"$isomnt\"" +defer "info 'unmounting $isomnt';umount $isomnt" info "copying from '$isomnt' to '$isodir'" cp -a "$isomnt" "$isodir" defer "info 'removing $isodir';rm -rf $isodir" - info "extracting root-image squashfs" - +# we will not touch the kernel ... yet for arch in x86_64 i686;do info "unpacking $isomnt/arch/$arch/root-image.fs.sfs" @@ -55,7 +51,7 @@ for arch in x86_64 i686;do info "Starting of the rootdir verkrepelung" # do the magic here - arch-chroot "$rootdir/$arch" <> /root/.zshrc< EOD /krebs/autoinstall EOL + mkdir /krebs cat > /krebs/autoinstall </dev/null 2>&1; } @@ -80,7 +75,7 @@ done echo "Grabbing current version of install-script from $auto_url" echo echo "AGENTS ARE GOOOOOOOOOOO!" -curl $auto_url 2>/dev/null | sh +curl "$auto_url" 2>/dev/null | sh -s "\\\$@" EOL chmod 755 /krebs/autoinstall EOF @@ -88,26 +83,22 @@ EOF rm "$isodir/arch/$arch/root-image.fs.sfs" info "creating squashfs at $isodir/arch/$arch/root-image.fs.sfs" umount "$rootdir/$arch" - mksquashfs "$outdir/$arch/root-image.fs" "$isodir/arch/$arch/root-image.fs.sfs" + mksquashfs "$outdir/$arch/root-image.fs" "$isodir/arch/$arch/root-image.fs.sfs" done info "creating Iso Image" -#genisoimage -l -r -J -V "ARCH_$(date +%Y%m)" \ -# -b isolinux/isolinux.bin -no-emul-boot \ -# -boot-load-size 4 -boot-info-table -c isolinux/boot.cat \ -# -o "$outdir/$outfile" "$isodir" rm -f "${outdir}/${outfile}" xorriso -as mkisofs \ -iso-level 3 \ -full-iso9660-filenames \ - -volid "$arch_label" \ + -volid "ARCH_201311" \ -appid "Shackspace Krebs Installer" \ -publisher "Shackspace/Krebs" \ -preparer "prepared by krebs" \ -eltorito-boot isolinux/isolinux.bin \ -eltorito-catalog isolinux/boot.cat \ -no-emul-boot -boot-load-size 4 -boot-info-table \ - -isohybrid-mbr "${isomnt}/isolinux/isohdpfx.bin" \ + -isohybrid-mbr ${isomnt}/isolinux/isohdpfx.bin \ -output "${outdir}/${outfile}" \ "$isodir" -- cgit v1.2.3 From d13ad30fdbf0638cf019f9e3888e5c1c6afd11ef Mon Sep 17 00:00:00 2001 From: makefu Date: Fri, 14 Mar 2014 23:28:12 +0100 Subject: fix broken arch remaster script --- ship/src/remaster_arch_shack_installstick | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'ship/src/remaster_arch_shack_installstick') diff --git a/ship/src/remaster_arch_shack_installstick b/ship/src/remaster_arch_shack_installstick index ea594fb2..3ad985af 100755 --- a/ship/src/remaster_arch_shack_installstick +++ b/ship/src/remaster_arch_shack_installstick @@ -13,13 +13,13 @@ isodir=$bdir/iso isomnt=$bdir/isomount rootdir=$bdir/root outdir=$bdir/out -auto_url=${2:conf.krebsco.de/arch_autoinstall} +auto_url=${2:-conf.krebsco.de/arch_autoinstall} info "bdir is at $bdir" [ ! -e "$isofile" ] && die "$isofile does not exist." esudo "$@" arch_label="$(get_volid "$isofile")" info "Arch iso label is ${arch_label}" - +info "auto_url is $auto_url" info "cleanup root dir" rm -rf $bdir @@ -59,7 +59,7 @@ Just Wait until everything finished. - Make sure that RJ45 is connected - you can bail out of the progress at any time with CTRL-C - /krebs/autoinstall + /krebs/autoinstall (args) EOD /krebs/autoinstall EOL @@ -91,7 +91,7 @@ rm -f "${outdir}/${outfile}" xorriso -as mkisofs \ -iso-level 3 \ -full-iso9660-filenames \ - -volid "ARCH_201311" \ + -volid "${arch_label}" \ -appid "Shackspace Krebs Installer" \ -publisher "Shackspace/Krebs" \ -preparer "prepared by krebs" \ -- cgit v1.2.3