Adding disk-layout doc and reconsidering life choices

This commit is contained in:
2026-09-13 22:10:11 +02:00
parent 23597e3a36
commit 0df33175b3
3 changed files with 29 additions and 8 deletions
+17
View File
@@ -0,0 +1,17 @@
[Back to index](index.md)
# Disk Layout
EFI partition - FAT32
Root partition - bcachefs
SWAP - optional
Bcachefs subvolumes:
`/home`
`/usr`
`/var`
`/var/tmp`
`/usr` and `/var` supposed to be captured by snapshots
`/var/tmp` - need to be excluded from snapshots so making it separate subvolume
+2
View File
@@ -1,3 +1,5 @@
# Documentation for Kira Linux
[Disk Layout](disk-layout.md)
[Update Process](updates.md)
+10 -8
View File
@@ -2,17 +2,19 @@
# Update process
Main feature of Kira Linux is atomic (to some degree) update process that allows roll back of unsuccessful or broken updates.
Kira Linux provides atomic (to some degree) update process that allows roll back of unsuccessful or broken updates.
We achieve this by relying on bcachefs snapshots and subvolumes.
The main internal routine is as follows:
1. Before update process snapshot /usr and /var directories.
Put snapshots to `/bzz-snaps` directory named as `bzz-usr-yyyy-mm-ddTHH-MM-SS` and `bzz-var-yyyy-mm-ddTHH-MM-SS`
2. Set update status in `/var/lib/hive-up/hyve-db.json` as failed (`update_status = false`)
3. Perform update (`pacman -Su`)
4. If update was successful, set update status in `/var/lib/hive-up/hyve-db.json` to true.
5. Process with reboot.
6. On boot **nyanit** reads update status from `/var/lib/hive-up/hyve-db.json` and if it is false **nyanit** roll back latest snapshots from `/bzz-snaps` dir.
1. When perform update (`pacman -Su`) - pacman hook that triggers before a system upgrade by using the "When = PreTransaction"
- will snapshot /usr and /var subvolumes and put snapshots to `/bzz-snaps` directory named as `bzz-usr-yyyy-mm-ddTHH-MM-SS` and `bzz-var-yyyy-mm-ddTHH-MM-SS`
- will create file `/var/lib/hive-up/lock`
2. If update was successful, remove file `/var/lib/hive-up/lock` by another pacman hook
6. On boot **nyanit** check file existence `/var/lib/hive-up/lock` and if it is false **nyanit** roll back latest snapshots from `/bzz-snaps` dir.
7. Otherwise boot as usual.