[arch-commits] Commit in mkbootcd/repos (6 files)

Pierre Schmitz pierre at archlinux.org
Sat Sep 10 08:05:34 UTC 2011


    Date: Saturday, September 10, 2011 @ 04:05:33
  Author: pierre
Revision: 137620

archrelease: copy trunk to extra-any

Added:
  mkbootcd/repos/extra-any/
  mkbootcd/repos/extra-any/PKGBUILD
    (from rev 137619, mkbootcd/trunk/PKGBUILD)
  mkbootcd/repos/extra-any/boot.msg
    (from rev 137619, mkbootcd/trunk/boot.msg)
  mkbootcd/repos/extra-any/mkbootcd
    (from rev 137619, mkbootcd/trunk/mkbootcd)
  mkbootcd/repos/extra-any/mkbootcd.conf
    (from rev 137619, mkbootcd/trunk/mkbootcd.conf)
  mkbootcd/repos/extra-any/options.msg
    (from rev 137619, mkbootcd/trunk/options.msg)

---------------+
 PKGBUILD      |   25 +++++++++
 boot.msg      |   14 +++++
 mkbootcd      |  143 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 mkbootcd.conf |   38 ++++++++++++++
 options.msg   |    6 ++
 5 files changed, 226 insertions(+)

Copied: mkbootcd/repos/extra-any/PKGBUILD (from rev 137619, mkbootcd/trunk/PKGBUILD)
===================================================================
--- extra-any/PKGBUILD	                        (rev 0)
+++ extra-any/PKGBUILD	2011-09-10 08:05:33 UTC (rev 137620)
@@ -0,0 +1,25 @@
+# $Id$
+# Maintainer : Tobias Powalowski <tpowa at archlinux.org>
+
+pkgname=mkbootcd
+pkgver=2008.09
+pkgrel=2
+pkgdesc="Advanced, modular isolinux bootcd image creation utility"
+arch=('any')
+license=('GPL')
+url="http://www.archlinux.org/"
+depends=('mkinitcpio' 'cdrkit' 'syslinux')
+source=('boot.msg' 'mkbootcd' 'mkbootcd.conf' 'options.msg')
+backup=('etc/mkbootcd.conf')
+md5sums=('d02e111f81204044644f728ff85e2284'
+         'bfae68f0a5168bd41f8d0c56f524fb08'
+         'e08b9b952b5e468feb16e3f20ee3faf2'
+         'fa078942b8adf261e4d925e080dc3018')
+
+package() {
+  cd $srcdir
+  install -D -m755 mkbootcd $pkgdir/usr/sbin/mkbootcd
+  install -D -m644 mkbootcd.conf $pkgdir/etc/mkbootcd.conf
+  install -D -m644 boot.msg $pkgdir/usr/share/mkbootcd/boot.msg
+  install -D -m644 options.msg $pkgdir/usr/share/mkbootcd/options.msg
+}

Copied: mkbootcd/repos/extra-any/boot.msg (from rev 137619, mkbootcd/trunk/boot.msg)
===================================================================
--- extra-any/boot.msg	                        (rev 0)
+++ extra-any/boot.msg	2011-09-10 08:05:33 UTC (rev 137620)
@@ -0,0 +1,14 @@
+
+
+------------------------------------------------------------------------------
+Arch Linux
+ISOLINUX BOOT
+created with 'mkbootcd' written by Tobias Powalowski <tpowa at archlinux.org>
+
+Press ENTER or type 'arch' to boot the CD.
+
+If you wish to change your defaults to boot into your existing system,
+type 'vmlinuz initrd=initrd.img <any_other_boot_option>'
+Use the F2 key for troubleshooting and options.
+------------------------------------------------------------------------------
+

