[Industry News] 世界线“合龙”:龙架构旧世界固件启动新世界系统已成现实!
Tofloor
poster avatar
nihaoxye
deepin
2024-07-23 15:51
Author

继“坏人”王邈设计实现的 libLoL 兼容层^[1]^打通新旧世界应用程序兼容性后,坏人再放大招,实现了从 GRUB 系统引导器到内核的旧世界固件启动支持——这意味着新旧世界的隔阂从固件到应用程序均已成为历史!

龙架构电脑玩家们很可能听说过,3A5000/3C5000L + 7A1000 的主板和笔记本有好几个型号一直没能得到新世界固件更新,因而无缘组件更新、应用更新更频繁、硬件支持更好的各大新世界发行版;如果您的旧世界设备因此吃灰,这一启动支持的实现意味着您可以在任意旧世界固件设备上启动和使用安同 OS 在内的一众新世界发行版了。
640 (1).jpg

现实意义

新世界系统的旧世界固件启动支持将惠及各类龙架构设备用户。

不论对于二手设备玩家还是商业、政企用户,该支持将帮助旧世界设备向新世界系统的迁移,也将大大简化设备采购流程(用户及管理员均无需关心设备固件的新世界兼容性)、降低操作系统发行商的支持成本(用户无法启动系统的概率大大降低,且无需比对固件信息进行查错,甚至引导用户获取及刷写固件)。

支持设备

我们已在如下设备使用安同 OS 测试过该启动支持:

  • 联想开天 M540z
  • 航天龙梦 ML5A(旧世界商用固件)

实现原理

简略地说,GRUB 引导器和内核的旧世界支持主要通过探测旧世界固件独有的启动参数接口(Boot Parameters Interface,简称 BPI)签名调整所需的起始内存地址、内存分段、中断控制器、ACPI 表等的规范及行为实现的;该实现支持目前已知的 BPI01000 及 BPI01001 两种启动参数接口。

实现过程中,王邈参考了龙芯为 deepin 内核提交的旧世界固件 BPI 支持补丁^[2]^并对其内容进行了大幅度精简及修缮。

点击页尾阅读原文以查阅补丁集

已知问题

目前已通过测试的旧世界设备各项基本功能均正常,但我们发现目前 ACPI 关机 (poweroff) 行为存在问题:在关机流程结束后,systemd 提供的 poweroff 命令实现并没有正确切断机器的电源,转而提示用户切断电源。

如果您通过串口查阅内核日志,您可能会看到如下几行输出:

systemd-shutdown[1]: Powering off.
reboot: Power off not available: System halted instead


** You can safely turn off the power now **

我们会在近期继续研究解决方案。

更新计划

安同 OS 计划在下一个内核及 GRUB 引导器更新中引入旧世界启动支持,下一版系统安装盘将支持在上述旧世界设备上直接引导和安装安同 OS;我们将在未来数日通知并推荐各新世界系统维护者及厂商评估、测试及集成实现旧世界启动支持的相关补丁。

转载的,只能说安同社区牛逼,把龙芯挖的坑填了一个又一个,也正是有了这群用爱发电的用户,我们的CPU才能走得更远。

Reply Favorite View the author
All Replies
流浪的加菲
deepin
2024-07-23 17:39
#1

好不容易熬到3A5000性能开始抬头,突然出来个新旧世界隔离,人都干蒙了scream

Reply View the author
nihaoxye
deepin
2024-07-23 17:42
#2
流浪的加菲

好不容易熬到3A5000性能开始抬头,突然出来个新旧世界隔离,人都干蒙了scream

需要你这样的人才助力

Reply View the author
neko
deepin
Ecological co-builder
2024-07-23 19:24
#3

好事kissing_heart

Reply View the author
兆兆嘟嘟嘟
deepin
2024-07-23 19:53
#4

王邈是谁?

Reply View the author
nihaoxye
deepin
2024-07-23 20:56
#5
兆兆嘟嘟嘟

王邈是谁?

药王-孙思邈

Reply View the author
W2J
deepin
2024-07-23 21:57
#6

mark this.

Reply View the author
f@deepin
deepin
2024-07-24 05:56
#7

点赞安同社区

Reply View the author
Oli
deepin
2024-07-24 17:22
#8

王邈是谁?

Reply View the author