diff options
| -rwxr-xr-x | bin/yoda | 12 |
1 files changed, 7 insertions, 5 deletions
@@ -1,7 +1,9 @@ #!/bin/sh # Setup an archlinux system to a media -version='yoda-0.2' +[ "$USER" = root ] || exec sudo "$0" "$@" + +version='yoda-0.3' help() { echo 'usage: yoda [-CV] [-u user] dev @@ -38,7 +40,7 @@ skip() { # return 1 if any of the required commands is missing prereq() { ok='ok' - for cmd in cryptsetup dd fdisk mkfs.fat mkfs.ext4 mount pacstrap genfstab arch-chroot + for cmd in cryptsetup dd fdisk mkfs.fat mkfs.ext4 mkfs.xfs mount pacstrap genfstab arch-chroot do command -v "$cmd" >/dev/null || { ok=''; echo "$cmd not found"; } done @@ -81,7 +83,7 @@ step2() { # Step 3: Format partitions. step3() { mkfs.fat -F32 "${dev}${ppref}1" - yes | mkfs.ext4 "$rootpart" + mkfs.xfs "$rootpart" } # Step 4: Mount partitions. @@ -172,7 +174,7 @@ DNSSEC=no EOT packages="linux linux-firmware intel-ucode amd-ucode sof-firmware \ - dosfstools sudo vi wireless_tools wpa_supplicant openssh arch-install-scripts" + xfsprogs dosfstools sudo vi wireless_tools wpa_supplicant openssh arch-install-scripts" arch-chroot /mnt << EOT locale-gen @@ -237,8 +239,8 @@ while getopts :CFH:S:u:V opt; do done shift $((OPTIND - 1)) -[ "$(id -u)" = 0 ] || die "not root" [ "$1" ] && dev=$1 || die 'no device' + par=${dev##*/}root case $dev in (*nvme*) ppref='p';; esac rootpart="${dev}${ppref}2" |
