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 # Documentation for Kira Linux
[Disk Layout](disk-layout.md)
[Update Process](updates.md) [Update Process](updates.md)
+10 -8
View File
@@ -2,17 +2,19 @@
# Update process # 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. We achieve this by relying on bcachefs snapshots and subvolumes.
The main internal routine is as follows: The main internal routine is as follows:
1. Before update process snapshot /usr and /var directories. 1. When perform update (`pacman -Su`) - pacman hook that triggers before a system upgrade by using the "When = PreTransaction"
Put snapshots to `/bzz-snaps` directory named as `bzz-usr-yyyy-mm-ddTHH-MM-SS` and `bzz-var-yyyy-mm-ddTHH-MM-SS` - 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`
2. Set update status in `/var/lib/hive-up/hyve-db.json` as failed (`update_status = false`) - will create file `/var/lib/hive-up/lock`
3. Perform update (`pacman -Su`)
4. If update was successful, set update status in `/var/lib/hive-up/hyve-db.json` to true. 2. If update was successful, remove file `/var/lib/hive-up/lock` by another pacman hook
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.
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. 7. Otherwise boot as usual.