X-Git-Url: https://git.grml.org/?p=grml-debootstrap.git;a=blobdiff_plain;f=grml-debootstrap;h=1f4fa0052506d9b34e76973665186235cf8744d7;hp=586edd888381bd69abc9f6edd8c5c5b42bf7a384;hb=0d4c08983c4a940464401fb48ca43afdab7e54d1;hpb=1537613474d4b4483ea6321f211113a3e6522c04 diff --git a/grml-debootstrap b/grml-debootstrap index 586edd8..1f4fa00 100755 --- a/grml-debootstrap +++ b/grml-debootstrap @@ -41,7 +41,7 @@ fi # variables {{{ PN="$(basename "$0")" if [[ -d "$(dirname "$(command -v "$0")")"/.git ]]; then - VERSION="$(git describe | sed 's|^v||')" + VERSION="$(git --git-dir $(dirname "$(command -v "$0")")/.git describe | sed 's|^v||')" else VERSION="$(dpkg-query --show --showformat='${Version}' "$PN")" fi @@ -980,7 +980,7 @@ format_efi_partition() { einfo "EFI partition $EFI seems to have a FAT filesystem, not modifying." ; eend 0 else einfo "EFI partition $EFI doesn't seem to be formatted, creating filesystem." - mkfs.fat -F32 -n "EFI System Partition" "$EFI" + mkfs.fat -F32 -n "EFI" "$EFI" RC=$? if [ $RC -eq 0 ] ; then eend 0 @@ -996,9 +996,14 @@ format_efi_partition() { # check for EFI support or try to enable it {{{ efi_support() { local efivars_loaded=false + # this is for kernels versions before v3.10, which didn't provide efivarfs yet if modprobe efivars &>/dev/null ; then efivars_loaded=true fi + # kernel versions v3.10 and newer usually provide efivarfs + if modprobe efivarfs &>/dev/null ; then + efivars_loaded=true + fi if [ -d /sys/firmware/efi ] ; then einfo "EFI support detected." ; eend 0 @@ -1155,6 +1160,12 @@ else ARCHCMD="--arch $ARCH" ARCHINFO=" (${ARCH})" fi + +if [ -z "${ARCH:-}" ] ; then + eerror 'Architecture neither set (environment variable ARCH), nor could be automatically identified (using dpkg).' + eerror 'Consider setting the --arch ... option.' ; eend 1 + bailout 1 +fi # }}} # It is not possible to build amd64 on i686. {{{ @@ -1513,7 +1524,7 @@ if [[ -z "${GRUB}" ]] || ! dd if="${GRUB}" bs=512 count=1 2>/dev/null | cat -v | if ! chroot "${MNTPOINT}" dpkg --list grub-pc 2>/dev/null | grep -q '^ii' ; then echo "Notice: grub-pc package not present yet, installing it therefore." # shellcheck disable=SC2086 - DEBIAN_FRONTEND=$DEBIAN_FRONTEND chroot "$MNTPOINT" apt-get -y install $DPKG_OPTIONS grub-pc + DEBIAN_FRONTEND=$DEBIAN_FRONTEND chroot "$MNTPOINT" apt-get -y --no-install-recommends install $DPKG_OPTIONS grub-pc fi mkdir -p "${MNTPOINT}/boot/grub" @@ -1535,8 +1546,11 @@ if [[ -z "${GRUB}" ]] || ! dd if="${GRUB}" bs=512 count=1 2>/dev/null | cat -v | f2fs) chroot "${MNTPOINT}" grub-mkimage -O i386-pc -p "(hd0,msdos1)/boot/grub" -o /tmp/core.img biosdisk part_msdos f2fs ;; - # NOTE - we might need to distinguish between further filesystems - *) + xfs) + chroot "${MNTPOINT}" grub-mkimage -O i386-pc -p "(hd0,msdos1)/boot/grub" -o /tmp/core.img biosdisk part_msdos xfs + ;; + # NOTE - we might need to distinguish between further filesystems + *) chroot "${MNTPOINT}" grub-mkimage -O i386-pc -p "(hd0,msdos1)/boot/grub" -o /tmp/core.img biosdisk part_msdos ext2 ;; esac