0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

deepin适配Apple M1的过程(下)

深度操作系统 来源:深度操作系统 2023-07-15 11:23 次阅读

在上篇中,我们介绍了deepin适配M1的方案选择以及方案介绍,让大家了解了我们在适配前的一些思路。本篇中,我们主要让大家了解一下我们在适配过程中遇到的问题,以及我们如何解决它们的。

适配的三个阶段

经过我们的探索及实践,deepin适配M1的过程大致分为以下三个阶段:

第一阶段:要先能在M1上启动deepin的基础环境,也就是不带桌面的最小系统。这样就可以初步验证适配工作的正确性,同时,方便在实机上进行下一步的适配工作。

第二阶段:要在这个最小系统上尝试安装桌面环境,并进行相关的适配工作,使其能够启动DDE桌面,直到最终提供完整的deepin桌面环境。

第三阶段:要使用前面适配的经验成果去进行U盘安装镜像的相关适配,实现从U盘启动安装deepin系统。

那么,经历这三个阶段,我们具体要解决哪些适配问题呢?

适配最小deepin环境(仅命令行)

首先,我们基于m1-debian打包M1 Debian rootfs包的脚本,先将debootstrap rootfs环境的源从debian换成deepin,达到这一步的时候可以成功启动,随后便尝试替换apt软件源为deepin V23的Community源,发现系统启动阶段发生了kernel panic。进行了分析、搜索和调试之后,没有任何结果。

在进一步分析和调试之后,最终,将community源换成了CI源后生成rootfs,此时kernel panic报错消失,成功进入deepin系统。猜测是因为上游内核需要的相关库版本较高,而当前Community源的软件包无法满足要求,因此,暂时需要使用CI源进行适配。

在这一阶段,除了Asahi相关包还需要使用m1-debian项目以外,其他debian源均可替换为deepin源,如下图,已经能够启动最小的deepin系统环境了。

d29275b6-1a5a-11ee-962d-dac502259ad0.jpg

适配基本的DDE桌面环境

最开始,在deepin环境中装DDE桌面环境时,会遇到mesa包依赖的问题。因为m1-debian适配的mesa包是基于Debian bookworm环境的,所以无法直接在deepin环境下使用。于是,deepin-m1 SIG决定在deepin环境下重新打包mesa,并独立建仓库。因为都已经独立建仓了,所以在这个阶段便将内核,m1n1, uboot等组件也一并重新打包,并加入仓库。

当解决了这个问题之后,接下来的流程就顺利了一些。装上mesa和DDE桌面环境,并且在解决了一些奇奇怪怪的缺包依赖问题之后,如下图,便能启动我们熟悉的桌面环境了。

d2bb8bae-1a5a-11ee-962d-dac502259ad0.png

不过,在当前的桌面环境之上,声音和GPU硬件加速都是无法使用的。调试期间,我们尝试过各种Asahi Linux中发行版的内核参数及内核编译脚本进行内核的定制适配,遗憾的是,从目前的调试结果来看,我们自行编译的内核依然无法解决上述问题。

当使用m1-debian项目提供的内核后,尽管可以启用GPU硬件加速,但窗管这部分会依旧会出现问题。比如异常白块,dock显示异常。这可能需要进行内核与窗管的适配工作。

image.png

这方面问题有待我们进一步分析、调试及排查问题根源所在。目前,项目已经公开发布在github上,感兴趣的开发者可以去试一试。如果希望直接在Mac上安装,也可以直接使用脚本。

适配U盘安装镜像

由于Mac系统的特殊系统引导结构,在其设备上是无法进行像普通电脑一样直接插U盘,然后从U盘引导安装程序进行系统安装的。但是,m1-debian项目提供了一种制作U盘 LiveCD的方法,并且此种方案可以被稳定使用。这给我们提供了一种适配U盘安装镜像,并从U盘引导安装deepin系统的思路。

首先,要使安装盘系统能够被成功启动,我们需要替换安装镜像的普通内核为Asahi Linux项目专门制作的内核。这需要我们修改镜像制作流程,专门打包一个为Mac M1设计的镜像。主要是在内核制作阶段,替换了使用的内核仓库和内核包。

然后,在适配过程中,还遇到了安装器安装系统失败的问题。报执行"05_context-menus_copy.job"失败的错误。经过排查,发现这是一个临时解决方案的安装钩子,当前安装环境并不需要,反而导致了错误。于是,便在制作镜像流程中将其去除。之后,安装流程便可以正常走完了。

我们要郑重地提醒大家,这个安装镜像还不是完美的,存在一些不可忽视的限制和风险。为了不影响Mac原有的引导和系统分区,只能使用自定义安装,在空闲磁盘区域中安装deepin系统。全盘安装和高级安装可能会严重损坏引导或Mac系统,导致机器无法正常工作。这种情况下,只有用另一台Mac设备进行线刷才能恢复。安装器暂时还没有屏蔽全盘安装和高级安装,所以请小伙伴们务必谨慎选择。

最后,再次感谢deepin相关SIG的开发者,非常感谢你们在Asahi Linux以及m1-debian项目的协助与支持。正是由于你们的贡献开源、参与开源,deepin系统会越来越好。谢谢你们!

关于我们

deepin.org

