summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libre/lilo/PKGBUILD6
-rw-r--r--libre/lilo/lilo.conf6
-rw-r--r--libre/mime-types/PKGBUILD23
-rw-r--r--libre/mime-types/parabola.patch7
-rw-r--r--libre/mkbootcd/PKGBUILD25
-rw-r--r--libre/mkbootcd/boot.msg15
-rwxr-xr-xlibre/mkbootcd/mkbootcd144
-rw-r--r--libre/mkbootcd/mkbootcd.conf39
-rw-r--r--libre/mkbootcd/options.msg6
-rw-r--r--libre/mkisolinux/PKGBUILD27
-rw-r--r--libre/mkisolinux/boot.msg15
-rwxr-xr-xlibre/mkisolinux/mkisolinux117
-rw-r--r--libre/mkisolinux/mkisolinux.conf39
-rw-r--r--libre/mkisolinux/options.msg6
-rw-r--r--libre/mkpxelinux/PKGBUILD27
-rw-r--r--libre/mkpxelinux/boot.msg14
-rwxr-xr-xlibre/mkpxelinux/mkpxelinux91
-rw-r--r--libre/mkpxelinux/mkpxelinux.conf37
-rw-r--r--libre/mkpxelinux/options.msg6
19 files changed, 644 insertions, 6 deletions
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 <jgc@archlinux.org>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+
+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 <tpowa@archlinux.org>
+
+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 <tpowa@archlinux.org>
+rebranded for Parabola by André Silva <emulatorman@lavabit.com>
+
+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 <any_other_boot_option>'
+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 <tpowa@archlinux.org>
+# Rebranded for Parabola by André Silva <emulatorman@lavabit.com>
+# 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 <tpowa@archlinux.org>
+# Rebranded for Parabola by André Silva <emulatorman@lavabit.com>
+# 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 <tpowa@archlinux.org>
+
+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 <tpowa@archlinux.org>
+rebranded for Parabola by André Silva <emulatorman@lavabit.com>
+
+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 <any_other_boot_option>'
+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 <tpowa@archlinux.org>
+# Rebranded for Parabola by André Silva <emulatorman@lavabit.com>
+# 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 <tpowa@archlinux.org>
+# Rebranded for Parabola by André Silva <emulatorman@lavabit.com>
+# 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 <tpowa@archlinux.org>
+
+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 <tpowa@archlinux.org>
+
+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 <any_other_boot_option>'
+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 <tpowa@archlinux.org>
+# Rebranded for Parabola by André Silva <emulatorman@lavabit.com>
+# 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 <tpowa@archlinux.org>
+# Rebranded for Parabola by André Silva <emulatorman@lavabit.com>
+# 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.
+------------------------------------------------------------------------------