#!/bin/bash # ----------------------------------------------------------------------------- # Copyright (c) 2011 - OpenSLX GmbH # # This program is free software distributed under the GPL version 2. # See http://openslx.org/COPYING # # If you have any feedback please consult http://openslx.org/feedback and # send your suggestions, praise, or complaints to feedback@openslx.org # # General information about OpenSLX can be found at http://openslx.org/ # ----------------------------------------------------------------------------- # PreBoot ISO image creation utility # ----------------------------------------------------------------------------- ROOT_DIR=$(dirname $(readlink -f $0)) SYSLINUX=$ROOT_DIR/contrib/syslinux/latest PATH="$PATH:$ROOT_DIR/bin/" [ ! -f $SYSLINUX/Makefile ] && env.setup-syslinux.sh mkdir -p /tmp/openslx-iso/isolinux [ ! -f $ROOT_DIR/build/kernel-preboot-latest ] && build.kernel.sh cp -v $ROOT_DIR/build/kernel-preboot-latest /tmp/openslx-iso/isolinux/kernel #[ ! -f $ROOT_DIR/build/initramfs-default ] && build.initramfs.sh build.initramfs.sh cp -v $ROOT_DIR/build/initramfs-default /tmp/openslx-iso/isolinux/initramfs cp -v $SYSLINUX/com32/menu/menu.c32 /tmp/openslx-iso/isolinux/ cp -v $SYSLINUX/com32/menu/vesamenu.c32 /tmp/openslx-iso/isolinux/ # exchange this for another theme cp -v ${ROOT_DIR}/config/extlinux/pbs2.png /tmp/openslx-iso/isolinux/ sed -e "s,USB,ISO," $ROOT_DIR/config/extlinux/extlinux.conf \ > /tmp/openslx-iso/isolinux/isolinux.cfg # add tools needed for menu setup and ramdisk environment cp ${SYSLINUX}/core/isolinux.bin ${SYSLINUX}/com32/menu/vesamenu.c32 \ ${SYSLINUX}/com32/menu/menu.c32 /tmp/openslx-iso/isolinux/ # create an autorun.inf file echo -en "icon=\boot\openslx.ico,0\r\nlabel=OpenSLX PreBoot Linux\r\n" \ > /tmp/openslx-iso/autorun.inf cp COPYING /tmp/openslx-iso/copying.txt # generate the ISO image echo "[make-boot-iso]\t\tGenerating the ISO image" genisoimage -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 \ -r -J -l -boot-info-table -o ./openslx.iso -hide-list config/hide.conf \ -abstract /tmp/openslx-iso/isolinux/info.txt -relaxed-filenames \ -biblio /tmp/openslx-iso/isolinux/info.txt -publisher "OpenSLX GmbH" \ -p "OpenSLX Project, http://lab.openslx.org, info@openslx.org" \ -V "OpenSLX PreBoot Linux ISO Image" -input-charset iso8859-1 \ -volset "PreBoot Linux of the OpenSLX Project" -joliet-long \ -copyright /tmp/openslx-iso/copying.txt /tmp/openslx-iso/ 2>/dev/null echo "[make-boot-iso]\t\tOpenSLX PreBoot image created."