[{"data":1,"prerenderedAt":128},["ShallowReactive",2],{"zh-cn:CommonContent:/news/2024-07-22-loongarch-oldworld-boot-support":3},{"id":4,"title":5,"body":6,"categories":116,"date":119,"description":15,"extension":120,"home":121,"important":122,"meta":123,"navigation":122,"path":124,"seo":125,"stem":126,"__hash__":127},"zhCN/news/2024-07-22-loongarch-oldworld-boot-support.md","世界线“合龙”：龙架构旧世界固件启动新世界系统已成现实！",{"type":7,"value":8,"toc":108},"minimark",[9,17,28,31,35,38,41,44,47,57,60,63,72,80,83,86,89,99,102,105],[10,11,12],"p",{},[13,14],"img",{"alt":15,"src":16},"","/assets/news/loongarch-oldworld-boot-support.jpg",[10,18,19,20,27],{},"继“坏人”王邈设计实现的 ",[21,22,26],"a",{"href":23,"rel":24,"title":26},"https://liblol.aosc.io/",[25],"nofollow","libLoL 兼容层","打通新旧世界应用程序兼容性后，坏人再放大招，实现了从 GRUB 系统引导器到内核的旧世界固件启动支持——这意味着新旧世界的隔阂从固件到应用程序均已成为历史！",[10,29,30],{},"龙架构电脑玩家们很可能听说过，3A5000/3C5000 + 7A1000 的主板和笔记本有好几个型号一直没能得到新世界固件更新，因而无缘组件更新、应用更新更频繁、硬件支持更好的各大新世界发行版；如果您的旧世界设备因此吃灰，这一启动支持的实现意味着您可以在任意旧世界固件设备上启动和使用安同 OS 在内的一众新世界发行版了。",[32,33,34],"h2",{"id":34},"现实意义",[10,36,37],{},"新世界系统的旧世界固件启动支持将惠及各类龙架构设备用户。",[10,39,40],{},"不论对于二手设备玩家还是商业、政企用户，该支持将帮助旧世界设备向新世界系统的迁移，也将大大简化设备采购流程（用户及管理员均无需关心设备固件的新世界兼容性）、降低操作系统发行商的支持成本（用户无法启动系统的概率大大降低，且无需比对固件信息进行查错，甚至引导用户获取及刷写固件）。",[32,42,43],{"id":43},"支持设备",[10,45,46],{},"我们已在如下设备使用安同 OS 测试过该启动支持：",[48,49,50,54],"ul",{},[51,52,53],"li",{},"联想开天 M540z",[51,55,56],{},"航天龙梦 ML5A（旧世界商用固件）",[32,58,59],{"id":59},"实现原理",[10,61,62],{},"简略地说，GRUB 引导器和内核的旧世界支持主要通过探测旧世界固件独有的启动参数接口（Boot Parameters Interface，简称 BPI）签名调整所需的起始内存地址、内存分段、中断控制器、ACPI 表等的规范及行为实现的；该实现支持目前已知的 BPI01000 及 BPI01001 两种启动参数接口。",[10,64,65,66,71],{},"实现过程中，王邈参考了龙芯为 deepin 内核提交的",[21,67,70],{"href":68,"rel":69,"title":70},"https://github.com/deepin-community/kernel/pull/130",[25],"旧世界固件 BPI 支持补丁","并对其内容进行了大幅度精简及修缮。",[10,73,74],{},[21,75,79],{"href":76,"rel":77,"title":78},"https://gist.github.com/shankerwangmiao/a15e17fc5c1c1dfb883490862107fcbb",[25],"查阅补丁 >> ","查阅补丁集 >> ",[32,81,82],{"id":82},"已知问题",[10,84,85],{},"目前已通过测试的旧世界设备各项基本功能均正常，但我们发现目前 ACPI 关机 (poweroff) 行为存在问题：在关机流程结束后，systemd 提供的 poweroff 命令实现并没有正确切断机器的电源，转而提示用户切断电源。",[10,87,88],{},"如果您通过串口查阅内核日志，您可能会看到如下几行输出：",[90,91,96],"pre",{"className":92,"code":94,"language":95},[93],"language-text","systemd-shutdown[1]: Powering off.\nreboot: Power off not available: System halted instead\n\n** You can safely turn off the power now **\n","text",[97,98,94],"code",{"__ignoreMap":15},[10,100,101],{},"我们会在近期继续研究解决方案。",[32,103,104],{"id":104},"更新计划",[10,106,107],{},"安同 OS 计划在下一个内核及 GRUB 引导器更新中引入旧世界启动支持，下一版系统安装盘将支持在上述旧世界设备上直接引导和安装安同 OS；我们将在未来数日通知并推荐各新世界系统维护者及厂商评估、测试及集成实现旧世界启动支持的相关补丁。",{"title":15,"searchDepth":109,"depth":109,"links":110},2,[111,112,113,114,115],{"id":34,"depth":109,"text":34},{"id":43,"depth":109,"text":43},{"id":59,"depth":109,"text":59},{"id":82,"depth":109,"text":82},{"id":104,"depth":109,"text":104},[117,118],"news","advisories","2024-07-22T04:00:00.000Z","md",false,true,{},"/news/2024-07-22-loongarch-oldworld-boot-support",{"title":5,"description":15},"news/2024-07-22-loongarch-oldworld-boot-support","nbLoKU6oppWBsIsX5zBwT23L1AJiDx2OgnW7L5jq_Uc",1773742825350]