By: never_released (never_released.delete@this.gmx.tw), November 14, 2020 5:12 pm
Room: Moderated Discussions
Linus Torvalds (torvalds.delete@this.linux-foundation.org) on November 14, 2020 1:12 pm wrote:
> Paul (pavel.delete@this.noa-labs.com) on November 14, 2020 3:08 am wrote:
> >
> > What do you think of the new Apple laptop?
>
> I'd absolutely love to have one, if it just ran Linux.. I have fairly fond memories
> of the 11" Macbook Air (I think 4,1) that I used about a decade ago (but moved away
> from because it took Apple too long to fix the screen - and by the time they did, I'd
> moved on to better laptops, and Apple had moved on to make Linux less convenient).
>
> Apple may run Linux in their cloud, but their laptops don't ;(
>
> I've been waiting for an ARM laptop that can run Linux for a long time. The new
> Air would be almost perfect, except for the OS. And I don't have the time to tinker
> with it, or the inclination to fight companies that don't want to help.
>
> Linus
So about those... (a bit of a primer on what that hardware looks like)
They don't run EFI but iBoot instead (but you can chainload to another bootloader if you want to, not prevented when Secure Boot is set to permissive). That permissive option doesn't technically turn off Secure Boot. It allows you to enroll your own hashes to the Secure Boot policy on the system w/ user authentication instead.
They also do not have EL3 (which is very useful to implement PSCI inside... (only EL2,EL1 and EL0). There's no Arm GIC as the interrupt controller, but Apple AIC instead.
Our strategy at checkra1n so far is, because they're modern Armv8.4 parts supporting nested virtualization, reserve EL2 to ourselves. The goal is having a thin hypervisor layer to simulate a standard interrupt controller, IOMMUs and PCIe ECAM-compliant controllers, which would be impossible to provide otherwise. (then UEFI + ACPI will run on top, preferably with CPPC for power scaling). This approach will allow, at a minor performance cost for VMs, to reduce the amount of work necessary.
Another nice tidbit is that iBoot loads the firmware for the GPU and all the other on-SoC blocks before passing through control from iBoot. This removes the concerns on whether that firmware is redistributable or not in practice.
However, reversing all of those blocks will take quite some work, I hope that Apple will end up providing documentation.
Does that plan look not too insane? (however, it'll take a while to bear its fruits)
> Paul (pavel.delete@this.noa-labs.com) on November 14, 2020 3:08 am wrote:
> >
> > What do you think of the new Apple laptop?
>
> I'd absolutely love to have one, if it just ran Linux.. I have fairly fond memories
> of the 11" Macbook Air (I think 4,1) that I used about a decade ago (but moved away
> from because it took Apple too long to fix the screen - and by the time they did, I'd
> moved on to better laptops, and Apple had moved on to make Linux less convenient).
>
> Apple may run Linux in their cloud, but their laptops don't ;(
>
> I've been waiting for an ARM laptop that can run Linux for a long time. The new
> Air would be almost perfect, except for the OS. And I don't have the time to tinker
> with it, or the inclination to fight companies that don't want to help.
>
> Linus
So about those... (a bit of a primer on what that hardware looks like)
They don't run EFI but iBoot instead (but you can chainload to another bootloader if you want to, not prevented when Secure Boot is set to permissive). That permissive option doesn't technically turn off Secure Boot. It allows you to enroll your own hashes to the Secure Boot policy on the system w/ user authentication instead.
They also do not have EL3 (which is very useful to implement PSCI inside... (only EL2,EL1 and EL0). There's no Arm GIC as the interrupt controller, but Apple AIC instead.
Our strategy at checkra1n so far is, because they're modern Armv8.4 parts supporting nested virtualization, reserve EL2 to ourselves. The goal is having a thin hypervisor layer to simulate a standard interrupt controller, IOMMUs and PCIe ECAM-compliant controllers, which would be impossible to provide otherwise. (then UEFI + ACPI will run on top, preferably with CPPC for power scaling). This approach will allow, at a minor performance cost for VMs, to reduce the amount of work necessary.
Another nice tidbit is that iBoot loads the firmware for the GPU and all the other on-SoC blocks before passing through control from iBoot. This removes the concerns on whether that firmware is redistributable or not in practice.
However, reversing all of those blocks will take quite some work, I hope that Apple will end up providing documentation.
Does that plan look not too insane? (however, it'll take a while to bear its fruits)
Topic | Posted By | Date |
---|---|---|
Question to Torvalds | Paul | 2020/11/14 04:08 AM |
Question to Torvalds | Linus Torvalds | 2020/11/14 02:12 PM |
Question to Torvalds | never_released | 2020/11/14 05:12 PM |
Question to Torvalds | Doug S | 2020/11/15 09:55 AM |
Question to Torvalds | never_released | 2020/11/15 12:31 PM |
Question to Torvalds | Doug S | 2020/11/16 10:46 AM |
Question to Torvalds | Maxwell | 2020/11/16 11:49 AM |
Question to Torvalds | never_released | 2020/11/16 04:25 PM |
Question to Torvalds | lyra64 | 2020/11/23 11:23 AM |
Question to Torvalds | me | 2020/11/22 12:11 PM |
Question to Torvalds | James | 2020/11/25 06:59 AM |
Question to Torvalds | bakk | 2021/01/09 03:35 PM |
Question to Torvalds | Maynard Handley | 2021/01/09 04:12 PM |
He asked disingenuously (NT) | JS | 2021/01/09 08:33 PM |
He asked disingenuously | Maynard Handley | 2021/01/10 10:51 AM |
He asked disingenuously | JS | 2021/01/10 03:50 PM |
He asked disingenuously | Maynard Handley | 2021/01/10 06:02 PM |
Question to Torvalds | anon | 2021/01/10 07:01 PM |
Question to Torvalds | Maynard Handley | 2021/01/10 07:59 PM |
Question to Torvalds | anon | 2021/01/11 09:56 AM |
Question to Torvalds | Jukka Larja | 2021/01/12 05:50 AM |
Question to Torvalds | anon2 | 2021/01/10 07:21 PM |
Question to Torvalds | Maynard Handley | 2021/01/10 08:15 PM |
Question to Torvalds | Maynard Handley | 2021/01/10 08:22 PM |
Question to Torvalds | anon2 | 2021/01/10 08:47 PM |
Question to Torvalds | Maynard Handley | 2021/01/10 09:28 PM |
Question to Torvalds | anon2 | 2021/01/10 10:36 PM |
Question to Torvalds | Jukka Larja | 2021/01/11 06:21 AM |
Question to Torvalds | Maynard Handley | 2021/01/11 10:33 AM |
Question to Torvalds | anon2 | 2021/01/11 10:40 PM |
Question to Torvalds | Jukka Larja | 2021/01/12 06:05 AM |
Question to Torvalds | Maynard Handley | 2021/01/12 09:42 AM |
Question to Torvalds | Jukka Larja | 2021/01/12 11:15 AM |
Question to Torvalds | Maynard Handley | 2021/01/12 12:07 PM |
Question to Torvalds | Jukka Larja | 2021/01/13 06:24 AM |
Question to Torvalds | Michael S | 2021/01/13 08:45 AM |
Question to Torvalds | Ungo | 2021/01/13 07:34 PM |
Question to Torvalds | Jörn Engel | 2021/01/13 09:49 AM |
Question to Torvalds | Etienne Lorrain | 2021/01/14 03:02 AM |
Question to Torvalds | dmcq | 2021/01/14 08:26 AM |
Question to Torvalds | Jörn Engel | 2021/01/14 11:42 AM |
Question to Torvalds | dmcq | 2021/01/14 12:13 PM |
Question to Torvalds | Jukka Larja | 2021/01/15 06:57 AM |
Question to Torvalds | dmcq | 2021/01/15 08:27 AM |
Question to Torvalds | Anne O. Nymous | 2021/01/15 12:19 PM |
Question to Torvalds | dmcq | 2021/01/15 02:58 PM |
Question to Torvalds | Jukka Larja | 2021/01/15 09:04 PM |
Question to Torvalds | dmcq | 2021/01/16 02:50 AM |
Question to Torvalds | Jukka Larja | 2021/01/16 09:37 PM |
Question to Torvalds | dmcq | 2021/01/17 06:39 AM |
Question to Torvalds | Adrian | 2021/01/17 08:46 AM |
Question to Torvalds | dmcq | 2021/01/17 09:36 AM |
Question to Torvalds | Jukka Larja | 2021/01/17 09:35 AM |
Question to Torvalds | dmcq | 2021/01/17 10:01 AM |
Question to Torvalds | Jukka Larja | 2021/01/17 10:52 AM |
Question to Torvalds | Doug S | 2021/01/14 10:37 AM |