User:WavyEbuilder/Gentoo Hardened Verified Boot Install/Disk Setup
From Gentoo Wiki
Jump to:navigation
Jump to:search
Firstly, we need to setup our disks. I'll operate under the assumption the block device being operated on is /dev/nvme0n1, so make sure to substitute that for your real block device.
Partition Layout
The table below below shows the partition layout we will be using:
Partition | Size | Gdisk Hex Code | Filesystem | Description | Mountpoint |
---|---|---|---|---|---|
/dev/nvme0n1p1 | 512 MB | EF00 | Fat32 | EFI System Partition | /efi |
/dev/nvme0n1p2 | 4 GB | EA00 | Fat32 | XBOOTLDR Partition | /boot |
/dev/nvme0n1p3 | Ram Size | 8200 | Swap | Swap Partition | [SWAP] |
/dev/nvme0n1p4 | 50 GB | 8314 | LUKS + BTRFS | Linux x86-64 /usr Partition | /usr |
/dev/nvme0n1p5 | 5 GB (10% of /usr) | 8319 | Verity | Linux x86-64 /usr verity | [VERITY] |
/dev/nvme0n1p6 | Rest of Drive | 8304 | LUKS + BTRFS | Linux x86-64 root (/) | / |
While swap is optional, it is recommended to at least have 8 GB. For hibernation to work, you'll need at least the amount of swap as system memory. /usr is recommended to be at least 50 GB, however users with a smaller disk size should be able to get away with 20 GB.
Partitioning Drives
Now its time to partition our drives according to our partition layout:
root #
sgdisk -Z -o /dev/nvme0n1 \
-n 1::+512M -t 1:EF00 -c 1:"esp" \
-n 2::+4G -t 2:EA00 -c 2:"boot" \
-n 3::+$(free -g | awk '/^Mem:/{print $2}')G -t 3:8200 -c 3:"swap" \
-n 4::+50G -t 4:8314 -c 4:"usr" \
-n 5::+6G -t 5:8319 -c 5:"usr_verity" \
-n 6::: -t 6:8304 -c 6:"root" && \
echo -e "SUCCESS"
GPT data structures destroyed! You may now partition the disk using fdisk or other utilities. The operation has completed successfully. SUCCESS