Last active
December 20, 2021 05:29
-
-
Save ckxng/f73f8432ee96937bb7031b183293f25b to your computer and use it in GitHub Desktop.
alpine 3.11 lvm setup
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
setup-keymap | |
setup-hostname | |
setup-interfaces | |
setup-dns | |
hostname=$(cat /etc/hostname) | |
hostname $hostname | |
domainname=$(grep search /etc/resolv.conf|cut -f2) | |
rc-service networking start | |
passwd | |
setup-timezone | |
rc-update add networking boot | |
rc-update add urandom boot | |
rc-update add acpid default | |
rc-service acpid start | |
cat <<EOF >/etc/hosts | |
127.0.0.1 $hostname $hostname.$domainname localhost localhost.localdomain | |
::1 $hostname $hostname.$domainname localhost localhost.localdomain | |
EOF | |
setup-apkrepos | |
apk update | |
setup-sshd | |
setup-ntp | |
apk add lvm2 cryptsetup e2fsprogs parted | |
parted -a optimal /dev/sda mklabel gpt | |
parted -a optimal /dev/sda mkpart primary fat32 0% 200M | |
parted -a optimal /dev/sda name 1 esp | |
parted -a optimal /dev/sda set 1 esp on | |
parted -a optimal /dev/sda mkpart primary ext4 200M 100% | |
parted -a optimal /dev/sda name 2 crypto-luks | |
parted -a optimal /dev/sda --script print | |
cryptsetup luksFormat --type luks1 /dev/sda2 | |
cryptsetup luksOpen /dev/sda2 lvmcrypt | |
pvcreate /dev/mapper/lvmcrypt | |
vgcreate vg0 /dev/mapper/lvmcrypt | |
lvcreate -L 512M vg0 -n swap | |
lvcreate -L 2G vg0 -n root | |
lvcreate -L 512M vg0 -n boot | |
lvscan | |
mkfs.ext4 /dev/vg0/root | |
mkswap /dev/vg0/swap | |
mount -t ext4 /dev/vg0/root /mnt/ | |
apk add dosfstools | |
mkfs.fat -F32 /dev/sda1 | |
mkfs.ext4 /dev/vg0/boot | |
mkdir -v /mnt/boot | |
mount -t ext4 /dev/vg0/boot /mnt/boot | |
mkdir -v /mnt/boot/efi | |
mount -t vfat /dev/sda1 /mnt/boot/efi | |
swapon /dev/vg0/swap | |
setup-disk -m sys /mnt/ | |
blkid -s UUID -o value /dev/sda2 > /mnt/root/uuid | |
echo "lvmcrypt UUID="$(cat /mnt/root/uuid|tr -d '\n')" none luks" >>/mnt/etc/crypttab | |
echo "/dev/vg0/swap swap swap defaults 0 0" >>/mnt/etc/fstab | |
. /mnt/etc/mkinitfs/mkinitfs.conf | |
echo "features=\"$features cryptsetup\"" >/mnt/etc/mkinitfs/mkinitfs.conf | |
mkinitfs -c /mnt/etc/mkinitfs/mkinitfs.conf -b /mnt/ $(ls /mnt/lib/modules/) | |
mount -t proc /proc /mnt/proc | |
mount --rbind /dev /mnt/dev | |
mount --make-rslave /mnt/dev | |
mount --rbind /sys /mnt/sys |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
source /etc/profile | |
export PS1="(chroot) $PS1" | |
apk add grub grub-efi | |
apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/v3.11/community efibootmgr | |
apk del syslinux | |
echo "GRUB_CMDLINE_LINUX_DEFAULT=\"cryptroot=UUID="$(cat /root/uuid|tr -d '\n')" cryptdm=lvmcrypt\"" >>/etc/default/grub | |
echo "GRUB_ENABLE_CRYPTODISK=y" >>/etc/default/grub | |
grub-install --target=x86_64-efi --efi-directory=/boot/efi | |
grub-mkconfig -o /boot/grub/grub.cfg |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment