apple-mac-aarch64: add support for os-installer
Installing pmOS (or any distro) on a M-series mac is tricky, each distro on disk has its own ESP, and there are a number of partitions on the disk that should not be touched... so our default technique of pmb install --disk is destructive and "soft bricks" the device.
This adds support for having a custom install/deploy, where if
/etc/os-installer/deploy.sh exists then pmbootstrap generates an
image, exports it, then calls deploy.sh with the path to the image it
created, and does NOT call pmbootstrap install with --disk. deploy.sh
comes from device packages that need to implement custom image
deployment stuff, when using --disk is not appropriate.
If deploy.sh doesn't exist then the standard install (using --disk) will take place.
TODO
-
Fix bug with os-installer allowing users to select partitions even though we told it not to - https://gitlab.gnome.org/p3732/os-installer/-/issues/52
- This feature was added in the main branch and should be in 0.5 when that is tagged...
-
Make the 'deploy' script more robust somehow. This could go sideways and wipe partitions on the macbook that require using DFU to restore (I did it, it works, but it's annoying and you lose data) -
Add support for Apple nvme transport to libnvme, so udisks can 'see' the nvme storage - https://github.com/linux-nvme/libnvme/pull/1071
- Patch submitted / merged in aports: https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/90173
-
The stage 2 binary distributed by the official Asahi installer has really old devicetrees that break loading the asahi GPU kernel driver on my M2 with the latest Asahi kernel. - This would be a nice way to resolve it, but still requires the Asahi folks to build a new UEFI-only image: https://github.com/AsahiLinux/u-boot/issues/2
-
Waiting on: https://github.com/AsahiLinux/m1n1/pull/497 -
Waiting upstream to update https://github.com/AsahiLinux/asahi-installer-data/blob/main/data/installer_data.json#L170