Posted by pantalaimon 8 hours ago
Nit: I²S has nothing to do with I²C.
(Most I²S chips also have an I²C interface since I²S only carries raw audio data, no sideband like volume control or clock configuration. But that's a separate interface and can also be SPI rather than I²C. In fact, SPI is more closely related to I²S than I²C is.)
The reason why they both follow the same naming scheme is that Philips Semiconductor (now NXP) made both.
This is the weal-and-woe of reverse engineering. It's awesome that these machines now have native Vulkan 1.2 drivers, but it took years to get there. There are still unsolved problems 7 years after Apple Silicon hit shelves, and most newer hardware is broadly unsupported. The lesson here is a reiteration of what Linux users have always said - proprietary drivers suck.
https://news.ycombinator.com/item?id=29684585
For example intel systems (and Android) run resident supervisor code you can't get rid of, and that can do remotely initiated updates you have no control over. That's not so on Apple silicon.
>In fact I'm much more sure about that than I would be with the laptops the FSF peddles as "respects your freedom"; last time I looked at the schematics for one of those, it had over a half dozen chips running secret blobs, and at least two or three of them had full access to all system RAM via a DMA capable bus. You'd have to be insane to trust that over an M1, which is designed to sandbox all coprocessors from the main CPU and RAM via IOMMUs, such that even if all firmware is backdoored it can't take over your main CPU.
Also these comments are worth considering.
Also, I don't believe Apple has no backdoors and such. They basically made it impossible to be root on your iPhone, so you don't think they have a almighty-super-superuser mode on their laptops that only they can use? Wishful thinking if you ask me.
There’s no IP misuse and the ability to boot an arbitrary OS is an intentional part of the design of M-series Macs. The built in lag time of the current situation ensures that macOS will never have its position as the dominant OS for Mac hardware challenged. Further, doing this would stoke the flames of the already red-hot internet Apple haters and unnecessarily burn goodwill. It’d be a loss across the board.
What? Where do you get that?
Apple knows how to build an iPhone: if they wanted to lock down a Mac they would have simply done that. There's something like nine pages detailing the differences. What word describes that other than "intentional" design? The fact that you can sign and boot a third party OS isn't an "accident" if it's documented, and there's no "exploit" because this is functionality the platform supports; anyone can do it with tools already present on the (Apple-signed) recovery OS.
They certainly don't provide great support for people wanting to develop [drivers for] these operating systems, but the platform was very clearly engineered to support booting them.
[1]: https://help.apple.com/pdf/security/en_US/apple-platform-sec...
If they did, I still have macOS, an OS I can easily disable all runtime protections and security on, rig up into a kernel debugger, arbitrarily dump memory of other processes and so on. If Apple takes away our ability to easily boot alternative kernels, the tools are readily available to find...alternative ways around iBoot security, which is not ideal for Apple since iOS iBoot is mostly the same as it is on macOS.
I find it hard to believe that Apple would purposefully shoot themselves in their own feet, unless you also believe that they would lock down the Mac as much as an iPad, ever.
How could they do that? They could cease providing the facilities the project relies on in newer chips, but the existing chips, er, exist. They could stop making chips all together and go back to intel. It's not a useful hypothetical.
>Also, I don't believe Apple has no backdoors and such. They basically made it impossible to be root on your iPhone, so you don't think they have a almighty-super-superuser mode on their laptops that only they can use?
It's possible such a thing exists, of course, it's possible on intel, or AMD, or any ARM chips, or any chip at all. However such a back door, if discovered, would not be accessible only to them. It would have the same problem that all such backdoors have, in that if Apple can exploit it, others can exploit it. Apple very heavily relies on the claim that they have no such back door, and they have relied on this as a legal defence, and frankly it's hard to see how they would benefit from having such a back door. A chunk of their business model and legal liability protection depends on not having such a back door.
>Wishful thinking if you ask me.
If you say so, this is all about relative risk. However what reason might anyone have for thinking that any other platform, such as Intel with it's proprietary supervisor code with remote updatability, is more under the control of the user? There may be platforms that have a better security architecture that's more under the control of the user, but I can't think of any of the major ones that does. Which would you suggest?
And, at least in the case of their private cloud compute, they encourage third party audit of their claims and even provide a virtual research environment running an instance of their PCC on your mac.
The UK explicitly requesting a backdoor to iCloud's advanced data protection forcing Apple to pull the service instead also tells me their claims are legit.
It's certainly possible a backdoor exists in hardware instead, or elsewhere in the stack but given Apple's surprising relative openness for how they implement their privacy products & the research papers they put out I'm inclined to believe them for now. (I say relative because its not open source, which is the only way to be 100% certain, but their research papers are surprisingly in depth).
iBoot? Asahi needs iBoot to boot third-party volumes for Linux to run properly. Apple controls iBoot; if they burn an eFuse and disable third-party volumes in a "Security" update, Asahi cannot fight back.
You cannot boot macOS with an unsigned iBoot firmware, so writing your own bootloader isn't an option. If a fuse is burned, you also cannot downgrade to older firmwares. The entire system is designed to give Apple the ability to disable other OSes in a macOS update if they ever decided to.
Any manufacturer could put an eFuse in any of their hardware and lock it. No hardware can be proven not to have such exploits. That's the first point marcan makes in that post.
This is my point too, though. Do we trust Apple to not burn a hardware fuse if their community one-ups them? They've already done it on iPad and iPhone hardware when users find a boot ROM exploit. All that they'd need to do is push an update for "security" purposes, and then the new boot flow could refuse to boot into unsigned volumes or deny running unsigned bootloaders. There would be no way to downgrade.
This is basic ARM security architecture stuff, I'm a little shocked that people can't imagine how this type of lockout is possible. There are tons of commodity ARM boards that are effectively bricked and eFused to user-hostile security epochs.
The Oxide Computer folks wrote their own AMD boot loader and have an entire chain of trust and apparently (?) basically got rid of the supervisor code (Ring -2 and -3). They also have custom motherboards with third-party BMCs.
Could something similar be done on Intel?
However if that phone home feature is read only, it could always just re-root itself.
When was the last time they looked at the schematics for one of the Apple machines? Oh, wait.
And I'm not even talking about drivers
To sell more hardware?
Obviously I get your point, but there's a bunch of customers who would like good ARM hardware but can't accomplish their work with macOS. It's not like Apple needs this tiny market, but it wouldn't hurt them either.
Citation needed.
In the x86 sphere it isn't that much better either, most ACPI tables are thoroughly broken if Linux announces itself as Linux and not as Windows. In fact, a lot of machines' ACPI tables barely work on Windows.
They first mentioned that efforts to add M3 support were starting in February:
> For quite some time, m1n1 has had basic support for the M3 series machines. What has been missing are Devicetrees for each machine, as well as patches to our Linux kernel drivers to support M3-specific hardware quirks and changes from M2. Our intent was always to get to fleshing this out once our existing patchset became more manageable
I think the last time I used an RPM-based distro was almost 2 decades ago.
Though their kernel fork is (obviously) open source, so there's nothing stopping you from taking a Debian aarch64 roots, build your own Asahi kernel (or take the build from Fedora), and set up Debian on these machines with Debian yourself. Just requires some elbow grease.
Or, if you find Ubuntu acceptable, there's Ubuntu Asahi: https://ubuntuasahi.org/
EDIT: After some googling I found this wiki article: https://wiki.debian.org/InstallingDebianOn/Apple/M1
As a result, I understand the desire to stick with a particular distribution that we're already familiar with - it's less work, and less having to remember subtle differences in structure. But when there is a time where I'm forced to use a new distro (e.g., when Asahi was first released exclusively as an Arch Linux ARM distro), I never regret the small learning experiences involved :-)
They’re working hard on upstreaming everything exactly so it’s easier for any distribution to be ported.
A distro is just window dressing and flavor.
https://voidlinux.org/download/#arm%20platforms
It's a regular package of linux in the distro: https://github.com/void-linux/void-packages/tree/master/srcp...
I haven't actually tried to install it yet, though.
Torvalds often crosses that line into outright toxicity. I've written a few kernel patches that I never tried to upstream for that reason.
https://github.com/corollari/linusrants/blob/master/table.md
Someone who doesnt see a problem with this is probably one of those toxic people who dont realize they're toxic you mentioned. Nobody wants to be treated how Torvalds treated people.
Also, coming from an orchestral background, I'm well aware of situations where the leader needs to be gruff. A gentle conductor will never get the idiot violists playing in tune. (A harsh one won't either, but at least the violists will be too scared to make any noise.) That said, it's still unacceptable for a conductor to cross the line from gruff to personal attacks.
You may have missed the "retroactively aborted" one.
https://lkml.org/lkml/2012/7/6/495
To be fair, he's got much more self-control now.
There's groundwork that's already been done, as mentioned in the article, which brings some dividends, but, ultimately, there is a new mac every year that comes with a new chip, a plethora of microcontrollers and gpu changes, impossible to keep up with, that is why asahi team is focused more on m1 and m2 models. Even so, to this day both of them have issues with idle power management and alt-dp implementation, preventing many to switch, by the time they will have been ironed out the value of machines would be significantly diminished.
It is a miracle how much so few can do, but in the end, despite ubiquitous media coverage it looks like team's enthusiasm and passion have dwindled to the point that even m1 air will never be ready.
M1 support is pretty usable nowadays, and I would imagine at least a fraction of the work translates to future devices... It's not sunshine and rainbows, but it isn't a project doomed to fail either.
Hopefully, they will manage to get it done someday.
Will it ultimately be manually loading a build into specific hardware each time, or is there a level of automation that can be done here?
It allows you to do some remote control and automation for kernel loading and debugging where you get a very thin layer in between the real hardware and the kernel, without affecting the hardware I/O behaviour.