Our great sponsors
-
The changes are in macOS’s bootloader. Previously, the bootloader was only designed to load a macOS kernel executable, which was stored on disk as a Mach object file with some particular constraints. The Asahi project had to use a rather ugly linker script to generate an executable that “looks like like” a macOS kernel but is actually a first-stage Linux bootloader [1].
In macOS 12.1, Apple engineers changed the format of the kernel image, which broke the Asahi install process. However, they also added a “raw image mode” which allows the bootloader to load things that don’t look like macOS kernels — it’s an officially-supported boot flow for the Asahi project to use going forwards without fear of macOS updates breaking it again. (Plus, it makes that linker script much simpler [2]).
[1]: https://github.com/AsahiLinux/m1n1/blob/84acf60c24b8c9e28e60...
-
Check out https://libimobiledevice.org; iOS provides access to your Photos.app's SQLite database, including machine learning tags and other metadata.
Or the defaults(1) command, or how networking config works (it's just plain BSD configs with a GUI on top).
Apple isn't against tinkering or customization, they just don't document or guarantee it.
-
Scout APM
Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.