From 3da300ce56b9ba51a9bc1639deefdc8d91a77343 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Fabian=20Silva=20Delgado?= Date: Mon, 25 Mar 2013 11:26:29 -0300 Subject: adding new packages for rebranding --- libre/lilo/PKGBUILD | 6 +- libre/lilo/lilo.conf | 6 +- libre/mime-types/PKGBUILD | 23 +++++++ libre/mime-types/parabola.patch | 7 ++ libre/mkbootcd/PKGBUILD | 25 +++++++ libre/mkbootcd/boot.msg | 15 ++++ libre/mkbootcd/mkbootcd | 144 +++++++++++++++++++++++++++++++++++++++ libre/mkbootcd/mkbootcd.conf | 39 +++++++++++ libre/mkbootcd/options.msg | 6 ++ libre/mkisolinux/PKGBUILD | 27 ++++++++ libre/mkisolinux/boot.msg | 15 ++++ libre/mkisolinux/mkisolinux | 117 +++++++++++++++++++++++++++++++ libre/mkisolinux/mkisolinux.conf | 39 +++++++++++ libre/mkisolinux/options.msg | 6 ++ libre/mkpxelinux/PKGBUILD | 27 ++++++++ libre/mkpxelinux/boot.msg | 14 ++++ libre/mkpxelinux/mkpxelinux | 91 +++++++++++++++++++++++++ libre/mkpxelinux/mkpxelinux.conf | 37 ++++++++++ libre/mkpxelinux/options.msg | 6 ++ 19 files changed, 644 insertions(+), 6 deletions(-) create mode 100644 libre/mime-types/PKGBUILD create mode 100644 libre/mime-types/parabola.patch create mode 100644 libre/mkbootcd/PKGBUILD create mode 100644 libre/mkbootcd/boot.msg create mode 100755 libre/mkbootcd/mkbootcd create mode 100644 libre/mkbootcd/mkbootcd.conf create mode 100644 libre/mkbootcd/options.msg create mode 100644 libre/mkisolinux/PKGBUILD create mode 100644 libre/mkisolinux/boot.msg create mode 100755 libre/mkisolinux/mkisolinux create mode 100644 libre/mkisolinux/mkisolinux.conf create mode 100644 libre/mkisolinux/options.msg create mode 100644 libre/mkpxelinux/PKGBUILD create mode 100644 libre/mkpxelinux/boot.msg create mode 100755 libre/mkpxelinux/mkpxelinux create mode 100644 libre/mkpxelinux/mkpxelinux.conf create mode 100644 libre/mkpxelinux/options.msg diff --git a/libre/lilo/PKGBUILD b/libre/lilo/PKGBUILD index 8103a1ac1..a896613ee 100644 --- a/libre/lilo/PKGBUILD +++ b/libre/lilo/PKGBUILD @@ -5,8 +5,8 @@ pkgname=lilo pkgver=23.2 -pkgrel=3.1 -pkgdesc="A bootloader for Linux (Parabola rebranded)" +pkgrel=3.2 +pkgdesc="A bootloader for GNU/Linux, Parabola rebranded" arch=('i686' 'x86_64') url="https://alioth.debian.org/projects/lilo/" license=('BSD') @@ -24,7 +24,7 @@ options=('!makeflags') source=("http://lilo.alioth.debian.org/ftp/sources/${pkgname}-${pkgver}.tar.gz" 'lilo.conf') md5sums=('51b9b9db665d3b8724919e3d46054d12' - 'bab0a13b749690ce5e4f61bb1c10c065') + 'd06b3c4655577ed01fea79ec5743b4b0') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/libre/lilo/lilo.conf b/libre/lilo/lilo.conf index dea0dbe58..479390df5 100644 --- a/libre/lilo/lilo.conf +++ b/libre/lilo/lilo.conf @@ -6,19 +6,19 @@ boot=/dev/sda # This line often fixes L40 errors on bootup # disk=/dev/sda bios=0x80 -default=libre +default=parabola timeout=50 lba32 prompt image=/boot/vmlinuz-linux-libre - label=libre + label=parabola root=/dev/sda3 initrd=/boot/initramfs-linux-libre.img read-only image=/boot/vmlinuz-linux-libre - label=libre-fallback + label=parabola-fallback root=/dev/sda3 initrd=/boot/initramfs-linux-libre-fallback.img read-only diff --git a/libre/mime-types/PKGBUILD b/libre/mime-types/PKGBUILD new file mode 100644 index 000000000..c62cf574b --- /dev/null +++ b/libre/mime-types/PKGBUILD @@ -0,0 +1,23 @@ +# $Id$ +# Contributor: Jan de Groot +# Contributor: Daniel J Griffiths +# Maintainer: Gaetan Bisson + +pkgname=mime-types +pkgver=8 +pkgrel=1.1 +pkgdesc='Provides /etc/mime.types, Parabola rebranded' +url='https://parabolagnulinux.org/' +license=('GPL2') +arch=('any') +backup=('etc/mime.types') +source=("http://mirrors.kernel.org/gentoo/distfiles/${pkgname}-${pkgver}.tar.bz2" + 'parabola.patch') +sha1sums=('01682b0ad3111a6cf65e6c9db0c18ddd7523c593' + '6778edf60195e81cd3d0748b82ea17a7') + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + patch -p1 -i ../parabola.patch + install -Dm644 mime.types "${pkgdir}"/etc/mime.types +} diff --git a/libre/mime-types/parabola.patch b/libre/mime-types/parabola.patch new file mode 100644 index 000000000..158733a6a --- /dev/null +++ b/libre/mime-types/parabola.patch @@ -0,0 +1,7 @@ +diff -au0r old/mime.types new/mime.types +--- old/mime.types 2009-10-15 07:51:24.000000000 -0700 ++++ new/mime.types 2011-08-02 22:49:14.962241561 -0700 +@@ -2 +2,2 @@ +-# distributed as the app-misc/mime-types package. ++# distributed in Parabola GNU/Linux-libre as the mime-types package, which ++# is based on Gentoo's app-misc/mime-types package. diff --git a/libre/mkbootcd/PKGBUILD b/libre/mkbootcd/PKGBUILD new file mode 100644 index 000000000..4e54ea3b4 --- /dev/null +++ b/libre/mkbootcd/PKGBUILD @@ -0,0 +1,25 @@ ++# $Id$ +# Maintainer : Tobias Powalowski + +pkgname=mkbootcd +pkgver=2008.09 +pkgrel=2.1 +pkgdesc="Advanced, modular isolinux bootcd image creation utility, Parabola rebranded" +arch=('any') +license=('GPL') +url="https://parabolagnulinux.org/" +depends=('mkinitcpio' 'cdrkit' 'syslinux') +source=('boot.msg' 'mkbootcd' 'mkbootcd.conf' 'options.msg') +backup=('etc/mkbootcd.conf') +md5sums=('2b55189d64e5263c5a3925a7b949c1f8' + '521107289007f0c3f11ddbb6fdfcbd22' + '4794673fa413eb5459b40172be7ae541' + '75b69407f88f2838c66f4dda4d8455e3') + +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 +} diff --git a/libre/mkbootcd/boot.msg b/libre/mkbootcd/boot.msg new file mode 100644 index 000000000..5e441e746 --- /dev/null +++ b/libre/mkbootcd/boot.msg @@ -0,0 +1,15 @@ + + +------------------------------------------------------------------------------ +Parabola GNU/Linux-libre +ISOLINUX BOOT +created with 'mkbootcd' written by Tobias Powalowski +rebranded for Parabola by André Silva + +Press ENTER or type 'parabola' to boot the CD. + +If you wish to change your defaults to boot into your existing system, +type 'vmlinuz initrd=initrd.img ' +Use the F2 key for troubleshooting and options. +------------------------------------------------------------------------------ + diff --git a/libre/mkbootcd/mkbootcd b/libre/mkbootcd/mkbootcd new file mode 100755 index 000000000..012267be9 --- /dev/null +++ b/libre/mkbootcd/mkbootcd @@ -0,0 +1,144 @@ +#! /bin/sh +# Created by Tobias Powalowski +# Rebranded for Parabola by André Silva +# 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 parabola" >> ${TEMPDIR}/${BOOTDIRNAME}/isolinux.cfg + echo "label parabola" >> ${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}/parabola/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="Parabola GNU/Linux-libre" + 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} diff --git a/libre/mkbootcd/mkbootcd.conf b/libre/mkbootcd/mkbootcd.conf new file mode 100644 index 000000000..5b287a6ea --- /dev/null +++ b/libre/mkbootcd/mkbootcd.conf @@ -0,0 +1,39 @@ +# Created by Tobias Powalowski +# Rebranded for Parabola by André Silva +# 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 libre kernel +KERNEL="/boot/vmlinuz-linux-libre" + +# 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 Parabola GNU/Linux-libre 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="" diff --git a/libre/mkbootcd/options.msg b/libre/mkbootcd/options.msg new file mode 100644 index 000000000..63f56e755 --- /dev/null +++ b/libre/mkbootcd/options.msg @@ -0,0 +1,6 @@ +------------------------------------------------------------------------------ +Parabola GNU/Linux-libre 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. +------------------------------------------------------------------------------ diff --git a/libre/mkisolinux/PKGBUILD b/libre/mkisolinux/PKGBUILD new file mode 100644 index 000000000..f2cd6e4c0 --- /dev/null +++ b/libre/mkisolinux/PKGBUILD @@ -0,0 +1,27 @@ +# $Id: PKGBUILD 12670 2008-09-17 21:19:05Z tpowa $ +# Maintainer : Tobias Powalowski + +pkgname=mkisolinux +pkgver=2013.03 +pkgrel=1.1 +pkgdesc="Advanced, modular isolinux bootcd image creation utility, Parabola rebranded" +arch=(any) +license=('GPL') +url="http://parabolagnulinux.org/" +depends=('mkinitcpio' 'cdrkit' 'syslinux' 'pciutils') +replaces=('mkbootcd') +backup=(etc/mkisolinux.conf) +source=('boot.msg' 'mkisolinux' 'mkisolinux.conf' 'options.msg') +md5sums=('945d5f5d74f37718c8c9d518bfd5698d' + 'e28b82502ae44087852ea6bfac398d5c' + '456eba83dfba319f8132c89e7ba42ce5' + 'ae0007d6679b5a575b2a9e5ac3664baf') + +package() +{ + cd "$srcdir/" + install -D -m755 mkisolinux "$pkgdir/usr/sbin/mkisolinux" + install -D -m644 mkisolinux.conf "$pkgdir/etc/mkisolinux.conf" + install -D -m644 boot.msg "$pkgdir/usr/share/mkisolinux/boot.msg" + install -D -m644 options.msg "$pkgdir/usr/share/mkisolinux/options.msg" +} diff --git a/libre/mkisolinux/boot.msg b/libre/mkisolinux/boot.msg new file mode 100644 index 000000000..e4109ea39 --- /dev/null +++ b/libre/mkisolinux/boot.msg @@ -0,0 +1,15 @@ + + +------------------------------------------------------------------------------ +Parabola GNU/Linux-libre +ISOLINUX BOOT +created with 'mkisolinux' written by Tobias Powalowski +rebranded for Parabola by André Silva + +Press ENTER or type 'parabola' to boot the CD. + +If you wish to change your defaults to boot into your existing system, +type 'vmlinuz initrd=initrd.img ' +Use the F2 key for troubleshooting and options. +------------------------------------------------------------------------------ + diff --git a/libre/mkisolinux/mkisolinux b/libre/mkisolinux/mkisolinux new file mode 100755 index 000000000..0cb53e81e --- /dev/null +++ b/libre/mkisolinux/mkisolinux @@ -0,0 +1,117 @@ +#! /bin/sh +# Created by Tobias Powalowski +# Rebranded for Parabola by André Silva +# Settings +APPNAME=$(basename "${0}") +CONFIG="/etc/mkisolinux.conf" +GENIMG="" +BURN="0" +BLANK="0" +TARNAME="" +export TEMPDIR=$(mktemp -d /tmp/mkisolinux.XXXX) +usage () +{ + echo "${APPNAME}: usage" + echo " -g=IMAGE Generate a ISO image as IMAGE" + echo " -c=CONFIG Use CONFIG file. default: /etc/mkisolinux.conf" + echo " -B Burn the ISO image after creation" + echo " -b Blanking media first" + 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" ;; + -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 "${APPENDOPTIONSBOOTMESSAGE}" ] && export APPENDOPTIONSBOOTMESSAGE + +export RUNPROGRAM="${APPNAME}" +export BOOTDIRNAME="boot/syslinux" + +[ "${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 +mkdir -p ${TEMPDIR}/${BOOTDIRNAME}/ +# prepare syslinux +install -m755 /usr/lib/syslinux/isolinux.bin ${TEMPDIR}/${BOOTDIRNAME}/isolinux.bin +for i in /usr/lib/syslinux/*.c32; do + install -m644 $i ${TEMPDIR}/${BOOTDIRNAME}/$(basename $i) +done +install -m644 /lib/modules/$(uname -r)/modules.pcimap ${TEMPDIR}/${BOOTDIRNAME}/modules.pcimap +install -m644 /usr/share/hwdata/pci.ids ${TEMPDIR}/${BOOTDIRNAME}/pci.ids +# create syslinux.cfg +echo ":: Creating syslinux.cfg ..." +if [ "${ISOLINUXCFG}" = "" ]; then + [ -e ${TEMPDIR}/${BOOTDIRNAME}/syslinux.cfg ] && rm ${TEMPDIR}/${BOOTDIRNAME}/syslinux.cfg + echo "prompt ${PROMPT}" >> ${TEMPDIR}/${BOOTDIRNAME}/syslinux.cfg + echo "timeout ${TIMEOUT}" >> ${TEMPDIR}/${BOOTDIRNAME}/syslinux.cfg + echo "display boot.msg" >> ${TEMPDIR}/${BOOTDIRNAME}/syslinux.cfg + echo "F1 boot.msg" >> ${TEMPDIR}/${BOOTDIRNAME}/syslinux.cfg + echo "F2 options.msg" >> ${TEMPDIR}/${BOOTDIRNAME}/syslinux.cfg + echo "default parabola" >> ${TEMPDIR}/${BOOTDIRNAME}/syslinux.cfg + echo "label parabola" >> ${TEMPDIR}/${BOOTDIRNAME}/syslinux.cfg + echo "kernel /boot/vmlinuz" >> ${TEMPDIR}/${BOOTDIRNAME}/syslinux.cfg + echo "append initrd=/boot/initrd.img ${KERNEL_BOOT_OPTIONS}" >> ${TEMPDIR}/${BOOTDIRNAME}/syslinux.cfg +else + sed "s|@@PROMPT@@|${PROMPT}|g;s|@@TIMEOUT@@|${TIMEOUT}|g;s|@@KERNEL_BOOT_OPTIONS@@|${KERNEL_BOOT_OPTIONS}|g" \ + ${ISOLINUXCFG} > ${TEMPDIR}/${BOOTDIRNAME}/syslinux.cfg +fi +[ ! -s ${TEMPDIR}/${BOOTDIRNAME}/syslinux.cfg ] && echo "No syslinux.cfg found" && exit 1 + +echo ":: Calling mkinitcpio CONFIG=${MKINITCPIO_CONFIG} KERNEL=${VERSION} ..." +# generate initramdisk +echo ":: Creating initramdisk ..." + mkinitcpio -c ${MKINITCPIO_CONFIG} -k ${VERSION} -g ${TEMPDIR}/boot/initrd.img +echo ":: Using ${KERNEL} as image kernel ..." + install -m644 ${KERNEL} ${TEMPDIR}/boot/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 +echo ":: Creating ISO image ..." + [ -e ${GENIMG} ] && rm ${GENIMG} + [ -s "${ISONAME}" ] && ISONAME=$(cat $ISONAME) || ISONAME="Parabola GNU/Linux-libre" + mkisofs -RlDJLV "${ISONAME}" -b boot/syslinux/isolinux.bin -c boot/syslinux/boot.cat \ + -no-emul-boot -boot-load-size 4 -boot-info-table -o ${GENIMG} ${TEMPDIR}/ > /dev/null 2>&1 \ + && 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 + +# clean /tmp +rm -r ${TEMPDIR} diff --git a/libre/mkisolinux/mkisolinux.conf b/libre/mkisolinux/mkisolinux.conf new file mode 100644 index 000000000..83d36219d --- /dev/null +++ b/libre/mkisolinux/mkisolinux.conf @@ -0,0 +1,39 @@ +# Created by Tobias Powalowski +# Rebranded for Parabola by André Silva +# config file of mkisolinux + +# 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 libre kernel +KERNEL="/boot/vmlinuz-linux-libre" + +# boot message files +BOOTMESSAGE="/usr/share/mkisolinux/boot.msg" +OPTIONSBOOTMESSAGE="/usr/share/mkisolinux/options.msg" + +# syslinux.cfg file to use +SYSLINUXCFG="" + +# Prompt on boot, 1=yes 0=no +PROMPT="1" + +# Name of the ISO, if empty Parabola GNU/Linux-libre is used if not set by a HOOK later +ISONAME="" + +# Timeout, 30 seconds to fix usb keyboard issues +# 0 means wait for prompt +TIMEOUT="300" + +# Setting cdrecord options +DEVICE="" +SPEED="" +BLANKMODE="" diff --git a/libre/mkisolinux/options.msg b/libre/mkisolinux/options.msg new file mode 100644 index 000000000..16c6b2eda --- /dev/null +++ b/libre/mkisolinux/options.msg @@ -0,0 +1,6 @@ +------------------------------------------------------------------------------ +Parabola GNU/Linux-libre options and troubleshooting: + +- If your system hangs during the boot process, any combinations of the + boot options noapic acpi=off pci=routeirq nosmp nomsi may be useful. +------------------------------------------------------------------------------ diff --git a/libre/mkpxelinux/PKGBUILD b/libre/mkpxelinux/PKGBUILD new file mode 100644 index 000000000..111763e82 --- /dev/null +++ b/libre/mkpxelinux/PKGBUILD @@ -0,0 +1,27 @@ +# $Id$ +# Maintainer : Tobias Powalowski + +pkgname=mkpxelinux +pkgver=2013.03 +pkgrel=1.1 +pkgdesc="Advanced, modular network pxe boot image creation utility, Parabola rebranded" +arch=(any) +license=('GPL') +url="http://parabolagnulinux.org/" +depends=('mkinitcpio' 'tftp-hpa' 'syslinux') +backup=(etc/mkpxelinux.conf) +optdepends=('dhcp: for dhcp server usage') +source=('boot.msg' 'mkpxelinux' 'mkpxelinux.conf' 'options.msg') +md5sums=('7225e73bfe717f97bd7ab52f5ab157f6' + '58dfd6b96e7faeb75b7e5753e1751f31' + 'aad6a91bae077461c33c2db3844814f0' + 'ae0007d6679b5a575b2a9e5ac3664baf') + +package() +{ + cd "$srcdir/" + install -D -m755 mkpxelinux "$pkgdir/usr/sbin/mkpxelinux" + install -D -m644 mkpxelinux.conf "$pkgdir/etc/mkpxelinux.conf" + install -D -m644 boot.msg "$pkgdir/usr/share/mkpxelinux/boot.msg" + install -D -m644 options.msg "$pkgdir/usr/share/mkpxelinux/options.msg" +} diff --git a/libre/mkpxelinux/boot.msg b/libre/mkpxelinux/boot.msg new file mode 100644 index 000000000..6c1fcd476 --- /dev/null +++ b/libre/mkpxelinux/boot.msg @@ -0,0 +1,14 @@ + + +------------------------------------------------------------------------------ +Parabola GNU/Linux-libre +PXELINUX BOOT +created with 'mkpxelinux' written by Tobias Powalowski + +Press ENTER or type 'parabola' to boot image. + +If you wish to change your defaults to boot into your existing system, +type 'vmlinuz initrd=initrd.img ' +Use the F2 key for troubleshooting and options. +------------------------------------------------------------------------------ + diff --git a/libre/mkpxelinux/mkpxelinux b/libre/mkpxelinux/mkpxelinux new file mode 100755 index 000000000..bd173376c --- /dev/null +++ b/libre/mkpxelinux/mkpxelinux @@ -0,0 +1,91 @@ +#! /bin/sh +# Created by Tobias Powalowski +# Rebranded for Parabola by André Silva +# Settings +APPNAME=$(basename "${0}") +CONFIG="/etc/mkpxelinux.conf" + +usage () +{ + echo "${APPNAME}: usage" + echo"" + echo " -d=INSTALLDIR Your INSTALLDIR overwrites config default" + echo " -c=CONFIG Use CONFIG file. default: /etc/mkpxelinux.conf" + echo " -h This message." + exit 1 +} + +[ "$1" == "" ] && usage && exit 1 + +while [ $# -gt 0 ]; do + case $1 in + -c=*|--c=*) CONFIG="$(echo $1 | awk -F= '{print $2;}')" ;; + -d=*|--d=*) CUSTOMINSTALLDIR="$(echo $1 | awk -F= '{print $2;}')" ;; + -h|--h|?) usage ;; + *) usage ;; + esac + shift +done + +if [ ! -f "${CONFIG}" ]; then + echo "config file '${CONFIG}' cannot be found, aborting..." + exit 1 +fi + +. "${CONFIG}" +# export for mkinitcpio +[ -n "${APPENDBOOTMESSAGE}" ] && export APPENDBOOTMESSAGE +[ -n "${APPENDOPTIONSBOOTMESSAGE}" ] && export APPENDOPTIONSBOOTMESSAGE + +! [ "${CUSTOMINSTALLDIR}" = "" ] && INSTALLDIR=${CUSTOMINSTALLDIR} + +if [ "${INSTALLDIR}" = "" ]; then + echo "ERROR: No INSTALLDIR name specified, please use the -d option" + exit 1 +fi + +if ! [ $UID -eq 0 ]; then + echo "ERROR: only works when run as root!" + exit 1 +fi + +! [ -e ${INSTALLDIR} ] && echo "No ${INSTALLDIR} found!" && exit 1 +export TEMPDIR=${NFSROOTDIR} +export INSTALLDIR=${INSTALLDIR} +export RUNPROGRAM="${APPNAME}" +[ "${BOOTMESSAGE}" = "" ] && export BOOTMESSAGE=$(mktemp /tmp/bootmessage.XXXX) +[ "${OPTIONSBOOTMESSAGE}" = "" ] && export OPTIONSBOOTMESSAGE=$(mktemp /tmp/optionsbootmessage.XXXX) +export USEKERNEL=${VERSION} +# begin script +# create default +echo ":: Creating pxelinux default config file ..." +mkdir -p ${INSTALLDIR}/pxelinux.cfg +if [ "${PXELINUX_DEFAULT}" = "" ]; then + [ -e ${INSTALLDIR}/pxelinux.cfg/default ] && rm ${INSTALLDIR}/pxelinux.cfg/default + echo "prompt ${PROMPT}" >> ${INSTALLDIR}/pxelinux.cfg/default + echo "timeout ${TIMEOUT}" >> ${INSTALLDIR}/pxelinux.cfg/default + echo "display boot.msg" >> ${INSTALLDIR}/pxelinux.cfg/default + echo "F1 boot.msg" >> ${INSTALLDIR}/pxelinux.cfg/default + echo "F2 options.msg" >> ${INSTALLDIR}/pxelinux.cfg/default + echo "default parabola" >> ${INSTALLDIR}/pxelinux.cfg/default + echo "label parabola" >> ${INSTALLDIR}/pxelinux.cfg/default + echo "kernel vmlinuz" >> ${INSTALLDIR}/pxelinux.cfg/default + echo "append initrd=initrd.img ${KERNEL_BOOT_OPTIONS}" >> ${INSTALLDIR}/pxelinux.cfg/default +else + sed "s|@@PROMPT@@|${PROMPT}|g;s|@@TIMEOUT@@|${TIMEOUT}|g;s|@@KERNEL_BOOT_OPTIONS@@|${KERNEL_BOOT_OPTIONS}|g" \ + ${PXELINUX_DEFAULT} > ${INSTALLDIR}/pxelinux.cfg/default +fi +[ ! -s ${INSTALLDIR}/pxelinux.cfg/default ] && echo "No pxelinux default config found" && exit 1 +echo ":: Calling mkinitcpio CONFIG=${MKINITCPIO_CONFIG} KERNEL=${VERSION} ..." +# generate initramdisk +echo ":: Creating initramdisk ..." + mkinitcpio -c ${MKINITCPIO_CONFIG} -k ${VERSION} -g ${INSTALLDIR}/initrd.img +echo ":: Using ${KERNEL} as image kernel ..." + install -m644 ${KERNEL} ${INSTALLDIR}/vmlinuz +echo ":: Installing message files to ${INSTALLDIR} ..." + install -m644 ${BOOTMESSAGE} ${INSTALLDIR}/boot.msg + install -m644 ${OPTIONSBOOTMESSAGE} ${INSTALLDIR}/options.msg + [ ! -s ${INSTALLDIR}/boot.msg ] && echo 'ERROR:no boot.msg found, aborting!' && exit 1 + [ ! -s ${INSTALLDIR}/options.msg ] && echo 'ERROR:no options.msg found, aborting!' && exit 1 +echo ":: Installing PXELINUX to ${INSTALLDIR} ..." + install -m644 /usr/lib/syslinux/pxelinux.0 ${INSTALLDIR}/pxelinux.0 && echo "Installation completed." diff --git a/libre/mkpxelinux/mkpxelinux.conf b/libre/mkpxelinux/mkpxelinux.conf new file mode 100644 index 000000000..4b8e7b0a8 --- /dev/null +++ b/libre/mkpxelinux/mkpxelinux.conf @@ -0,0 +1,37 @@ +# Created by Tobias Powalowski +# Rebranded for Parabola by André Silva +# config file of mkpxelinux + +# DEFAULT kernel boot options like ip=:::::eth0:dhcp 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 libre kernel +KERNEL="/boot/vmlinuz-linux-libre" + +# boot message files +BOOTMESSAGE="/usr/share/mkpxelinux/boot.msg" +OPTIONSBOOTMESSAGE="/usr/share/mkpxelinux/options.msg" + +#pxelinux default config file to use +PXELINUX_DEFAULT="" + +# Prompt on boot, 1=yes 0=no +PROMPT="1" + +# Timeout, 30 seconds to fix usb keyboard issues +# 0 means wait for prompt +TIMEOUT="300" + +# Installdir of tftp, default location +INSTALLDIR="/var/tftpboot" + +# Nfsrootdir, for hooks that might need it +NFSROOTDIR="" diff --git a/libre/mkpxelinux/options.msg b/libre/mkpxelinux/options.msg new file mode 100644 index 000000000..16c6b2eda --- /dev/null +++ b/libre/mkpxelinux/options.msg @@ -0,0 +1,6 @@ +------------------------------------------------------------------------------ +Parabola GNU/Linux-libre options and troubleshooting: + +- If your system hangs during the boot process, any combinations of the + boot options noapic acpi=off pci=routeirq nosmp nomsi may be useful. +------------------------------------------------------------------------------ -- cgit v1.1-4-g5e80