docs(os): Explain sgdisk disk setup (#3)
This commit is contained in:
parent
af9deec753
commit
7384dd769b
28
README.md
28
README.md
@ -11,6 +11,34 @@ We expect minimal prep on your end. Please make sure that before execution the f
|
||||
- The `EF00` EFI partition is mountable, in practical terms this usually only means it has a file system.
|
||||
- No ZFS zpool exists
|
||||
|
||||
### How to prep
|
||||
|
||||
On a blank example disk `/dev/sda` you can fulfill the requirements (One `EF00` partition with a file system plus one `BF00` partition) for example like so:
|
||||
```
|
||||
sgdisk --new '1::+100M' --new '2' --typecode '1:EF00' --typecode '2:BF00' /dev/sda
|
||||
mkfs.vfat /dev/sda1
|
||||
```
|
||||
> `--new '1::+100M'`: Create partition number `1`. The field separator `:` separates the partition number from start sector. In this case start sector is unspecified so start sector sits at whatever the system's default is for this operation. On a blank disk on an Arch Linux live CD ISO image this will default to sector `2048`. Partition ends at whatever the beginning is `+100M` meaning plus 100 Mebibytes.
|
||||
>
|
||||
> `--new '2'`: Create partition number `2`. Both field number 2, the start sector, and field number 3, the end sector, are unspecified, there's no field separator `:`. Field number 2 will be the first free sector - in this case right after partition 1 - and field number 3 will be end of disk. Thus partition `2` will fill the remaining free disk space.
|
||||
>
|
||||
> `--typecode '1:EF00'`: Partition 1 gets partition type code `EF00`, an EFI system partition.
|
||||
>
|
||||
> `--typecode '2:BF00'`: Partition 2 gets partition type code `BF00`, an Solaris root partition.
|
||||
|
||||
The result will be something like this at which point you can start the `setup.sh` script, see [How to run this?](#how-to-run-this) below for more details.
|
||||
```
|
||||
# lsblk --paths
|
||||
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
|
||||
/dev/loop0 7:0 0 688.5M 1 loop /run/archiso/airootfs
|
||||
/dev/sr0 11:0 1 810.3M 0 rom /run/archiso/bootmnt
|
||||
/dev/sda 202:0 0 10G 0 disk
|
||||
├─/dev/sda1 202:1 0 100M 0 part
|
||||
└─/dev/sda2 202:2 0 9.9G 0 part
|
||||
```
|
||||
|
||||
## ZFS dataset layout
|
||||
|
||||
The script will create a single ZFS zpool `zpool` on the `BF00` partition with dataset child `zpool/root` which itself has one child `zpool/root/archlinux`, that's where Arch Linux gets installed. Parallel to `zpool/root` it'll create `zpool/data` with a `zpool/data/home` child dataset that gets mounted at `/home`.
|
||||
|
||||
The script will use the `EF00` partition to install a ZFSBootMenu EFI executable if `efibootmgr` says that no such `ZFSBootMenu` entry exists. If ZFSBootMenu gets added to the EFI partition it'll become primary boot option.
|
||||
|
Loading…
x
Reference in New Issue
Block a user