Hacker News new | past | comments | ask | show | jobs | submit login

That's not the kernel. I mean, it's the kernel, but not the kernel that the machine boots from.

The built-in bootloader actually boots iBoot2 from /System/Volumes/Preboot/(UUID)/boot/(long hash)/usr/standalone/firmware/iBoot.img4, and that then loads the Darwin kernel from /System/Volumes/Preboot/(UUID)/boot/(long hash)/System/Library/Caches/com.apple.kernelcaches/kernelcache.

However, the system firmware can only boot this from the internal SSD, not from any external storage. When you choose an external disk to boot from (the "bless" thing), those files get copied to the internal SSD, and it boots from that instead.




That's the immutable kernelcache shipped by the machine, and isn't only the kernel but also includes the kexts.

You can then rebuild your own kernel cache from /System/Library/Extensions and /System/Library/Kernels. (eventually with a recompiled kernel)


But note that Intel Macs use a similar but completely different system, also redone in Big Sur, with a set of "kext collection" files in a different location and format. Because that makes so much sense.


So you literally cannot boot an M1 Mac with a nonfunctional internal drive, even if you’re successfully ’booting’ from an external drive before it fails? The SSD is integral to its functioning?


Yes.


Good to know- glad I got a terabyte drive then, since it will less likely suffer a wear failure in its usable lifetime, but sad that a wear part guarantees a finite lifetime for a machine with no moving parts.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: