[Playwright] is a cross-browser automation framework, intended for automating browser-based GUI application tests. It also works as a general remote-control tool for automating basically anything having to do with a browser. Playwright requires a special Firefox binary that it manages itself. To avoid downloading and installing Playwright and Firefox, and thus storing them in memory, we need them to be already available in the rootfs image. Since I want the control software to be updated easily, without rebooting the machine, I decided to separate it into its own project, [Voonex]. A short shell script to install/update and run it is launched by the systemd user instance. [Playwright]: https://playwright.dev/ [Voonex]: https://git.pyrocufflink.blue/dustin/voonex |
||
---|---|---|
ci | ||
overlay | ||
.gitignore | ||
Makefile | ||
README.md | ||
cmdline.txt | ||
config.txt | ||
mkinitramfs.sh | ||
mkrootfs.sh | ||
prepare.sh | ||
publish.sh | ||
squashfs-exclude.txt |
README.md
Basement Hud Network-Booted OS
Customized Fedora-based operating system distributed as an immutable root filesystem image.
Building
Must run on a Fedora host or privileged container.
Build the root filesystem image:
make rootfs
This will create an _build/rootfs
directory containing the root filesystem
hierarchy. The _build/rootfs/boot
directory contains the necessary files to
boot the system:
efi
: This directory contains the Raspberry Pi firmware filesinitramfs.img
: Early userspace imagevmlinuz
: Kernel imagebasementhud.squashfs
: Root filesystem image
The Raspberry Pi firmware, initramfs image, and kernel image files must be served by a TFTP, while the rootfs image is served by NBD.
Build the initramfs image:
make initramfs