X-Git-Url: https://git.grml.org/?a=blobdiff_plain;f=chroot-script;h=1602f6db24db8966ebf51359cebd3c7e1f582533;hb=65e45e57296d552cf6a7fbd2d0a72bcf50d809d1;hp=a077acd961d724ada1776bad89de2499cbb04684;hpb=64f1f16059d1fbd17799733576fc36d4d901b6d3;p=grml-debootstrap.git diff --git a/chroot-script b/chroot-script index a077acd..1602f6d 100755 --- a/chroot-script +++ b/chroot-script @@ -11,16 +11,16 @@ # shellcheck disable=SC2317 # shellcheck has trouble understanding the code flow in this file # error_handler {{{ -if [ "$REPORT_TRAP_ERR" = "yes" ] || [ "$FAIL_TRAP_ERR" = "yes" ]; then - set -e - set -E - set -o pipefail - trap "error_handler" ERR -fi +set -e +set -E +set -o pipefail +trap "error_handler" ERR # }}} +bash -n /etc/debootstrap/config # shellcheck source=config . /etc/debootstrap/config || exit 1 +bash -n /etc/debootstrap/variables # shellcheck source=tests/shellcheck-stub-debootstrap-variables . /etc/debootstrap/variables || exit 1 @@ -349,8 +349,7 @@ kernel() { $APTUPDATE KVER=$(get_kernel_version) if [ -n "$KVER" ] ; then - # note: install busybox to be able to debug initramfs - KERNELPACKAGES="linux-image-$KVER linux-headers-$KVER busybox firmware-linux-free" + KERNELPACKAGES="linux-image-$KVER linux-headers-$KVER firmware-linux-free $INITRD_GENERATOR" # only add firmware-linux if we have non-free as a component if expr "$COMPONENTS" : '.*non-free' >/dev/null ; then KERNELPACKAGES="$KERNELPACKAGES firmware-linux" @@ -480,7 +479,7 @@ EOF local rootfs_mount_options="" if [ -z "${FILESYSTEM}" ] ; then - FILESYSTEM="$(blkid -o value -s TYPE /dev/disk/by-uuid/"${TARGET_UUID}")" + FILESYSTEM="$(blkid -o value -s TYPE /dev/disk/by-uuid/"${TARGET_UUID}")" || true fi case "${FILESYSTEM}" in @@ -600,7 +599,6 @@ initrd() { if [ -n "$INITRD" ] ; then echo "Generating initrd." if [ "$INITRD_GENERATOR" = 'dracut' ] ; then - DEBIAN_FRONTEND=$DEBIAN_FRONTEND $APTINSTALL dracut # shellcheck disable=SC2086 dracut --no-hostonly --kver "$KERNELVER" --fstab --add-fstab /etc/fstab --force --reproducible $INITRD_GENERATOR_OPTS else @@ -623,7 +621,7 @@ efi_setup() { mkdir -p /boot/efi echo "Mounting $EFI on /boot/efi" - mount "$EFI" /boot/efi || return 1 + mount "$EFI" /boot/efi # if efivarfs kernel module is loaded, but efivars isn't, # then we need to mount efivarfs for efibootmgr usage @@ -633,7 +631,7 @@ efi_setup() { fi echo "Invoking efibootmgr" - efibootmgr || return 1 + efibootmgr } # grub configuration/installation {{{ @@ -680,7 +678,7 @@ grub_install() { return 0 fi - efi_setup || return 1 + efi_setup if [ -n "$EFI" ] ; then GRUB_PACKAGE=grub-efi-amd64 @@ -807,8 +805,9 @@ trap signal_handler HUP INT QUIT TERM initrd grub_install passwords \ custom_scripts upgrade_system remove_apt_cache services \ remove_chrootmirror; do - if stage $i ; then - $i && stage $i 'done' || exit 1 + if stage "$i" ; then + "$i" + stage "$i" 'done' fi done # always execute the finalize stage: