Enable rootless image builds #1
Loading…
Reference in a new issue
No description provided.
Delete branch "deftdawg/rootless"
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?
This should be considered a draft PR as I've built images with it and inspected them (EFI looks part good, kernel and ramdisk included), but haven't confirmed they run on my PS5.
This has now been tested with an Alpine Linux build off of a different USB... Booted right up into Ubuntu desktop, configured Keyboard, Wifi and User info... USB is very slow, so not going to wait for it to finish whatever it's trying to do after that.
I also wrote some additional scripts and tooling stuff to validate the images looked okay post-build and to boot them with QEMU to make sure they're bootable, I'll PR that separately.
Update: it appears to hang at this screen because it's trying to run "unattended upgrades" i.e. it's doing apt-get update; apt-get upgrade on my suck-ass USB that can only write at ~20MB/s 🤣
Found this out when I flipped to a console and tried to ctrl-alt-del reboot and the job wouldn't shutdown:

Thanks for tackling rootless — agree it's the right direction architecturally, and tightening
chroot_cache_completeto requirebzImage+initrd.imgwould have caught one of the failures we hit today.We're mid-debug on a real-PS5 boot regression right now (amdgpu probe -EINVAL on FLAVA3 → display dies mid-boot), and merging a full build-pipeline rewrite untested would entangle two failure modes. Holding the merge until at least one image is confirmed to boot a real PS5.
I'll likely take it for a spin once our current display issue is sorted. Two non-blocking suggestions when you come back to it:
--branch v3.3.1. The Python heredoc rewrites two literal blocks ofshared/chroot.go— any upstream text drift will fail the build withSystemExit("patch context not found"). A pinned SHA makes the patch surface stable./dev/null → /dev/consolebind: practical but could mask chroot scripts that legitimately write to console (e.g. a getty / systemd-logind PAM session would order against a null sink). Worth a comment in the patch.Appreciate the work — will revisit soon.
I'm out of my mind, sleep deprived an alpine image shouldn't be doing deb package updates... I need to fix this; back to WIP.
UPDATE: Building does work rootless, but need to
--cleanotherwise it takes the wrong root image, I was able to boot alpine which yeeted itself instantly trying to resize the slow boot USB drive.View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.