27 lines
1006 B
Bash
Executable File
27 lines
1006 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
. "std.sh"
|
|
info "Bootloader setup"
|
|
|
|
pacinstall jq
|
|
pacinstall efibootmgr
|
|
|
|
disk_part=$(lsblk -o NAME,PARTN --noheadings --json | jq -r '.blockdevices | map(select(.children != null)) | map(. as $disk | .children | .[] | "\($disk.name) \(.partn)") | .[]' | fzf --prompt="boot device> ")
|
|
|
|
disk=$(echo $disk_part | cut -d" " -f1)
|
|
part=$(echo $disk_part | cut -d" " -f2)
|
|
|
|
root_part=$(lsblk -o KNAME,NAME --json | jq -r '.blockdevices | map(select(.children != null)) | .[].children.[].kname | "/dev/\(.)"' | fzf --prompt="root device> ")
|
|
|
|
uuid=$(sudo blkid "${root_part}" -o json | jq -r .uuid)
|
|
|
|
sudo sh -c "sed "s/@UUID@/${uuid}/" ./system/limine.conf > /boot/EFI/limine/limine.conf"
|
|
|
|
sudo mkdir -p /boot/EFI/limine/
|
|
sudo cp /usr/share/limine/BOOTX64.EFI /boot/EFI/limine/BOOTX64.EFI
|
|
efibootmgr --create "${disk}" --part "${part}" --label "Archl" --loader '\EFI\limine\BOOTX64.EFI' --unicode
|
|
|
|
sudo cp ./system/99-limine.hook /etc/pacman.d/hooks/99-limine.hook
|
|
|
|
info "Bootloader setup done"
|