summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKim Hagen <kim@sentrium.io>2021-08-02 09:15:21 -0500
committerKim Hagen <kim@sentrium.io>2021-08-02 09:15:21 -0500
commitd70a3f5e86f37abe657c13d16ccc081832356d40 (patch)
tree0d49c2a3be615f03e5f68ae93f30cc446968953c
parent4032937df8d612188f1381029ecf271764b6692a (diff)
downloadvyos-live-build-d70a3f5e86f37abe657c13d16ccc081832356d40.tar.gz
vyos-live-build-d70a3f5e86f37abe657c13d16ccc081832356d40.zip
add items for grub setup and enable persistence
-rwxr-xr-xfunctions/configuration.sh42
-rwxr-xr-xscripts/build/binary_dm-verity4
-rwxr-xr-xscripts/build/binary_grub-legacy4
-rwxr-xr-xscripts/build/binary_grub_cfg41
-rwxr-xr-xscripts/build/binary_hdd11
-rwxr-xr-xscripts/build/binary_linux-image2
-rwxr-xr-xscripts/build/binary_manifest2
-rwxr-xr-xscripts/build/binary_memtest2
-rwxr-xr-xscripts/build/binary_rootfs2
-rwxr-xr-xscripts/build/config104
10 files changed, 204 insertions, 10 deletions
diff --git a/functions/configuration.sh b/functions/configuration.sh
index 7750a5c54..1e5ff7d12 100755
--- a/functions/configuration.sh
+++ b/functions/configuration.sh
@@ -388,6 +388,15 @@ Prepare_config ()
case "${LB_INITRAMFS}" in
live-boot)
LB_BOOTAPPEND_LIVE="${LB_BOOTAPPEND_LIVE:-boot=live components quiet splash}"
+ LB_BOOTAPPEND_VYOS_CONSOLE_1="${LB_BOOTAPPEND_VYOS_CONSOLE_1:-none}"
+ LB_BOOTAPPEND_VYOS_CONSOLE_2="${LB_BOOTAPPEND_VYOS_CONSOLE_2:-none}"
+ LB_BOOTAPPEND_VYOS_CONSOLE_3="${LB_BOOTAPPEND_VYOS_CONSOLE_3:-none}"
+ LB_BOOTAPPEND_VYOS_PW_CONSOLE_1="${LB_BOOTAPPEND_VYOS_PW_CONSOLE_1:-none}"
+ LB_BOOTAPPEND_VYOS_PW_CONSOLE_2="${LB_BOOTAPPEND_VYOS_PW_CONSOLE_2:-none}"
+ LB_BOOTAPPEND_VYOS_PW_CONSOLE_3="${LB_BOOTAPPEND_VYOS_PW_CONSOLE_3:-none}"
+ LB_VYOS_CONSOLE_1="${LB_VYOS_CONSOLE_1:-none}"
+ LB_VYOS_CONSOLE_2="${LB_VYOS_CONSOLE_2:-none}"
+ LB_VYOS_CONSOLE_3="${LB_VYOS_CONSOLE_3:-none}"
LB_BOOTAPPEND_LIVE_FAILSAFE="${LB_BOOTAPPEND_LIVE_FAILSAFE:-boot=live components memtest noapic noapm nodma nomce nolapic nomodeset nosmp nosplash vga=788}"
;;
@@ -501,6 +510,9 @@ Prepare_config ()
LB_BOOTSTRAP_QEMU_ARCHITECTURE="${LB_BOOTSTRAP_QEMU_ARCHITECTURE:-}"
LB_BOOTSTRAP_QEMU_EXCLUDE="${LB_BOOTSTRAP_QEMU_EXCLUDE:-}"
LB_BOOTSTRAP_QEMU_STATIC="${LB_BOOTSTRAP_QEMU_STATIC:-}"
+
+ LB_VYOS_VERSION="${LB_VYOS_VERSION:-live}"
+ LB_VYOS_PERSISTENCE="${LB_VYOS_PERSISTENCE:-false}"
}
Validate_config ()
@@ -710,6 +722,36 @@ Validate_config_permitted_values ()
exit 1
fi
+ if [ "${LB_BOOTAPPEND_VYOS_CONSOLE_1}" != "none" ] && [ "${LB_VYOS_CONSOLE_1}" = "none" ]; then
+ Echo_error "(--vyos-console-1) is not set."
+ exit 1
+ fi
+
+ if [ "${LB_VYOS_CONSOLE_1}" != "none" ] && [ "${LB_BOOTAPPEND_VYOS_CONSOLE_1}" = "none" ]; then
+ Echo_error "(--bootappend-vyos-console-1) is not set."
+ exit 1
+ fi
+
+ if [ "${LB_BOOTAPPEND_VYOS_CONSOLE_2}" != "none" ] && [ "${LB_VYOS_CONSOLE_2}" = "none" ]; then
+ Echo_error "(--vyos-console-2) is not set."
+ exit 1
+ fi
+
+ if [ "${LB_VYOS_CONSOLE_2}" != "none" ] && [ "${LB_BOOTAPPEND_VYOS_CONSOLE_2}" = "none" ]; then
+ Echo_error "(--bootappend-vyos-console-2) is not set."
+ exit 1
+ fi
+
+ if [ "${LB_BOOTAPPEND_VYOS_CONSOLE_3}" != "none" ] && [ "${LB_VYOS_CONSOLE_3}" = "none" ]; then
+ Echo_error "(--vyos-console-3) is not set."
+ exit 1
+ fi
+
+ if [ "${LB_VYOS_CONSOLE_3}" != "none" ] && [ "${LB_BOOTAPPEND_VYOS_CONSOLE_3}" = "none" ]; then
+ Echo_error "(--bootappend-vyos-console-3) is not set."
+ exit 1
+ fi
+
if ! In_list "${LB_INITRAMFS_COMPRESSION}" bzip2 gzip lzma; then
Echo_error "You have specified an invalid value for LB_INITRAMFS_COMPRESSION (--initramfs-compression)."
exit 1
diff --git a/scripts/build/binary_dm-verity b/scripts/build/binary_dm-verity
index c9d899c42..066f527b9 100755
--- a/scripts/build/binary_dm-verity
+++ b/scripts/build/binary_dm-verity
@@ -40,7 +40,7 @@ esac
case "${LB_INITRAMFS}" in
live-boot)
- INITFS="live"
+ INITFS="${LB_VYOS_VERSION}"
;;
*)
@@ -117,4 +117,4 @@ fi
# Creating stage file
-Create_stagefile \ No newline at end of file
+Create_stagefile
diff --git a/scripts/build/binary_grub-legacy b/scripts/build/binary_grub-legacy
index 1b5f3ebb6..55550e5ee 100755
--- a/scripts/build/binary_grub-legacy
+++ b/scripts/build/binary_grub-legacy
@@ -100,7 +100,7 @@ fi
case "${LB_INITRAMFS}" in
live-boot)
- INITFS="live"
+ INITFS="${LB_VYOS_VERSION}"
;;
*)
@@ -111,7 +111,7 @@ esac
# Setting destination directory
case "${LB_INITRAMFS}" in
live-boot)
- DESTDIR_LIVE="binary/live"
+ DESTDIR_LIVE="binary/${LB_VYOS_VERSION}"
;;
*)
diff --git a/scripts/build/binary_grub_cfg b/scripts/build/binary_grub_cfg
index 811410f36..91447acc7 100755
--- a/scripts/build/binary_grub_cfg
+++ b/scripts/build/binary_grub_cfg
@@ -99,7 +99,7 @@ fi
case "${LB_INITRAMFS}" in
live-boot)
- INITFS="live"
+ INITFS="${LB_VYOS_VERSION}"
;;
*)
@@ -156,6 +156,45 @@ if [ "${_AMD64_686_NUMBER}" -ge 2 ] ; then
"/${INITFS}/${_686_INITRD}" \
"${LB_BOOTAPPEND_LIVE_FAILSAFE}"
fi
+elif [ "${LB_VYOS_VERSION}" != "live" ]; then
+ if [ "${LB_BOOTAPPEND_VYOS_CONSOLE_1}" != "none" ]; then
+ Grub_live_menu_entry "VyOS $(basename ${LB_VYOS_VERSION}) linux (${LB_VYOS_CONSOLE_1} console)" \
+ "/${INITFS}/${DEFAULT_KERNEL}" \
+ "/${INITFS}/${DEFAULT_INITRD}" \
+ "${LB_BOOTAPPEND_VYOS_CONSOLE_1}" \
+ "l"
+ fi
+ if [ "${LB_BOOTAPPEND_VYOS_CONSOLE_2}" != "none" ]; then
+ Grub_live_menu_entry "VyOS $(basename ${LB_VYOS_VERSION}) linux (${LB_VYOS_CONSOLE_2} console)" \
+ "/${INITFS}/${DEFAULT_KERNEL}" \
+ "/${INITFS}/${DEFAULT_INITRD}" \
+ "${LB_BOOTAPPEND_VYOS_CONSOLE_2}"
+ fi
+ if [ "${LB_BOOTAPPEND_VYOS_CONSOLE_3}" != "none" ]; then
+ Grub_live_menu_entry "VyOS $(basename ${LB_VYOS_VERSION}) linux (${LB_VYOS_CONSOLE_3} console)" \
+ "/${INITFS}/${DEFAULT_KERNEL}" \
+ "/${INITFS}/${DEFAULT_INITRD}" \
+ "${LB_BOOTAPPEND_VYOS_CONSOLE_3}"
+ fi
+ if [ "${LB_BOOTAPPEND_VYOS_PW_CONSOLE_1}" != "none" ]; then
+ Grub_live_menu_entry "Lost password change $(basename ${LB_VYOS_VERSION}) linux (${LB_VYOS_CONSOLE_1} console)" \
+ "/${INITFS}/${DEFAULT_KERNEL}" \
+ "/${INITFS}/${DEFAULT_INITRD}" \
+ "${LB_BOOTAPPEND_VYOS_PW_CONSOLE_1}"
+ fi
+ if [ "${LB_BOOTAPPEND_VYOS_PW_CONSOLE_2}" != "none" ]; then
+ Grub_live_menu_entry "Lost password change $(basename ${LB_VYOS_VERSION}) linux (${LB_VYOS_CONSOLE_2} console)" \
+ "/${INITFS}/${DEFAULT_KERNEL}" \
+ "/${INITFS}/${DEFAULT_INITRD}" \
+ "${LB_BOOTAPPEND_VYOS_PW_CONSOLE_2}"
+ fi
+ if [ "${LB_BOOTAPPEND_VYOS_PW_CONSOLE_3}" != "none" ]; then
+ Grub_live_menu_entry "Lost password change $(basename ${LB_VYOS_VERSION}) linux (${LB_VYOS_CONSOLE_3} console)" \
+ "/${INITFS}/${DEFAULT_KERNEL}" \
+ "/${INITFS}/${DEFAULT_INITRD}" \
+ "${LB_BOOTAPPEND_VYOS_PW_CONSOLE_3}"
+ fi
+
else
Grub_live_menu_entry "Live system" \
"/${INITFS}/${DEFAULT_KERNEL}" \
diff --git a/scripts/build/binary_hdd b/scripts/build/binary_hdd
index 83e068c23..42800df0c 100755
--- a/scripts/build/binary_hdd
+++ b/scripts/build/binary_hdd
@@ -260,6 +260,17 @@ else
fi
cp -T ${CP_OPTIONS} binary/ chroot/binary.tmp
+if [ "${LB_VYOS_PERSISTENCE}" = "true" ]
+then
+ mkdir -p chroot/binary.tmp/${LB_VYOS_VERSION}/rw
+ mkdir -p chroot/binary.tmp/${LB_VYOS_VERSION}/work
+ mv chroot/binary.tmp/${LB_VYOS_VERSION}/filesystem.squashfs \
+ chroot/binary.tmp/${LB_VYOS_VERSION}/$(basename ${LB_VYOS_VERSION}).squashfs
+ cat > chroot/binary.tmp/persistence.conf << EOF
+/ union
+EOF
+fi
+
if [ "${LB_BOOTLOADER_BIOS}" = "grub-pc" ];
then
case "${LB_BUILD_WITH_CHROOT}" in
diff --git a/scripts/build/binary_linux-image b/scripts/build/binary_linux-image
index 26626cfe8..6afe21ca0 100755
--- a/scripts/build/binary_linux-image
+++ b/scripts/build/binary_linux-image
@@ -39,7 +39,7 @@ Acquire_lockfile
case "${LB_INITRAMFS}" in
live-boot)
- DESTDIR="binary/live"
+ DESTDIR="binary/${LB_VYOS_VERSION}"
;;
*)
diff --git a/scripts/build/binary_manifest b/scripts/build/binary_manifest
index 382305611..606e55448 100755
--- a/scripts/build/binary_manifest
+++ b/scripts/build/binary_manifest
@@ -39,7 +39,7 @@ Acquire_lockfile
case "${LB_INITRAMFS}" in
live-boot)
- INITFS="live"
+ INITFS="${LB_VYOS_VERSION}"
SUFFIX="packages"
;;
diff --git a/scripts/build/binary_memtest b/scripts/build/binary_memtest
index acfdfcbce..bb0f22175 100755
--- a/scripts/build/binary_memtest
+++ b/scripts/build/binary_memtest
@@ -75,7 +75,7 @@ Install_packages
# Setting destination directory
case "${LB_INITRAMFS}" in
live-boot)
- DESTDIR="binary/live"
+ DESTDIR="binary/${LB_VYOS_VERSION}"
;;
*)
diff --git a/scripts/build/binary_rootfs b/scripts/build/binary_rootfs
index 135a2dbc0..24177c225 100755
--- a/scripts/build/binary_rootfs
+++ b/scripts/build/binary_rootfs
@@ -44,7 +44,7 @@ esac
case "${LB_INITRAMFS}" in
live-boot)
- INITFS="live"
+ INITFS="${LB_VYOS_VERSION}"
;;
*)
diff --git a/scripts/build/config b/scripts/build/config
index 14cff154b..4b1b679f5 100755
--- a/scripts/build/config
+++ b/scripts/build/config
@@ -33,7 +33,17 @@ USAGE="${PROGRAM} [--apt apt|apt-get|aptitude]\n\
\t [-b|--binary-image iso|iso-hybrid|netboot|tar|hdd]\n\
\t [--bootappend-install PARAMETER|\"PARAMETERS\"]\n\
\t [--bootappend-live PARAMETER|\"PARAMETERS\"]\n\
+\t [--bootappend-vyos-console-1 PARAMETER|\"PARAMETERS\"]\n\
+\t [--bootappend-vyos-console-2 PARAMETER|\"PARAMETERS\"]\n\
+\t [--bootappend-vyos-console-3 PARAMETER|\"PARAMETERS\"]\n\
+\t [--bootappend-vyos-pw-console-1 PARAMETER|\"PARAMETERS\"]\n\
+\t [--bootappend-vyos-pw-console-2 PARAMETER|\"PARAMETERS\"]\n\
+\t [--bootappend-vyos-pw-console-3 PARAMETER|\"PARAMETERS\"]\n\
\t [--bootappend-live-failsafe PARAMETER|\"PARAMETERS\"]\n\
+\t [--vyos-console-1 KVM|Serial|USB]\n\
+\t [--vyos-console-2 KVM|Serial|USB]\n\
+\t [--vyos-console-3 KVM|Serial|USB]\n\
+\t [--vyos-persistence true|false]\n\
\t [--bootloaders grub-legacy|grub-pc|syslinux|grub-efi|\"BOOTLOADERS\"]\n\
\t [--bootstrap-qemu-arch ARCH]\n\
\t [--bootstrap-qemu-exclude PACKAGE|\"PACKAGES\"]\n\
@@ -127,6 +137,7 @@ USAGE="${PROGRAM} [--apt apt|apt-get|aptitude]\n\
\t [--utc-time true|false]\n\
\t [--validate]\n\
\t [--verbose]\n\
+\t [--vyos-version]\n\
\t [--win32-loader true|false]\n\
\t [--zsync true|false]"
@@ -140,6 +151,9 @@ Local_arguments ()
apt-source-archives:,architecture:,architectures:,archive-areas:,
backports:,binary-filesystem:,binary-image:,binary-images:,
bootappend-install:,bootappend-live:,bootappend-live-failsafe:,
+ bootappend-vyos-console-1:,bootappend-vyos-console-2:,bootappend-vyos-console-3:,
+ bootappend-vyos-pw-console-1:,bootappend-vyos-pw-console-2:,bootappend-vyos-pw-console-3:,
+ vyos-console-1:,vyos-console-2:,vyos-console-3:,vyos-persistence:,
bootloader:,bootloaders:,bootstrap-qemu-arch:,bootstrap-qemu-exclude:,
bootstrap-qemu-static:,breakpoints,build-with-chroot:,
cache:,cache-indices:,cache-packages:,cache-stages:,checksums:,
@@ -175,7 +189,7 @@ Local_arguments ()
security:,source:,source-images:,swap-file-path:,swap-file-size:,system:,
tasksel:,
uefi-secure-boot:,updates:,utc-time:,usage,
- validate,verbose,version,
+ validate,verbose,version,vyos-version:,
win32-loader:,
zsync:"
# Remove spaces added by indentation
@@ -365,11 +379,61 @@ Local_arguments ()
shift 2
;;
+ --bootappend-vyos-console-1)
+ LB_BOOTAPPEND_VYOS_CONSOLE_1="${2}"
+ shift 2
+ ;;
+
+ --bootappend-vyos-console-2)
+ LB_BOOTAPPEND_VYOS_CONSOLE_2="${2}"
+ shift 2
+ ;;
+
+ --bootappend-vyos-console-3)
+ LB_BOOTAPPEND_VYOS_CONSOLE_3="${2}"
+ shift 2
+ ;;
+
+ --bootappend-vyos-pw-console-1)
+ LB_BOOTAPPEND_VYOS_PW_CONSOLE_1="${2}"
+ shift 2
+ ;;
+
+ --bootappend-vyos-pw-console-2)
+ LB_BOOTAPPEND_VYOS_PW_CONSOLE_2="${2}"
+ shift 2
+ ;;
+
+ --bootappend-vyos-pw-console-3)
+ LB_BOOTAPPEND_VYOS_PW_CONSOLE_3="${2}"
+ shift 2
+ ;;
+
--bootappend-live-failsafe)
LB_BOOTAPPEND_LIVE_FAILSAFE="${2}"
shift 2
;;
+ --vyos-console-1)
+ LB_VYOS_CONSOLE_1="${2}"
+ shift 2
+ ;;
+
+ --vyos-console-2)
+ LB_VYOS_CONSOLE_2="${2}"
+ shift 2
+ ;;
+
+ --vyos-console-3)
+ LB_VYOS_CONSOLE_3="${2}"
+ shift 2
+ ;;
+
+ --vyos-persistence)
+ LB_VYOS_PERSISTENCE="${2}"
+ shift 2
+ ;;
+
--bootloaders|--bootloader)
# This will be split up into BIOS and EFI selections by `Prepare_config()`
LB_BOOTLOADERS="${2}"
@@ -831,6 +895,11 @@ Local_arguments ()
shift 2
;;
+ --vyos-version)
+ LB_VYOS_VERSION="boot/${2}"
+ shift 2
+ ;;
+
--win32-loader)
LB_WIN32_LOADER="${2}"
shift 2
@@ -1216,6 +1285,36 @@ LB_APT_INDICES="${LB_APT_INDICES}"
LB_BOOTAPPEND_LIVE="${LB_BOOTAPPEND_LIVE}"
# Set boot parameters
+LB_BOOTAPPEND_VYOS_CONSOLE_1="${LB_BOOTAPPEND_VYOS_CONSOLE_1}"
+
+# Set boot parameters
+LB_BOOTAPPEND_VYOS_CONSOLE_2="${LB_BOOTAPPEND_VYOS_CONSOLE_2}"
+
+# Set boot parameters
+LB_BOOTAPPEND_VYOS_CONSOLE_3="${LB_BOOTAPPEND_VYOS_CONSOLE_3}"
+
+# Set boot parameters
+LB_BOOTAPPEND_VYOS_PW_CONSOLE_1="${LB_BOOTAPPEND_VYOS_PW_CONSOLE_1}"
+
+# Set boot parameters
+LB_BOOTAPPEND_VYOS_PW_CONSOLE_2="${LB_BOOTAPPEND_VYOS_PW_CONSOLE_2}"
+
+# Set boot parameters
+LB_BOOTAPPEND_VYOS_PW_CONSOLE_3="${LB_BOOTAPPEND_VYOS_PW_CONSOLE_3}"
+
+# Set console
+LB_VYOS_CONSOLE_1="${LB_VYOS_CONSOLE_1}"
+
+# Set console
+LB_VYOS_CONSOLE_2="${LB_VYOS_CONSOLE_2}"
+
+# Set console
+LB_VYOS_CONSOLE_3="${LB_VYOS_CONSOLE_3}"
+
+# Set VyOS presistence
+LB_VYOS_PERSISTENCE="${LB_VYOS_PERSISTENCE}"
+
+# Set boot parameters
LB_BOOTAPPEND_INSTALL="${LB_BOOTAPPEND_INSTALL}"
# Set boot parameters
@@ -1291,6 +1390,9 @@ LB_MEMTEST="${LB_MEMTEST}"
# Set loadlin
LB_LOADLIN="${LB_LOADLIN}"
+# Set VyOS version
+LB_VYOS_VERSION="${LB_VYOS_VERSION}"
+
# Set win32-loader
LB_WIN32_LOADER="${LB_WIN32_LOADER}"