-
-
Save mybigman/cc0503f916421c406f73a48f1c0bc728 to your computer and use it in GitHub Desktop.
alpine 3.11 lvm setup
This file contains hidden or 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 hidden or 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