43 lines
1.3 KiB
Bash
Executable File
43 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
source env.sh
|
|
|
|
#Parted
|
|
pacman -Sy && \
|
|
yes | pacman -S parted && \
|
|
parted -s $DISK mklabel gpt && \
|
|
parted -s -a optimal $DISK mkpart "primary" "fat32" "0%" "512MiB" && \
|
|
parted -s $DISK set 1 esp on && \
|
|
parted -s -a optimal $DISK mkpart "primary" "ext4" "512MiB" "100%" && \
|
|
parted -s $DISK set 2 lvm on && \
|
|
|
|
#Cryptosetup
|
|
cryptsetup luksFormat --type=luks1 $DISK\2 && \
|
|
cryptsetup open $DISK\2 lvm-system && \
|
|
|
|
#Lvm setup
|
|
pvcreate /dev/mapper/$CRYPT_N
|
|
vgcreate $LVM_N /dev/mapper/$CRYPT_N
|
|
|
|
lvcreate -L 2G $LVM_N -n volSwap && \
|
|
lvcreate -L 10G $LVM_N -n volRoot && \
|
|
lvcreate -L 2G $LVM_N -n volHome && \
|
|
|
|
#Filesystems and mount
|
|
mkswap /dev/$LVM_N/volSwap && \
|
|
mkfs.fat -n ESP -F 32 $DISK\1 && \
|
|
mkfs.ext4 -L volRoot /dev/$LVM_N/volRoot && \
|
|
mkfs.ext4 -L volHome /dev/$LVM_N/volHome && \
|
|
swapon /dev/$LVM_N/volSwap && \
|
|
mount /dev/$LVM_N/volRoot /mnt && \
|
|
mkdir -p /mnt/home && \
|
|
mount /dev/$LVM_N/volHome /mnt/home && \
|
|
mkdir -p /mnt/boot/efi && \
|
|
mount $DISK\1 /mnt/boot/efi && \
|
|
|
|
#basestrap, fstab, chroot
|
|
basestrap /mnt base base-devel openrc elogind-openrc linux-hardened linux-hardened-headers linux-firmware && \
|
|
fstabgen -U /mnt >> /mnt/etc/fstab && \
|
|
echo "tmpfs /tmp tmpfs rw,nosuid,noatime,nodev,size=4G,mode=1777 0 0" >> /mnt/etc/fstab && \
|
|
cp after-chroot.sh env.sh /mnt/root/ && \
|
|
artix-chroot /mnt /bin/bash |