X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=archlabs-installer;h=9494470b3347b729f7560db8e03f32655d9fc25d;hb=5ec2679a9faad4afbefdde71840768d22037fe40;hp=c3294a034d06148bf96e0c92da9431b72c380ed0;hpb=1f84d41940a60f233c95c8387f7ccc0e014a50e9;p=pacbang-linux%2Finstaller-arch.git diff --git a/archlabs-installer b/archlabs-installer index c3294a0..9494470 100755 --- a/archlabs-installer +++ b/archlabs-installer @@ -8,14 +8,13 @@ # check for syntax errors # set -n -VER=2.0.98 +VER=2.1.3 # default values { : ${DIST=ArchLabs} # distro name if not set MNT=/mnt # installation root mountpoint ANS=/tmp/ans # dialog answer output file -BOOTDIR=boot # location to mount boot partition FONT=ter-i16n # font used for the linux console HOOKS=shutdown # additional mkinitcpio HOOKS SEL=0 # currently selected menu item @@ -926,7 +925,7 @@ part_mountconf() mount_menu() { - msg "Mount Menu" "\nGathering device and partition information.\n" 0 + msg "Mount Menu" "\nGathering device and partition information.\n" 1 no_bg_install || return 0 lvm_detect umount_dir "$MNT" @@ -936,7 +935,7 @@ mount_menu() select_root_partition || { ROOT_PART=''; return 1; } select_boot_partition || { BOOT_PART=''; return 1; } if [[ $BOOT_PART ]]; then - part_mount "$BOOT_PART" "/$BOOTDIR" && SEP_BOOT=true || return 1 + part_mount "$BOOT_PART" "/boot" && SEP_BOOT=true || return 1 part_bootdev fi select_swap || return 1 @@ -1029,7 +1028,7 @@ select_filesystem() [[ $cur && $part == "$AUTO_ROOT_PART" ]] && return 0 until [[ $fs ]]; do - if [[ $cur && $FORMATTED == *"$part"* ]]; then + if [[ $cur && $part != "$ROOT_PART" ]]; then dlg fs menu "Filesystem" "$txt\nCurrent: $cur" skip - ext4 - ext3 - ext2 - vfat - ntfs - f2fs - jfs - xfs - nilfs2 - reiserfs - || return 1 else dlg fs menu "Filesystem" "$txt" ext4 - ext3 - ext2 - vfat - ntfs - f2fs - jfs - xfs - nilfs2 - reiserfs - || return 1 @@ -1301,8 +1300,8 @@ install_boot() if [[ $SYS == 'UEFI' ]]; then # remove our old install and generic BOOT/ dir echo "Removing conflicting boot directories" - find "$MNT/$BOOTDIR/EFI/" -maxdepth 1 -mindepth 1 -iname "$DIST" -type d -delete -printf "remove %p\n" - find "$MNT/$BOOTDIR/EFI/" -maxdepth 1 -mindepth 1 -iname 'BOOT' -type d -delete -printf "remove %p\n" + find "$MNT/boot/EFI/" -maxdepth 1 -mindepth 1 -iname "$DIST" -type d -delete -printf "remove %p\n" + find "$MNT/boot/EFI/" -maxdepth 1 -mindepth 1 -iname 'BOOT' -type d -delete -printf "remove %p\n" fi prerun_$BOOTLDR @@ -1318,12 +1317,12 @@ install_boot() if [[ $SYS == 'UEFI' ]]; then # some UEFI firmware requires a generic esp/BOOT/BOOTX64.EFI - mkdir -pv "$MNT/$BOOTDIR/EFI/BOOT" + mkdir -pv "$MNT/boot/EFI/BOOT" case "$BOOTLDR" in - grub) cp -fv "$MNT/$BOOTDIR/EFI/$DIST/grubx64.efi" "$MNT/$BOOTDIR/EFI/BOOT/BOOTX64.EFI" ;; - syslinux) cp -rf "$MNT/$BOOTDIR/EFI/syslinux/"* "$MNT/$BOOTDIR/EFI/BOOT/" && cp -f "$MNT/$BOOTDIR/EFI/syslinux/syslinux.efi" "$MNT/$BOOTDIR/EFI/BOOT/BOOTX64.EFI" ;; - refind-efi) sed -i '/#extra_kernel_version_strings/ c extra_kernel_version_strings linux-hardened,linux-zen,linux-lts,linux' "$MNT/$BOOTDIR/EFI/refind/refind.conf" - cp -fv "$MNT/$BOOTDIR/EFI/refind/refind_x64.efi" "$MNT/$BOOTDIR/EFI/BOOT/BOOTX64.EFI" ;; + grub) cp -fv "$MNT/boot/EFI/$DIST/grubx64.efi" "$MNT/boot/EFI/BOOT/BOOTX64.EFI" ;; + syslinux) cp -rf "$MNT/boot/EFI/syslinux/"* "$MNT/boot/EFI/BOOT/" && cp -f "$MNT/boot/EFI/syslinux/syslinux.efi" "$MNT/boot/EFI/BOOT/BOOTX64.EFI" ;; + refind-efi) sed -i '/#extra_kernel_version_strings/ c extra_kernel_version_strings linux-hardened,linux-zen,linux-lts,linux' "$MNT/boot/EFI/refind/refind.conf" + cp -fv "$MNT/boot/EFI/refind/refind_x64.efi" "$MNT/boot/EFI/BOOT/BOOTX64.EFI" ;; esac fi @@ -1674,7 +1673,7 @@ setup_grub() BCMDS[grub]="grub-install --recheck --force --target=i386-pc $BOOT_DEV" else BCMDS[grub]="mount -t efivarfs efivarfs /sys/firmware/efi/efivars > /dev/null 2>&1 - grub-install --recheck --force --target=x86_64-efi --efi-directory=/$BOOTDIR --bootloader-id=$DIST" + grub-install --recheck --force --target=x86_64-efi --efi-directory=/boot --bootloader-id=$DIST" grep -q /sys/firmware/efi/efivars /proc/mounts || mount -t efivarfs efivarfs /sys/firmware/efi/efivars > /dev/null 2>&1 fi @@ -1717,7 +1716,7 @@ setup_efistub() prerun_efistub() { - BCMDS[systemd-boot]="mount -t efivarfs efivarfs /sys/firmware/efi/efivars > /dev/null 2>&1 + BCMDS[efistub]="mount -t efivarfs efivarfs /sys/firmware/efi/efivars > /dev/null 2>&1 efibootmgr -v -d $BOOT_DEV -p $BOOT_PART_NUM -c -L '${DIST} Linux' -l /vmlinuz-${KERNEL} \ -u 'root=$ROOT_PART_ID rw $([[ $UCODE ]] && printf 'initrd=\%s.img ' "$UCODE")initrd=\initramfs-${KERNEL}.img'" }