Create NetizenOS-base chroot using debos #4
Labels
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
bits/neticenter#4
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Create a reduced Debian-based OS that will be one of the foundations of NetizenOS. We want to follow some of the existing Debian-reduction practices that already exist.
The goals of a reduced Debian are as follows:
The community coherence through increased auditability, security, and clarity of purpose in particular will become a critical part of community maintenance. I want core OS issues and patches to be uniform, quickly discoverable, addressable, and easily documented and understood. This is core to the Netizen philosophy that more enabled minds means faster and trusted resolutions.
Usingmmdebstrap, produce a minimal Debian chroot (root fileystem for Linux) — just enough to boot and run apt. No desktop, no recommended packages, no extras.Here's a basic starter guide.mmdebstrap --variant=apt trixie ./rootfs--variant=aptgives you truly the floor — only Essential: yes packages, their hard dependencies, and apt. Around 100MB. Everything else is intntional.Also look at some of the bootstrap steps done in these to see if there's anything new.
https://galaxy.ansible.com/ui/standalone/roles/HanXHX/debian_bootstrap/documentation/
https://galaxy.ansible.com/ui/standalone/roles/pythoniccafe/debian_bootstrap/documentation/
Maybe we should consider debos instead which wraps
mmdebstrap.Debos doesn't have a native qcow2 export action — but it's a one-step conversion after the fact. The output formats debos directly supports are: tarballs via pack, bootable disk images via image-partition + filesystem-deploy, and OSTree commits via ostree-commit. GitHub
The Pattern for qcow2
You produce a raw disk image from debos, then convert it:
Then after debos finishes, one qemu-img command converts it:
Outside of
debosthere ismkosi, which has a larger set of features, such as exporting directly toqcow2and so many more.The reason I am not choosing this one is that I want to continue prioritizing simplicity and minimal design by keeping tools Debian-focused. Using Debian specific tooling lowers the temptation to complicate things with other operating systems that solve some bespoke issue but will make maintenance more difficult in the future.
Depending on a tool with fewer feature keeps the scope focused and dependency low.
Also the licensing for mkosi is rather strange and debops is simply a permissive Apache 2.0 license.
Create NetizenOS-base chroot using mmdebstrapto Create NetizenOS-base chroot using debosClosed with
52c1cbe7a1Added a bunch of considerations around base OS
https://wiki.debian.org/AptConfiguration#apt.conf
https://askubuntu.com/questions/179060/how-to-not-install-recommended-and-suggested-packages
https://wiki.debian.org/ReduceDebian#Remove_non-critical_packages
https://manpages.debian.org/bookworm/systemd-resolved/systemd-resolved.service.8.en.html