summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorAdrian Gibanel Lopez <adrian.gibanel@btactic.com>2016-01-18 03:07:48 +0000
committerAdrian Gibanel Lopez <adrian.gibanel@btactic.com>2016-07-31 15:08:11 +0200
commit9d1a983cc8fe12966d1a2c24a6ee0cfb419b3ce5 (patch)
tree1c11f9966417b1d915baf8b264fb497dd82d4666 /scripts
parent0624064d44ed811aec5c43fabfd7b928688ed8e1 (diff)
downloadvyos-live-build-9d1a983cc8fe12966d1a2c24a6ee0cfb419b3ce5.tar.gz
vyos-live-build-9d1a983cc8fe12966d1a2c24a6ee0cfb419b3ce5.zip
Added new multi bootloader helper functions
* Added: functions/bootloaders.sh . This file adds bootloader functions that are heavily used in efi scenarios where a bootloader can act as a first or an extra bootloader. Since the introduction of the new switch: --bootloaders you can setup it like this: --bootloaders=syslinux,grub-efi . This means that syslinux is the first bootloader and grub-efi is the extra bootloader. * Added new bootloader functions: Check_Non_First_Bootloader and Check_Non_Extra_Bootloader. These functions let each one of the bootloaders abort the build because they cannot perform a role either as a first bootloader or as an extra bootloader. * Added bootloader functions: Check_First_Bootloader_Role, Check_Extra_Bootloader_Role and Check_Any_Bootloader_Role These functions let bootloaders to force their default role in a single line. At the same time many binary bootloaders were rewritten to make use of the new bootloader role functions explained above. These roles were enforced: binary_grub-legacy : First bootloader binary_grub-pc : Either first or extra bootloader binary_syslinux : Either first or extra bootloader If a bootloader is tried to be used in a role that it's not meant to be used then the build fails because that might lead to a non-bootable system.
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/build/binary_grub-legacy17
-rwxr-xr-xscripts/build/binary_grub-pc19
-rwxr-xr-xscripts/build/binary_hdd8
-rwxr-xr-xscripts/build/binary_iso2
-rwxr-xr-xscripts/build/binary_syslinux19
5 files changed, 8 insertions, 57 deletions
diff --git a/scripts/build/binary_grub-legacy b/scripts/build/binary_grub-legacy
index f885c00cc..93d9b9e14 100755
--- a/scripts/build/binary_grub-legacy
+++ b/scripts/build/binary_grub-legacy
@@ -24,22 +24,7 @@ Arguments "${@}"
Read_conffiles config/all config/common config/bootstrap config/chroot config/binary config/source
Set_defaults
-FOUND_MYSELF=""
-IFS=","
-for BOOTLOADER in ${LB_BOOTLOADERS}
-do
-
- case ${BOOTLOADER} in
- "grub-legacy" )
- FOUND_MYSELF="True"
- break ;;
- esac
-
-done
-
-if [ -z ${FOUND_MYSELF} ] ; then
- exit 0
-fi
+Check_First_Bootloader_Role "grub-legacy"
Echo_message "Begin installing grub-legacy..."
diff --git a/scripts/build/binary_grub-pc b/scripts/build/binary_grub-pc
index 1eae93a2a..9252f7acf 100755
--- a/scripts/build/binary_grub-pc
+++ b/scripts/build/binary_grub-pc
@@ -24,24 +24,7 @@ Arguments "${@}"
Read_conffiles config/all config/common config/bootstrap config/chroot config/binary config/source
Set_defaults
-FOUND_MYSELF=""
-OLDIFS="$IFS"
-IFS=","
-for BOOTLOADER in ${LB_BOOTLOADERS}
-do
-
- case ${BOOTLOADER} in
- "grub-pc" )
- FOUND_MYSELF="True"
- break ;;
- esac
-
-done
-IFS="$OLDIFS"
-
-if [ -z ${FOUND_MYSELF} ] ; then
- exit 0
-fi
+Check_Any_Bootloader_Role "grub-pc"
Echo_message "Begin installing grub-pc..."
diff --git a/scripts/build/binary_hdd b/scripts/build/binary_hdd
index b45b2a900..400403c0a 100755
--- a/scripts/build/binary_hdd
+++ b/scripts/build/binary_hdd
@@ -67,7 +67,7 @@ do
esac
done
-case ${LB_PRIMARY_BOOTLOADER} in
+case ${LB_FIRST_BOOTLOADER} in
syslinux)
case ${LB_BINARY_FILESYSTEM} in
fat*|ntfs)
@@ -182,7 +182,7 @@ case "${LB_BUILD_WITH_CHROOT}" in
Chroot chroot "parted -s ${FREELO} set 1 boot on" || true
Chroot chroot "parted -s ${FREELO} set 1 lba off" || true
- if [ "${LB_PRIMARY_BOOTLOADER}" = "syslinux" ]
+ if [ "${LB_FIRST_BOOTLOADER}" = "syslinux" ]
then
dd if=chroot/usr/lib/$(echo ${_BOOTLOADER} | tr [a-z] [A-Z])/mbr.bin of=${FREELO} bs=440 count=1
fi
@@ -202,7 +202,7 @@ case "${LB_BUILD_WITH_CHROOT}" in
parted -s "${FREELO}" set 1 boot on || true
parted -s "${FREELO}" set 1 lba off || true
- if [ "${LB_PRIMARY_BOOTLOADER}" = "syslinux" ]
+ if [ "${LB_FIRST_BOOTLOADER}" = "syslinux" ]
then
dd if=/usr/lib/$(echo ${_BOOTLOADER} | tr [a-z] [A-Z])/mbr.bin of=${FREELO} bs=440 count=1
fi
@@ -268,7 +268,7 @@ cp -T ${CP_OPTIONS} binary/ chroot/binary.tmp
FIXME()
{
-if [ "${LB_PRIMARY_BOOTLOADER}" = "grub" ]
+if [ "${LB_FIRST_BOOTLOADER}" = "grub" ]
then
cat > chroot/grub.sh << EOF
diff --git a/scripts/build/binary_iso b/scripts/build/binary_iso
index 67dfc85a2..a390f61a4 100755
--- a/scripts/build/binary_iso
+++ b/scripts/build/binary_iso
@@ -149,7 +149,7 @@ esac
# XORRISO_OPTIONS="${XORRISO_OPTIONS} -m ${XORRISO_EXCLUDE}"
#fi
-if [ "${LB_PRIMARY_BOOTLOADER}" = "grub-pc" ]
+if [ "${LB_FIRST_BOOTLOADER}" = "grub-pc" ]
then
cat > binary.sh << EOF
diff --git a/scripts/build/binary_syslinux b/scripts/build/binary_syslinux
index 66c14a059..1a442d7a2 100755
--- a/scripts/build/binary_syslinux
+++ b/scripts/build/binary_syslinux
@@ -24,24 +24,7 @@ Arguments "${@}"
Read_conffiles config/all config/common config/bootstrap config/chroot config/binary config/source
Set_defaults
-FOUND_MYSELF=""
-OLDIFS="$IFS"
-IFS=","
-for BOOTLOADER in ${LB_BOOTLOADERS}
-do
-
- case ${BOOTLOADER} in
- "syslinux" )
- FOUND_MYSELF="True"
- break ;;
- esac
-
-done
-IFS="$OLDIFS"
-
-if [ -z ${FOUND_MYSELF} ] ; then
- exit 0
-fi
+Check_Any_Bootloader_Role "syslinux"
Echo_message "Begin installing syslinux..."