https://github.com/AsahiLinux/docs/wiki/Introduction-to-Appl...
https://github.com/AsahiLinux/docs/wiki/Introduction-to-Appl...
AsahiLinux's Introduction to Apple Silicon - https://news.ycombinator.com/item?id=30699794 - March 2022 (5 comments)
Edit: I think it makes sense for us to change the URL from https://github.com/AsahiLinux/docs/wiki/Apple-Silicon-Subsys... to this.
Lists of other pages tend not to make good HN submissions—as HN itself is already a list of pages, it's too much indirection. It's better to submit the most interesting element of the list. If there's a more interesting page than the overview one, we can change the above URL again.
The problem with these 100% vertically integrated stacks is that every hardware release could be completely different and it'll take years to catch up with just that release. In the intervening time more hardware generations were released - It's been 18 months since the M1 release. Asahi doesn't have 3D acceleration, video encode/decode acceleration, or support for many of the things that make Apple Silicon any good (i.e. the fixed function / low power consumption hardware for the majority of user tasks). At this rate it's going to be years before it's "done" and we already have a successor generation of hardware.
I'll leave you with a quote from the Asahi docs
> Development for an undocumented platform is a treadmill of work. Every new feature requires reverse engineering the relevant hardware, writing drivers, testing those drivers, then getting them upstreamed. Even after a driver is upstreamed, maintenance and optimisation is sometimes required, for example if Apple introduce a breaking change to any firmware we are required to interface with. For developers the work is never really done
It's the same reason we don't have third-party images for most Android phones that are anything beyond tweaks of existing Android images.
I don’t think Apple is trying to get in their way.
Also… developing for documented hardware is also an endless treadmill of work as it evolves/new products are released.
It just has much less uncertainty.
I 100% agree it would be awesome if Apple released full documentation. Broadcom too. Probably others.
(All IMHO)
I wasn't trying to take anything away from them at all. It's astounding what they're accomplishing but the fact that it's necessary for this situation to exist at all is what I'm mainly commenting about.
If I had to put a label on their stance, it'd be "chaotic neutral".
Also, designing the boot menu so that unsigned OSes can show up as valid choices or be set as the default OS.
As well as the EULA allowing the use of unsigned OSes.
Nope. Security settings on the Intel Macs were per machine just like other PCs.
The system of allowing per partition security settings so the user could install an unsigned OS without it effecting the security when booted into MacOS is new on Apple Silicon Macs.
As the Asahi Wiki puts it:
>From a security perspective, these machines may possibly qualify as the most secure general purpose computers available to the public which support third-party OSes, in terms of resistance to attack by non-owners.
https://github.com/AsahiLinux/docs/wiki/Introduction-to-Appl...
Those sources are wrong. Apple doesn’t need to add or release anything to test their own hardware, they have an in-house Linux that hardware bringup uses.
But realistically with Apple you don't know what's going to happen. They could be silent forever. They could suddenly dump a whole pack of documentation out tomorrow. An official position would be nice.
Switching it round though, 99.99% of customers are buying a toaster. I put bread in. It makes toast. I eat toast. Does it make commercial sense to support the 0.01% use case? That's their equivalent model of supporting the iPhone 5's market share for example.
Fair enough. I think most toaster manufacturers will at least test what happens when you put a bagel inside, though. If said bagel causes an electrical fire or doesn't toast as well as the previous model did, it doesn't matter if ~1% of users will encounter it; it probably needs to get fixed before it ships.
I think this fully extends to Apple Silicon as well. Apple's "contributions" to Asahi mostly amount to adding a feature that pre-existed on x86 machines, and probably intended for Bootcamp/Windows rather than Linux. Hell, there's compelling evidence that Apple simply uses that functionality to flash testing firmware onto Macbooks, and the Linux compatibility is just a nice side-effect. Much like you said though, with Apple you never know. Until they release an official statement on the matter, it can only be assumed it's a coincidence.
Nope.
Apple tossed out the UEFI used by Intel Macs and replaced it with a system that allows you to control the security settings per partition, so you can have a single machine with full security enabled on your Mac partition while allowing for the installation of an unsigned OS on the same disk.
It's a complete replacement of the boot system that preexisted on x86 machines.
Apple implementing things like they have here is about as official a position they can make without making commitments to having to respond to requests from developers as to how to do this.
It was a violation of their terms of service, but they didn't prosecute people that didn't try to make money with it.
It's like saying "we'll leave this tiny window open. Suit yourselves"
Help is good. But getting out of the way sounds like a good consolation prize.
The EULA on the Apple Silicon Macs allows you to run another OS.
Apple put in a large amount of work to design a system that applies security settings per partition instead of per machine, so that installing an unsigned custom OS doesn't require you to turn off "Secure Boot" for the whole machine.
>At this point, it's pretty likely that M2 will be at feature parity with M1 with <24h of actual work.
>On a personal note, the most interesting part here is that I did the release (and am writing this) on an arm64 laptop. It's something I've been waiting for for a _loong_ time, and it's finally reality, thanks to the Asahi team. We've had arm64 hardware around running Linux for a long time, but none of it has really been usable as a development platform until now.
https://lore.kernel.org/lkml/CAHk-=wgrz5BBk=rCz7W28Fj_o02s0X...
Linus mostly compiles kernels and merges things and maybe replies to emails using a terminal, which is very different than most non-kernel development folks' idea of daily driveable. There's the whole GPU thing for example.
As a different reminder - Linux never worked really all that well on Apple's x86 hardware in the recent past!
Also as an compare and contrast - Lenovo has a dedicated Linux team to support Linux on standard x86 hardware - https://www.phoronix.com/news/Lenovo-Linux-2022-State - so does Dell. It takes a lot more than oh we will merely make sure other OS is a policy and rest is left to you to figure out OtherOS folks.
There's no evidence at all that it is an attempt to block repairs with older hardware.
edit: if you think about it, it's even more awkward for Apple - now they have to have two sets of parts inventory for repairs, etc. It doesn't really make sense to do that unless you have a technical justification.
If you were handling this situation for Apple, how would you handle customer support for non-apple OSes?
It's not quite slippery slope, because at least under slippery slope it's other people who are the concern. Apple could just choose to do the easy stuff and not the hard stuff! They could release documentation with no promise of support! You see the same argument with open sourcing things; "Oh well then I'd have to support it". Just literally choose to let people see the code and also choose not to give them support. Who exactly is gonna twist your arm?
If Qualcomm or Nvidia had half the compatibility discipline Apple had, third-party images for Android hardware would absolutely be a thing.
As someone who grew up with an Apple II+, this "no user serviceable parts inside" mentality has infuriated me about Apple since 1984, so this is nothing new. I've long wanted to love Apple products, but that footgun just has to come out.
But I'll give Apple a great deal of credit that they have (even if unofficially) helped rather than hindered the Asahi project. Make a Mac that uses off-the-shelf SSDs at the very least (RAM is a second rant), and I'd be in "shut up and take my money" mode.
Still, this a much more palatable proposition than soldered-in storage. Just be sure you get the RAM you need, because there's no upgrading it.
https://arstechnica.com/gadgets/2022/03/explaining-the-mac-s...
The Asahai Linux lead Has addressed this directly today.
>Okay, it's been over a year, and it's time to end the nonsense speculation.
I have heard from several Apple employees that:
1. The boot method we use is for 3rd-party OSes, and Apple only use it to test that it works, because 2. It is policy that it works.
Apple didn't "leave the door open" for 3rd party OSes. Apple explicitly engineered 3rd party OS support in, and it is a hard policy requirement that it continue to work.
Publicly documented feature; Openly improved over time; Multiple employees confirm it's for us, not for Apple; Multiple employees confirm it's staying by policy.
Apple gives users explicit permission to run their own OS in their EULA.
In Japan the Famicom was open, and it got flooded with junk like the Atari 2600 did. This threatened the same problems as Atari ran into.
The Famicom Disk System relied on a strange copyright check on the physical disks to make them harder to pirate. It worked better than nothing, but not perfectly.
The NES came out after the disk system but before the first mapper chips (which Nintendo controlled tightly for a few years) in 1985. By that time they had been through the problems in Japan and seeing what happened in America with the Atari crash
Nintendo, rightly, knew they couldn’t let it happen again in America. They needed to show their console wouldn’t be full of complete trash, so they used the lockout chip to ensure all publishers had to through them.
It’s a big part of why they were successful and able to reinvigorate the US market. It worked until the chip was cracked later in the console’s lifecycle. But by then the threat passed, the NES was safely ensconced.
They’ve never forgotten that lesson.
(No comment on fans)
It wasn’t just about protecting the brand, it was also every bit about collecting money at every single step of the production pipeline. They were able to not only have some better QC, but they were able to literally tell developers “no, you cannot make your game for anyone else. If you do, you’re not allowed to make it for the Nintendo, and that sucks for you because we have ~80% of the market.“
They did it so they could enforce what was functionally a monopoly on the games industry. Sega went to great lengths to undo Nintendo‘s grasp, and ultimately they weren’t even successful - they got a notable carve out of the market but it was still Nintendo’s industry.
It took Sony going on a revenge tour (touting their CD format and wildly generous/unsustainable licensing deals) after Nintendo backstabbed them to finally dethrone Nintendo and end the norm that was their walled garden/top down control of the console games world.
You absolutely can (no EULA when booting into recovery partition), and I’m also fairly sure that acceptance would be legally void, as it only applies to the software. The hardware you own, it’s not licensed to you.
And thanks to the first sale doctrine, there’s nothing stopping someone from starting to sell M1/M2 MacBooks running Asahi commercially.
> You do have to click through Apple's EULA in order to use the machines at all.
> Owner control is asserted on first boot (you become machine owner by going through the macOS setup flow and creating the first admin user).
> The SEP maintains a database of machine owner users. The first such user is created when the user goes through the macOS boot flow on first startup from a factory-fresh state (or after a full DFU wipe). Subsequent machine owners can only be created by authenticating with an existing owner's credentials.
> Permissive Security allows for ~all security features to be disabled, and third-party kernels to be installed. No phoning home is required. Downgrading to Permissive Security requires booting in 1TR paired to the specific OS involved, and authenticating using machine owner credentials.
It seems to me that you can boot into the recovery partition but in order to be able to boot Linux, you need to authenticate using machine owner credentials, which you only get if you go through setup of the OS, for which you need to accept the EULA. However, on the good news front, OP also writes that no internet access is required for any of these steps.
Sorry, what? Does buying a device from Apple contractually oblige me to turn on the phone and agree to the EULA on "first run"? What about second hand markets?
What if I was smart / tooled up enough to replace the Iphone flash storage with my own OS (without running "first run")?
At what "technical level" would what your saying make any sense? Because it seems far more like a "contractual condition of purchase" (I appear to have made that term up) issue vs a "technical" issue to me.
How much this mechanism enforced by the SEP can be circumvented with physical access by e.g. desoldering some components and replacing them with alternatives, I don't know. If the SEP is located on the main M1 SoC, you will probably have a hard time though.
Also note that this thread is talking about laptops, not phones.
Hmm, again a "theory" - its a software limit not a hardware one. If I could pwn apples root account that statement would not hold true (I dont write exploits against Apple, I dont know what's "state of the art").
My initial comment was to point out the fact "at a technical level" is a silly comment, at a "technical level" there is likely to always be > 0 vulnerabilities so you are wrong (hence current Apple root access on Iphones through "jail breaking")
> Also note that this thread is talking about laptops, not phones.
Ironically Iphone is probably harder than a laptop, I moved the goal posts against myself (see latest M1/M2 kernel upstream work as evidence of that) - which I appreciate is annoying, so sorry for that!
An alternate view on the EULA is that it is a legal statement that nobody can get into trouble with any DCMA stupidity if they want to boot their own OS.
Contrast this with the Playstation 2 debacle, where you were only allowed to boot Sony's Official Linux. Which they then attempted to disable / withdraw when it was used to attack other parts of the Playstation copy protection system.
Apple has also provided a way for ARM Linux VMs to use Rosetta2 for Intel binaries. So they are clearly aware of the wants, needs and usefulness of running other OSs. The cynical might say this was only done to support some internal project that uses Docker, but why put in the effort to make it available to everyone?
The current situation does not preclude providing assistance in the future - Apple still hasn't finished replacing all of the Intel products.
All that is left is a way to stop the phone home when you need to do a DFU restore if you set up the 'restore server' first as an owner when you first set up the device. I think corporations and other large organizations would find that end to end assurance useful. Also would be part of removing the dependence from apple to do activation locks and MDM for corps and nerds who want full ownership over their devices. Or some sort of offline DFU restore mode for people who need the ability to do airgapped / isolated updates and wipes.
But I also see how that can be leveraged in bad ways by some governments and thieves, so looking at the system balance they chose where a very small lynchpin moment requires phone home is and understandable compromise, even though I don't agree with it fully.. I wonder if the phone home could be done behind VPNs and such, or does it block that?
Note that the opaque and closed nature of the Apple Silicon platform (unlike AMD / Intel or other ARM CPUs that support a plethora of OSes and allow their development) hugely constrain our consumer rights, right to repair and computing freedom.
> Definitely worth referencing next time someone on HN or elsewhere claims Apple's trying to lock down their computers to running macOS only.
I do say this often here vocally that with Apple Silicon Apple does plan to lock down the Mac platform in the future. The key point though is that it will happen only once the Apple Silicon Mac platforms reach a critical level of adoption. Technically, it is trivial now for them to lock the bootloader and completely lock down every mac with a firmware update. But commercially it is not yet a viable move for them as the backlash to such a move would generate a lot of bad PR that would hurt the sale and adoption of the ARM Macs. Apple learnt that lesson when they introduced the Mac Minis with soldered RAM and SSDs - it was the worse selling Mac Mini model, and they were forced to step back, slowdown and reintroduce another model with removable RAMs.
The pattern of how Apple has been increasingly locking down the Mac platform is evident:
1. The first few Intel Mac Minis allowed you some level of customisation of both the hardware (change RAM or HDD / SSD) and software (install other full featured OS).
2. Then came the Mac Minis with soldered RAM and SSD. You could no longer customise the hardware. Software was still customisable and you could still install other OSes. (Recall that Apple even offered free drivers for another OS, i.e. Windows).
3. The current generation of M1 Mini now doesn't allow you to customise both the hardware (everything is soldered) and the software. Technically you can install other OSes, but the reality is that currently only crippled versions of Linux and xBSD is available and practically the only full-featured OS that can run on it is still macOS.
With the Apple Silicon ARM chips in the Mac, Apple is now only ONE step away from locking the bootloaders of Apple Silicon Macs any time to make it a completely closed platform like the iPhones / iPads. It has been evident that Apple has been planning this for years. It's the old - https://en.wikipedia.org/wiki/Boiling_frog - trick to lull its users into not realising how their rights are slowly being encroached, while Apple marketing comes up with new ways to sell you the idea that locking down the system is for your own good.
These are very clear indicators of how Apple has been working slowly to lockdown the Mac platform like their ios platforms. The reason for this is simple - BigTech are increasingly moving towards selling everything as a service. Services - https://news.ycombinator.com/item?id=32269915 - are more profitable because it means they create recurring income (even after the device is sold) which means more profits. And Apple's successful business model for this, that earns them billions of dollars, is the closed-platform modelof the iPhones / iPads (which ofcourse, are also powered by the same Apple Silicon but with locked bootloaders). Such closed system also help in planned obsolescence that increase sale.
I think if they were going to lock it down, the ARM transition was the perfect opportunity. Half the computing world expected it anyway, and the number of people who care is far fewer than those who just want a robust computer.
But I can effectively never be proven correct.
You can definitely claim that these are measures that Apple has taken to harden the "security" of the Macs - a hardware that cannot be modified and system software that cannot be easily replaced does add to a device's security. But from that perspective, an open bootloader is clearly a security threat too. When Apple locks the bootloaders on the Mac tomorrow, and claims it is to make the device more "secure" it would be true! But then, why stop there - now that the system software is "secure" from tampering, why not also extend this "security" to other softwares that will be run on the Mac? The "secure" solution is obvious - allow the softwares to be only be installed from the Apple App Store. Now the Mac is as "secure" as your iPhones and iPads!
Are you claiming this won't happen - that Macs will never be locked down machines like the iDevices? What indications have Apple given that suggests this? (Remember, they have already taken away our ability to customise or repair the hardware, and crippled our ability to run the software we want on it).
> I think if they were going to lock it down, the ARM transition was the perfect opportunity.
No, the amount of bad PR it would have generated would have tarnished the Apple Silicon branding, and all the polarised debates and the negativity it would have generated would have taken away focus from the good features of the SoC. It would definitely have reduced the sales of the M1 Mac devices, and that would have made the shareholders jittery too. Let's not forget that Apple (and others) who want to push such locked down systems in the personal and professional computing field face an uphill task to change consumer behaviour - we consumers are used to, and expect to be allowed to tinker with our hardware and software. Apple (and others) obviously cannot change that expectation overnight, and hence the slow phased approach of eroding our consumer rights and computing freedom is the only way to achieve their goal.
I am quite willing to concede that Apple doesn't need to lock the bootloader on the Apple Silicon Macs, as long as no viable alternate OSes for it emerges and / or every reverse engineering effort to port and run alternate Oses on it can be countered and hampered by changing the hardware in the next model. So in effect, Apple can continue claiming that Apple Silicons are "open". But how much does this "openness" of Apple Silicon matter when they are only available in custom hardware (the Mac platform) and any change in the hardware means you may not be able to run the OS to use the Apple Silicon CPU / SoC to the full extent? The soldered parts ensure planned obsolescense and limited life anyway for every Apple Silicon Mac. So even if someone manages to reverse engineer one model, it will have a short life, and they will have their work cut out for the next new Apple Silicon with enough hardware modifications to sabotage any serious competing OS.
If Apple really wants it users to believe that Apple Silicon Macs are open, all it has to do is release the drivers for an alternate OS. For all those who claim that it will be an additional unnecessary burden, remember that Apple has done it in the past with Bootcamp and Windows driver. For those who claim that Microsoft cannot offer Windows on Apple Silicon because of their tie-up / contract with Qualcomm, note that there are other alternate OSes too. If Apple doesn't want to release their hardware literature to the public and is comfortable with only working with corporate I can point Apple to IBM or Canonical who make Red Hat Linux / Fedora and Ubuntu OS respectively, and who don't care about including propreitary driver blobs in their distribution (as far as I know).
I assure you that if the team found this to be incredibly boring they would not be doing it.
All it has to do is run Docker and people will continue developing Linux software on it.
That said I don’t think Apple is planning on locking down macs, simply because they have never done so (at least not in the modern era), whereas they have always done so with i-devices. Sure there’s always a chance they could change one practice or the other but there’s no good reason to believe they will.