This is a personal image for testing a custom build for Bluefin and Aurora with modifications to support custom hardware: an old Intel Macbook Pro 13,1 (A1708). Other immutable flavours will likely work just fine, just need to alter the recipe to specify another base-image.
- Working ✅
- This needs a kernel module patch compiled from source.
- See the install script here: audio.sh
- Generally when an external script is called, they make use of
uname -r
to determine the current release of Linux - This fails in the build process (Github actions), as this is reported as
azure
(Microsoft's Azure Linux Container OS host) - To overcome this, the installed kernel release can be found with
rpm -qa kernel | cut -d '-' -f2-
- With this script, the downloaded external Makefile is modified in-place using
sed
to explicitly pass the kernel release todepmod -a
- Working ✅
- Building this was a nightmare! Akmods aren't the easiest!
- See the install script here: webcam.sh
- This needed a few fixes for the build to work (directory permissions, directories not existing, and build flags...)
- The worst was patching
/usr/sbin/akmods
to remove the--nogpgcheck --disablerepo
flags as these failed the build!
- Working ✅
- this was working OOB until fairly recently, but broke on an update...
- to re-enable this, in terminal type
ujust configure-broadcom-wl
- reboot, then configure WiFi in settings :)
- Not Working ❌
- There is no easy fix for this, so the targets are currently disabled using systemctl
- See the script here: disable_sleep.sh
- There may be a way to improve things...
- See the info here about disabling the NVMe controller's power state (
d3cold_allowed
) - ... however, I can live without sleep! ☕
- Minimal testing has been done, use at your own risk!
- Pull requests welcome!
- Install Bluefin from their official iso from here...
- (reason: have not worked out how to generate an .iso!)
- enable wifi (see above for ujust terminal command)
cosign verify --key "https://raw.githubusercontent.com/transilluminate/ublue-macbookpro/refs/heads/main/cosign.pub" "ghcr.io/transilluminate/macbookpro-bluefin"
cosign verify --key "https://raw.githubusercontent.com/transilluminate/ublue-macbookpro/refs/heads/main/cosign.pub" "ghcr.io/transilluminate/macbookpro-aurora"
- from within an existing rpm-ostree installation (i.e. Bluefin)
- load a terminal, rebase to this image, then reboot:
sudo rpm-ostree rebase ostree-image-signed:docker://ghcr.io/transilluminate/macbookpro-bluefin
systemctl reboot
- alternatively the Aurora image can be used:
sudo rpm-ostree rebase ostree-image-signed:docker://ghcr.io/transilluminate/macbookpro-aurora
systemctl reboot
- any issues, this can then be rolled back:
sudo rpm-ostree rollback
- or back to the 'stock' bluefin version:
sudo rpm-ostree rebase ostree-image-signed:docker://ghcr.io/ublue-os/bluefin:latest
- This was initialised from BlueBuild workshop
- The cosign was automatically applied...
- Alternatively, you can do this manually:
- first install cosign (i.e. MacOS homebrew)
brew install cosign
- generate keys
cosign generate-key-pair
- copy
cosign.pub
to the root of the github repo - within settings, 'Actions secrets and variables', set up a secret variable named SIGNING_SECRET with the contents of
cosign.key
- Install Pull app for automatic updates
- The build process is automatic with Github actions:
- The Github workflow is triggered (see .github/workflows/build.yml)
- This loads both the recipes to build (see the recipes folder)
- This in turn calls various custom scripts (see the scripts folder)
- On successful build this is pushed to the container registry (ghcr.io) where it can be pulled...