2020年年底苹果刚发布M1(系列的Mac)就被大家所追捧,就连Linux带头大哥Linus Torvalds也对M1赞不绝口,按照他的原话就是"如果M1 Mac能够运行Linux,那我绝对想拥有一台"。
Linus Torvalds本人倒是希望去将Linux移植到M1,不过自己要打理Linux项目自然是没有时间;不过Linux黑客Hector Martin自告奋勇的接下了这个移植工作,他的第一个目标将Linux移植到M1 Mac Mini上。
这个任务的难度,就连Linus本人也表示非常大。虽然M1也是ARM架构,但是它并非标准的arm架构。同时移植工作还面临着如下挑战:苹果的内核镜像加载格式与Linux的普通镜像压缩格式不同、boot流程有差异、驱动闭源、外设高度定制化等等问题。
由于这个移植工作太过艰巨,这也迫使Hector Martin不得不通过众筹的以供自己全职投入在该项目。
经历了几个月奋战,终于有了Linux在M1上移植的消息,据悉在下一个Linux版本Linux-5.13中将会集成初步支持苹果M1的代码。
初步支持苹果M1处理器启动的系列补丁实际上早在今年2月份就已经由Hector Martin提交到Linux社区,经过几轮打磨后而该系列补丁已经被安排到Linux-5.13的ARM SoC/platform板块中;几周后Linux-5.13的窗口期就会开放,届时就可以目睹苹果M1的Linux版本kernel社区公开发布。这个消息让所有对该移植工作持疑的Linux老铁和果粉都喜出望外。
Hector Martin提交的补丁集目前能够在搭载了Apple Silicon的Mac Mini、MacBook Pro 和 MacBook Air设备上启动Linux内核;不过这些补丁只提供了部分关键Linux驱动程序和功能的支持,如UART驱动、中断、SMP以及设备树以及一个简单的frame-buffer graphics驱动。
不过,除了这些基本的功能支持外苹果M1平台上的Linux移植工作还有很多事情要做。其中最具挑战的一个便是图形图像模块的移植,包括通用、流畅的界面、3D/视频加速等等都是巨大的挑战。
Anyway,Linux移植M1的第一步算是迈出去了,相信会有越来越多的Linuxer加入其中,如果真能够在1~2年内开发出一个稳定的M1架构Linux桌面发行版,那就是一个天大的惊喜了。
如果对Apple M1的Linux补丁感兴趣的同学可以参考相关补丁的邮件列表 。
参考:https://www.phoronix.com/scan.php?page=news_item&px=Apple-M1-For-Linux-5.13
原文:https://www.cnblogs.com/liuhailong0112/p/14686251.html