Copied: mkbootcd/repos/extra-any/mkbootcd (from rev 137619, mkbootcd/trunk/mkbootcd)
===================================================================
--- extra-any/mkbootcd	                        (rev 0)
+++ extra-any/mkbootcd	2011-09-10 08:05:33 UTC (rev 137620)
@@ -0,0 +1,143 @@
+#! /bin/sh
+# Created by Tobias Powalowski <tpowa at archlinux.org>
+# Settings
+APPNAME=$(basename "${0}")
+CONFIG="/etc/mkbootcd.conf"
+GENIMG=""
+BURN="0"
+BLANK="0"
+GRUB="0"
+TARNAME=""
+export TEMPDIR=$(mktemp /tmp/mkbootcd.XXXX)
+usage ()
+{
+    echo "${APPNAME}: usage"
+    echo "  -g=IMAGE         Generate a ISO image as IMAGE"
+    echo "  -c=CONFIG        Use CONFIG file. default: /etc/mkbootcd.conf"
+    echo "  -B               Burn the ISO image after creation"
+    echo "  -b               Blanking media first"
+    echo "  -grub            Use grub instead of isolinux"
+    echo "  -t=TARNAME       Generate a tar image instead of an iso image"
+    echo "  -h               This message."
+    exit 1
+}
+
+[ "$1" == "" ] && usage
+
+while [ $# -gt 0 ]; do
+	case $1 in
+		-c=*|--c=*) CONFIG="$(echo $1 | awk -F= '{print $2;}')" ;;
+		-g=*|--g=*) GENIMG="$(echo $1 | awk -F= '{print $2;}')" ;;
+		-B|--B) BURN="1" ;;
+		-b|--b) BLANK="1" ;;
+		-grub|--grub) GRUB="1" ;;
+		-t=*|--t=*) TARNAME="$(echo $1 | awk -F= '{print $2;}')" ;;
+		-h|--h|?) usage ;; 
+		*) usage ;;
+		esac
+	shift
+done
+
+if [ "${TARNAME}" = "" -a "${GENIMG}" = "" ]; then 
+	echo "ERROR: No image name specified, please use the -g option"
+	exit 1
+fi
+
+if [ ! -f "${CONFIG}" ]; then
+	echo "config file '${CONFIG}' cannot be found, aborting..."
+	exit 1
+fi
+
+. "${CONFIG}"
+# export for mkinitcpio
+[ -n "${APPENDBOOTMESSAGE}" ] && export APPENDBOOTMESSAGE
+[ -n "${APPENDBOOTMESSAGE_SYSLINUX}" ] && export APPENDBOOTMESSAGE_SYSLINUX
+[ -n "${APPENDBOOTMESSAGE_SYSLINUX_LOWMEM}" ] && export APPENDBOOTMESSAGE_SYSLINUX_LOWMEM
+[ -n "${APPENDOPTIONSBOOTMESSAGE}" ] && export APPENDOPTIONSBOOTMESSAGE
+
+if [ "$GRUB" = "1" ]; then
+	export RUNPROGRAM="${APPNAME}-grub"
+	export BOOTDIRNAME="boot"
+else
+	export RUNPROGRAM="${APPNAME}"
+	export BOOTDIRNAME="isolinux"
+fi
+[ "${BOOTMESSAGE}" = "" ] && export BOOTMESSAGE=$(mktemp /tmp/bootmessage.XXXX)
+[ "${OPTIONSBOOTMESSAGE}" = "" ] && export OPTIONSBOOTMESSAGE=$(mktemp /tmp/optionsbootmessage.XXXX)
+[ "${ISONAME}" = "" ] && export ISONAME=$(mktemp /tmp/isoname.XXXX)
+export USEKERNEL=${VERSION}
+# begin script
+[ -e ${TEMPDIR} ] && rm -r ${TEMPDIR}
+mkdir -p ${TEMPDIR}/${BOOTDIRNAME}
+if [ "$GRUB" = "1" ]; then
+	mkdir ${TEMPDIR}/${BOOTDIRNAME}/grub
+	install -m755 /usr/share/grub/i386-pc/stage2_eltorito ${TEMPDIR}/${BOOTDIRNAME}/grub/stage2_eltorito
+else
+	install -m755 /usr/lib/syslinux/isolinux.bin ${TEMPDIR}/${BOOTDIRNAME}/isolinux.bin
+fi
+# create isolinux.cfg
+if [ "$GRUB" = "1" ]; then
+	echo ":: Creating menu.lst ..."
+	[ ! -e "${MENULST}" ] && echo "No menu.lst found" && exit 1
+	sed "s|@@PROMPT@@|${PROMPT}|g;s|@@TIMEOUT@@|${TIMEOUT}|g;s|@@KERNEL_BOOT_OPTIONS@@|${KERNEL_BOOT_OPTIONS}|g" \
+		${MENULST} \
+		> ${TEMPDIR}/${BOOTDIRNAME}/grub/menu.lst
+else
+	echo ":: Creating isolinux.cfg ..."
+	if [ "${ISOLINUXCFG}" = "" ]; then
+		[ -e  ${TEMPDIR}/${BOOTDIRNAME}/isolinux.cfg ] && rm  ${TEMPDIR}/${BOOTDIRNAME}/isolinux.cfg
+		echo "prompt ${PROMPT}" >>  ${TEMPDIR}/${BOOTDIRNAME}/isolinux.cfg
+		echo "timeout ${TIMEOUT}" >>  ${TEMPDIR}/${BOOTDIRNAME}/isolinux.cfg
+		echo "display boot.msg" >>  ${TEMPDIR}/${BOOTDIRNAME}/isolinux.cfg
+		echo "F1 boot.msg" >>  ${TEMPDIR}/${BOOTDIRNAME}/isolinux.cfg
+		echo "F2 options.msg" >>  ${TEMPDIR}/${BOOTDIRNAME}/isolinux.cfg
+		echo "default arch"  >>  ${TEMPDIR}/${BOOTDIRNAME}/isolinux.cfg
+		echo "label arch" >>  ${TEMPDIR}/${BOOTDIRNAME}/isolinux.cfg
+		echo "kernel vmlinuz" >>  ${TEMPDIR}/${BOOTDIRNAME}/isolinux.cfg
+		echo "append initrd=initrd.img ${KERNEL_BOOT_OPTIONS}" >>  ${TEMPDIR}/${BOOTDIRNAME}/isolinux.cfg
+	else
+	sed "s|@@PROMPT@@|${PROMPT}|g;s|@@TIMEOUT@@|${TIMEOUT}|g;s|@@KERNEL_BOOT_OPTIONS@@|${KERNEL_BOOT_OPTIONS}|g" \
+		${ISOLINUXCFG} > ${TEMPDIR}/${BOOTDIRNAME}/isolinux.cfg
+	fi
+	[ ! -s ${TEMPDIR}/${BOOTDIRNAME}/isolinux.cfg ] && echo "No isolinux.cfg found" && exit 1
+fi
+echo ":: Calling mkinitcpio CONFIG=${MKINITCPIO_CONFIG} KERNEL=${VERSION} ..." 
+# generate initramdisk
+echo ":: Creating initramdisk ..."
+	mkinitcpio -c ${MKINITCPIO_CONFIG} -k ${VERSION} -g ${TEMPDIR}/${BOOTDIRNAME}/initrd.img
+echo ":: Using ${KERNEL} as image kernel ..."
+	install -m644 ${KERNEL} ${TEMPDIR}/${BOOTDIRNAME}/vmlinuz
+	install -m644 ${BOOTMESSAGE} ${TEMPDIR}/${BOOTDIRNAME}/boot.msg
+	install -m644 ${OPTIONSBOOTMESSAGE} ${TEMPDIR}/${BOOTDIRNAME}/options.msg
+	[ ! -s ${TEMPDIR}/${BOOTDIRNAME}/boot.msg ] && echo 'ERROR:no boot.msg found, aborting!' && exit 1
+	[ ! -s ${TEMPDIR}/${BOOTDIRNAME}/options.msg ] && echo 'ERROR:no options.msg found, aborting!' && exit 1
+# create image
+if ! [ "${TARNAME}" = "" ]; then
+	echo ":: Creating tar image ..."
+	[ -e ${TARNAME} ] && rm ${TARNAME}
+	rm ${TEMPDIR}/arch/pkg/*.pkg.tar.gz > /dev/null 2>&1
+	tar cfv ${TARNAME} ${TEMPDIR} > /dev/null 2>&1 && echo ":: tar Image succesfull created at ${TARNAME}"
+else
+	echo ":: Creating ISO image ..."
+		[ -e ${GENIMG} ] && rm ${GENIMG}
+		[ -s "${ISONAME}" ] && ISONAME=$(cat $ISONAME) || ISONAME="Arch Linux"
+		if [ "$GRUB" = "1" ]; then
+			mkisofs -RlDJLV "${ISONAME}" -b boot/grub/stage2_eltorito -c boot/boot.cat \
+				-no-emul-boot -boot-load-size 4 -boot-info-table -o ${GENIMG} ${TEMPDIR}/ > /dev/null 2>&1
+		else
+			mkisofs -RlDJLV "${ISONAME}" -b isolinux/isolinux.bin -c isolinux/boot.cat \
+				-no-emul-boot -boot-load-size 4 -boot-info-table -o ${GENIMG} ${TEMPDIR}/ > /dev/null 2>&1
+		fi
+		[ $? -ne 0 ] && echo ":: ISO Image succesfull created at ${GENIMG}"
+	# burning/blanking image
+	if [ "$BLANK" = "1" ]; then
+		echo ":: Blanking media DEVICE=${DEVICE}, BLANKMODE=${BLANKMODE}, SPEED=${SPEED} ..."
+			cdrecord dev=${DEVICE} speed=${SPEED} blank=${BLANKMODE} > /dev/null 2>&1 && echo ":: Successfull."
+	fi
+	if [ "$BURN" = "1" ]; then
+		echo ":: Burning ISO image DEVICE=${DEVICE}, SPEED=${SPEED} ..."
+			cdrecord dev=${DEVICE} speed=${SPEED} -eject ${GENIMG}  > /dev/null 2>&1 && echo ":: Successfull."
+	fi
+fi
+# clean /tmp
+rm -r ${TEMPDIR}

Copied: mkbootcd/repos/extra-any/mkbootcd.conf (from rev 137619, mkbootcd/trunk/mkbootcd.conf)
===================================================================
--- extra-any/mkbootcd.conf	                        (rev 0)
+++ extra-any/mkbootcd.conf	2011-09-10 08:05:33 UTC (rev 137620)
@@ -0,0 +1,38 @@
+# Created by Tobias Powalowski <tpowa at archlinux.org>
+# config file of mkbootcd
+
+# DEFAULT kernel boot options like root=/dev/hda3 etc.
+# add your root= option, if you boot from a disk device
+# and don't want to add it by hand on each boot
+KERNEL_BOOT_OPTIONS=""
+
+# mkinitcpio config file, defaulted to stock config file
+MKINITCPIO_CONFIG="/etc/mkinitcpio.conf"
+
+# kernel version, defaulted to build for runtime kernel
+VERSION="$(uname -r)"
+
+# kernel image, defaulted to stock arch kernel
+KERNEL="/boot/vmlinuz26"
+
+# boot message files
+BOOTMESSAGE="/usr/share/mkbootcd/boot.msg"
+OPTIONSBOOTMESSAGE="/usr/share/mkbootcd/options.msg"
+
+# menu.lst or isolinux.cfg file to use
+ISOLINUXCFG=""
+MENULST=""
+
+# Prompt on CD boot, defaulted to yes, 1=yes 0=no
+PROMPT="1"
+
+# Name of the ISO, if empty Arch Linux is used if not set by a HOOK later
+ISONAME=""
+
+# Timeout in seconds on CD boot, defaulted to 0, because we prompt by default
+TIMEOUT="0"
+
+# Setting cdrecord options
+DEVICE=""
+SPEED=""
+BLANKMODE=""
\ No newline at end of file

Copied: mkbootcd/repos/extra-any/options.msg (from rev 137619, mkbootcd/trunk/options.msg)
===================================================================
--- extra-any/options.msg	                        (rev 0)
+++ extra-any/options.msg	2011-09-10 08:05:33 UTC (rev 137620)
@@ -0,0 +1,6 @@
+------------------------------------------------------------------------------
+Arch Linux options and troubleshooting:
+
+- If your system hangs during the boot process, any combinations of the
+  boot options noapic acpi=off pci=routeirq nosmp may be useful.
+------------------------------------------------------------------------------
\ No newline at end of file




More information about the arch-commits mailing list