Add a Readme with build procedure details

master
LEdoian 9 months ago
parent 32cfba2ed8
commit 2a06701c66

@ -0,0 +1,53 @@
LEdoian's debuging Arch live medium
===================================
Use at own risk. There is probably nothing clever, I just followed
[ArchWiki](https://wiki.archlinux.org/title/Archiso)…
Building notes
--------------
I am not too fond of running `mkarchiso` as root on my machine, so I spin up a
VM:
```
qemu-system-x86_64 -enable-kvm -m 4G -machine q35 -cdrom archlinux-2024.01.01-x86_64.iso -drive if=virtio,format=raw,file=vm.img,cache.no-flush=yes,media=disk
```
The `vm.img` is a 20 GB space to clone this repository into, somewhere.
To build, we need to install archiso (and probably also git) to the VM.
A pitfall is that `mkarchiso` still downloads packages to
`/var/cache/pacman/pkg`, which means that the VM's rootfs gets full too early.
The solution is either to get enough RAM to fit the whole cache (the current
package set is ~2.5 GB), but symlinking `/var/cache/pacman` to a directory in
the 20 GB space. Pacman does not seem to complain, and if the used parts of the
auxiliary storage fit in RAM, it should be similarly fast (the
`cache.no-flush=yes` option does not flush the host's block cache, or
something, I might not understand this correctly but I think it goes brrrrr).
After about 1.5 h we get the result: 5.6 GB worth of images 2.8 GB for the
iso, 2.8 for netboot files (which seem to mainly duplicate the iso contents,
but I understand why they were exported separately).
In hindsight: I could also tweak the `pacman.conf`, but I came up with the
symlink earlier…) Giving the VM more CPUs would speed up the squashfs creation,
but I didn't. (I wanted the numbers above to have at least some semantics…) The
20 GB space is _not_ enough for non-interactive run, I had to clean pacman's
package cache in order to not run out of space. So 25 GB might be enough (for
anybody)…
License
-------
If you (or a lawyer) thinks a random subset of Arch's packages really counts as
copyrightable work, let me put it under CC0-1.0.
This README is under CC-BY-4.0, but I can negotiate exceptions.
The rest might be a part of the
[archiso project](https://gitlab.archlinux.org/archlinux/archiso), `pacman`
tells me that it is licenced under GPL-3.0-or-later.
Overall, this repository is likewise under GPL-3.0-or-later.
Loading…
Cancel
Save