作为国内首个桌面操作系统根社区,深度开源社区一直秉承产品创新、技术开放、过程透明、伙伴共创的理念,坚定地成为连接内部开发者和产品,外部开发者和用户的纽带。致力于打造中国主导、具有国际影响力的桌面操作系统根社区,保障操作系统供应链安全,筑牢数字基础设施安全底座。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 内核
    +关注

    关注

    3

    文章

    1362

    浏览量

    40216
  • Apple
    +关注

    关注

    1

    文章

    925

    浏览量

    52746
  • gpu
    gpu
    +关注

    关注

    28

    文章

    4700

    浏览量

    128672
  • 操作系统
    +关注

    关注

    37

    文章

    6727

    浏览量

    123181
  • 脚本
    +关注

    关注

    1

    文章

    387

    浏览量

    14829

原文标题:deepin适配Apple M1,我们经历了什么?(下篇)

文章出处:【微信号:linux_deepin,微信公众号:深度操作系统】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于ARM架构设计的M1芯片

    Apple M1是苹果设计生产的首款专为 Mac 打造的芯片,带来了格外强大的性能、量身打造的技术,以及令人惊叹的能效表现。Apple M1与 macOS Big Sur 系统配合默契
    发表于 07-23 09:02

    STM32CubeIDE是否针对新MAC中的Apple M1芯片进行了优化?

    STM32CubeIDE 是否针对新 MAC 中的 Apple M1 芯片进行了优化(具有 AArch64 和 x86 的通用二进制文件)?还是当前版本会使用 Rosetta 2 x86 仿真运行?有人试过 M1 Mac 吗?
    发表于 12-02 09:11

    小米m1报价_小米m1怎么样_小米m1好不好

    小米m1报价是多少,小米m1最新报价,小米m1怎么样,小米m1配置怎样?小米m1好不好呢,在这里小编为大家介绍了小米
    发表于 09-20 14:27 7853次阅读
    小米<b class='flag-5'>m1</b>报价_小米<b class='flag-5'>m1</b>怎么样_小米<b class='flag-5'>m1</b>好不好

    小米m11s的区别_小米m1m1s对比哪个好

    小米m11s的区别是什么,小米m11s有什么区别,小米m1m1s对比哪个好?在这里小编为大
    发表于 09-20 15:23 4.6w次阅读

    苹果推出首款自研芯片M1

    北京时间11月11日凌晨,苹果在Apple Park发布了自营芯片“M1”,以及最新的MacBook Air ,这是苹果自研M1芯片植入的首款产品。
    的头像 发表于 11-11 08:59 3746次阅读

    拆解Apple Silicon MacBook:M1定制芯片庐山真面目

    iFixit 团队刚刚分享了 Apple Silicon MacBook 的最新拆解信息,露出了让无数人感到好奇的 M1 芯片的庐山真面目。虽然从机身内布局等方面来看,13 英寸 M1
    的头像 发表于 11-20 15:40 3605次阅读

    微软发布Office更新,可适配苹果M1

    对于M1处理器,微软在适配上还是很及时的,毕竟他们软件开发商,当面双方也要在一定程度上相互竞争。
    的头像 发表于 12-16 09:15 1876次阅读

    苹果M1芯片是颠覆性创新?

    苹果发布了其M1 SoC。M1采用与最新iPhone相同的A14 CPU,和是十年来首个挑战AMD和Intel等公司的非x86 CPU架构。从那时起,多项关于Apple M1 芯片与A
    的头像 发表于 12-16 15:44 5382次阅读

    Zoom适配M1 Mac的本机版本正在更新中

    据外媒消息,Zoom适配M1 Mac的本机版本即将在假期推出。此前,Zoom在M1 Mac和MacBooks上虽然可用,但只能间接使用。 macOS应用程序当然是为基于Intel的Mac开发的,但稍后可以通过Rosetta转换
    的头像 发表于 12-21 16:24 2465次阅读

    十年布局,终换得M1芯片一鸣惊人

    首批搭载 Apple Silicon 的 Mac 电脑已经发布,也就是 M1 MacBook Air、M1 MacBook Pro 和 M1 Mac mini,根据各种测试,
    的头像 发表于 01-06 15:04 4015次阅读

    微软已经取消了支持Apple M1处理器的Edge浏览器的beta版

    去年11月,我们看到Google宣布了专为支持M1的Macs设计的Chrome浏览器版本,现在微软已经取消了支持Apple M1处理器的Edge浏览器的beta版。
    的头像 发表于 01-27 15:12 3130次阅读

    Apple推出电脑芯片M1 Ultra 华为FDD Gigaband系列产品获奖

      目前,Apple 已经在几乎所有的 Mac 产品线中全面应用了 Apple 芯片。而每一枚新芯片,包括 M1M1 Pro、M1 Max
    的头像 发表于 03-17 09:15 4587次阅读

    Gowin EMPU M1载参考手册

    电子发烧友网站提供《Gowin EMPU M1载参考手册.pdf》资料免费下载
    发表于 09-19 14:30 2次下载
    Gowin EMPU <b class='flag-5'>M1</b><b class='flag-5'>下</b>载参考手册

    deepin V23 beta适配WSL的过程

    在已经发布的deepin V23 beta版本中,深度操作系统正式适配了WSL!
    发表于 07-15 11:19 491次阅读

    deepin适配Apple M1过程(上)

    告诉大家一个令人兴奋的消息:在已经发布的deepin V23 beta版本中,深度操作系统正式适配Apple Mac mini M1啦!
    的头像 发表于 07-15 11:22 802次阅读
    <b class='flag-5'>deepin</b><b class='flag-5'>适配</b><b class='flag-5'>Apple</b> <b class='flag-5'>M1</b>的<b class='flag-5'>过程</b>(上)