{"id":154,"date":"2021-01-16T23:54:47","date_gmt":"2021-01-16T22:54:47","guid":{"rendered":"https:\/\/threedots.ovh\/blog\/?p=154"},"modified":"2021-01-17T01:46:03","modified_gmt":"2021-01-17T00:46:03","slug":"thoughts-on-linux-for-apple-silicon-macs-part-1","status":"publish","type":"post","link":"https:\/\/threedots.ovh\/blog\/2021\/01\/thoughts-on-linux-for-apple-silicon-macs-part-1\/","title":{"rendered":"Thoughts on Linux for Apple Silicon Macs: part 1"},"content":{"rendered":"\n<p>For this part, one question is paramount, will flattened device tree or ACPI be used? or will Linux on Apple Silicon Macs use Apple device trees?<\/p>\n\n\n\n<p>This question is not devoid of consequences. Traditionally, Linux on PowerPC Macs directly parsed Apple device trees instead of a standardised format. <\/p>\n\n\n\n<p>For the Apple Silicon Macs, everyone currently follows the FDT path, but being able to use an Apple Device Tree comes with a lot of advantages, especially once the number of devices starts to multiply.<\/p>\n\n\n\n<p>Such an approach when combined with an EFI stub-like Mach-O wrapper (which is possible) would allow directly doing:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kmutil configure-boot -v \/Volumes\/macOS -c arch\/arm64\/boot\/Image\nnvram boot-args=\"root=\/dev\/sda1 ro quiet\"\nreboot<\/code><\/pre>\n\n\n\n<p>from within macOS Recovery to get a kernel booting, without requiring third-party boot loaders.<\/p>\n\n\n\n<p>This would also make Linux on the platform much more of a proper Mac citizen.<\/p>\n\n\n\n<p><em>Edit: <\/em>Jacques Fortier from Apple <a href=\"https:\/\/twitter.com\/jacquesgt\/status\/1350603158200872960?s=21\">clarified<\/a> in a tweet that the Apple Device Tree format comes with no guarantees of stability across OS releases. Changes are infrequent but Apple reserves the possibility of doing them at any time.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>For this part, one question is paramount, will flattened device tree or ACPI be used? or will Linux on Apple Silicon Macs use Apple device trees? This question is not devoid of consequences. Traditionally, Linux on PowerPC Macs directly parsed Apple device trees instead of a standardised format. For the Apple Silicon Macs, everyone currently&hellip;&nbsp;<a href=\"https:\/\/threedots.ovh\/blog\/2021\/01\/thoughts-on-linux-for-apple-silicon-macs-part-1\/\" rel=\"bookmark\">Read More &raquo;<span class=\"screen-reader-text\">Thoughts on Linux for Apple Silicon Macs: part 1<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-154","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/threedots.ovh\/blog\/wp-json\/wp\/v2\/posts\/154","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/threedots.ovh\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/threedots.ovh\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/threedots.ovh\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/threedots.ovh\/blog\/wp-json\/wp\/v2\/comments?post=154"}],"version-history":[{"count":5,"href":"https:\/\/threedots.ovh\/blog\/wp-json\/wp\/v2\/posts\/154\/revisions"}],"predecessor-version":[{"id":159,"href":"https:\/\/threedots.ovh\/blog\/wp-json\/wp\/v2\/posts\/154\/revisions\/159"}],"wp:attachment":[{"href":"https:\/\/threedots.ovh\/blog\/wp-json\/wp\/v2\/media?parent=154"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/threedots.ovh\/blog\/wp-json\/wp\/v2\/categories?post=154"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/threedots.ovh\/blog\/wp-json\/wp\/v2\/tags?post=154"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}