notes/Void/readme2.md
2023-10-22 04:43:44 +00:00

78 lines
2.8 KiB
Markdown

What is it? null linux is a rebuild of [splitlinux](https://splitlinux.org) with modern features
*"Split Linux is a general operating system optimized for safely navigating hostile environments like the Internet and physical check points."*
![[Pasted image 20230714181622.png]]
Instead of logical volumes we use BTRFS
![[Pasted image 20230714182112.png]]
Instead of Xorg we will be using Wayland
as instead of DWM we will be using Hyprland
we will also be using musl only
first we will wipe the nvme namespaces with 0xffffffff
```
nvme format -s1 /dev/nvme0n1
```
then create the UEFI boot partion:
```bash
parted /dev/nvme0n1 mklabel gpt
parted /dev/nvme0n1 mkpart ESP fat32 1MiB 513MiB name boot
parted /dev/nvme0n1 set 1 esp on
parted /dev/nvme0n1 set 1 boot on
mkfs.fat -F32 /dev/nvme0n1p1
```
This creates a 512 MiB EFI System Partition (ESP) named `boot` at the beginning of the NVMe drive and formats it with the FAT32 filesystem.
*Note: its best to keep boot on a seperate drive but for this alpha instructions we will be containing it on a separate partition*
next create a the luks partition:
```bash
parted /dev/nvme0n1 mkpart primary 513MiB 100%
parted /dev/nvme0n1 name 2 root
```
This creates a partition for the filesystem named `root`
now lets encrypt it:
```bash
cryptsetup luksFormat --iter-time=5000 --hash=sha512 --key-size=512 --cipher=aes-xts-plain64 /dev/nvme0n1p2
cryptsetup open /dev/nvme0n1p2 luks
```
*Note: make sure to backup your luksheader to an encrypted usb drive aswell: *
*Note: I suggest a password with at least 16 characters, preferably more*
```bash
cryptsetup luksOpen /dev/sda4 usb
mount /dev/mapper/usb /media/usb
cryptsetup luksHeaderBackup /dev/nvme0n1p2 --header-backup-file /media/usb/luksheader.bak
sync
umount /media/usb
```
*note to self: add gpg encryption aswell and check if --allow-discards for trim is good on nvme0n1p1*
create the btrfs filesystem:
```bash
mkfs.btrfs /dev/mapper/luks
```
this creates a btrfs filesystem on the encrypted patrition
Mount the Btrfs filesystem and set up subvolumes:
```bash
mkdir /mnt/null
mount /dev/mapper/luks /mnt/null
btrfs subvolume create /mnt/null/@
btrfs subvolume create /mnt/null/@home
btrfs subvolume create /mnt/null/@snapshots
umount /mnt/null
```
*Note: setup so /var/log and /var/log/audit are on seperate partitions aswell as /tmp and /var/tmp*
This creates three Btrfs subvolumes for the root filesystem, home directory, and snapshots.
```bash
mount -t btrfs -o noatime,relatime,compress=lzo,ssd,space_cache=v2,subvol=@ /dev/mapper/luks /mnt/null
```
*Note: we unmount /mnt/null so we can use the btrfs subvolume `@`*
```bash
cd /mnt/null
wget https://repo-default.voidlinux.org/live/current/void-x86_64-musl-ROOTFS-20230628.tar.xz
tar xvf void-<...>-ROOTFS.tar.xz -C /mnt/null
```
https://gist.github.com/gbrlsnchs/9c9dc55cd0beb26e141ee3ea59f26e21