← 返回信息流
AI 资讯Hacker News·2 小时前

在Lemote Yeeloong笔记本上运行OpenBSD的避坑指南

原标题:Working around dragons with the Lemote Yeeloong laptop and OpenBSD

速览

本文探讨了在Lemote Yeeloong这款特定笔记本电脑上安装和运行OpenBSD操作系统的过程。文章详细记录了用户如何识别并解决硬件兼容性问题,即所谓的“绕过龙(dragons)”。这一实践展示了开源操作系统在非主流硬件平台上的适配潜力与调试技巧。

AI 深度解读

绕过“巨龙”:龙芯笔记本与 OpenBSD 的折腾之旅

背景

这篇文章源自 Hacker News 上的一篇技术博客,作者是一位拥有大量非主流笔记本电脑收藏的资深极客。他近期入手了一台基于 MIPS 架构的国产笔记本电脑——联想(Lenovo)旗下的“叶龙”(Yeeloong),并成功在其上运行了 OpenBSD 操作系统。

对于作者而言,这台机器不仅填补了他收藏中 MIPS 家族系统的空白,更是一个绝佳的学习机会:他主要使用 NetBSD,而借此机会深入探索 OpenBSD 在高度便携且架构独特的设备上的表现。然而,这次折腾远比预期漫长,作者坚持从 SD 卡启动、尝试从源码编译浏览器等“不走寻常路”的行为,进一步增加了难度。

文章的核心切入点在于追溯这台设备中“中国 MIPS 衍生架构”的起源。这并非作者团队首次接触 MIPS 架构的笔记本电脑(此前曾报道过 IBM 的 MIPS 非 ThinkPad 以及 Sun Ray 笔记本),但这是他们拥有的第一台 64 位 MIPS 笔记本,也是体积最小的一台。其处理器的身世尤为复杂:早期芯片的技术文档主要使用中文,而作者坦言自己的中文翻译能力甚至不如日语。因此,在中文一手资料与西方二手报道存在分歧时,作者倾向于采信中文原始资料,并对此可能产生的误差表示歉意。

核心内容

国家意志与 863 计划

中国长期以来将本土技术视为摆脱外国利益控制、实现独立自主的关键。早期电子工业主要集中在国防领域。直到 1980 年代,中国政府意识到自己在新技术发展中落后,特别是受到美国“战略防御计划”(SDI,即“星球大战”计划)的启发。SDI 不仅涉及太空核武器拦截,还通过 SDI 组织向基础科学研究投入了大量资金,苏联、日本和欧洲也进行了类似的平行努力。

作为回应,邓小平推动了“863 计划”(国家高技术研究发展计划)。该计划于 1986 年 3 月由多位科学家和工程师提出,邓小平在报告上批示:“此事必须尽快决定,不可延误。”863 计划涵盖生物技术、航天、激光、自动化、能源、新材料和信息技术等多个领域,时间跨度为十五年。它随后成为“七五”计划及后续五年计划的国家政策,到 1988 年已成为中国首要的工业研发倡议。

龙芯(Godson)的诞生

尽管领导层对半导体高度重视,但整个 1990 年代,中国国内市场仍被 ARM 和 Intel 等外国处理器设计主导。缺乏尖端制造和设计能力使得早期差距难以逾越。直到 2001 年,在中国科学院计算技术研究所(ICT)所长胡伟武的带领下,依托“十五”计划和 863 计划的延续资金,团队开始研发一款高性能芯片。

该芯片官方命名为“龙芯”(Longxin,意为“Dragon Core”)。开发者为其赋予了一个发音相似的英文译名“Godson”,意为“上帝的儿子”,但在中文语境中,这听起来像“狗食”(Dog food)。作者推测,这种故意的“贬义”可能源于中国旧俗中给孩子取贱名以避邪祟的传统,同时也契合了“吃自己生产的狗粮”(即内部消化使用自家产品)的技术理念。

技术选型与 Godson-1 的突破

为了快速启动项目,ICT 设计师评估了现有架构,最终选择了 32 位 MIPS II 架构。原因包括其知名度高、版权限制较少、软件支持良好,且无需在拥挤的 x86 市场中竞争。然而,为了商业化并确立可防御的知识产权,团队去除了 MIPS 架构中当时仍受专利保护的“非对齐内存访问指令”。

基于此规范,团队开发了模拟器,并于 2001 年 8 月 19 日首次让 Linux 在该芯片上启动,这一天被视为龙芯的“生日”。

初代龙芯(Godson-1)在微架构上进行了大胆创新:

  • 采用动态流水线。
  • 通过早期形式的“不可执行位”(no-execute bit)硬件缓解缓冲区溢出攻击,这是 MIPS 架构 CPU 的首创。
  • 设计流程从 Verilog 仿真到 FPGA 原型,最终流片。

2002 年 9 月 28 日,龙芯-1 由 ICT 与江苏中意集团合资成立的 BLX 集成电路设计公司正式发布。

  • 规格:400 万晶体管,4mm² 芯片面积,上海宏力半导体采用 180nm 工艺制造。
  • 性能:7 级流水线,主频最高 266MHz,功耗低于 1W(200MHz 时为 0.4W)。
  • 缓存与执行:8KB L1 指令缓存和 8KB L1 数据缓存,支持寄存器重命名(仅整数)、分支预测、动态调度及乱序执行。拥有 1 个内存访问单元、2 个定点单元和 2 个支持有限 SIMD 的浮点单元。
  • 特性:与 SGI 的 MIPS 不同,龙芯-1 仅支持小端模式(Little-endian)。
  • 兼容性:提供了 Red Hat Linux 7.1 和 VXWorks 的移植版本。

设计师估计,2000MHz 下的性能大致相当于五年前配备 180MHz R5000 处理器的 SGI O2 工作站,尽管受限于缺乏 L2 缓存支持、较大的节点尺寸和相对简单的电路设计,但它确实存在、被制造出来并运行了真实代码。

商业冲突与后续

龙芯-1 的成功令中国政府和国内支持者欣喜,但 MIPS Technologies(MTI,1998 年从 Silicon Graphics 分拆)却极为不满。MTI 认为 BLX 将龙芯-1 描述为“MIPS-like”(类 MIPS),却未获得 ISA 许可或品牌授权,也不具备直接兼容性。

尽管存在争议,AMD 仍于 2003 年 12 月与 BLX 在北京合资成立开发中心,旨在生产基于龙芯架构的瘦客户机(Thin clients)。

关键要点

  • 地缘政治驱动研发:龙芯的诞生是中国“863 计划”背景下,为摆脱对国外技术依赖、实现半导体自主可控而进行的国家级战略举措。
  • 架构选择与妥协:项目初期选择 32 位 MIPS II 架构是为了规避 x86 专利壁垒并利用其成熟生态,但为了确立自主知识产权,去除了受专利保护的非对齐内存访问指令。
  • 微架构创新:龙芯-1 在 MIPS 架构基础上引入了动态流水线、硬件级缓冲区溢出防护(no-execute bit)等创新,虽性能不及同期高端产品,但实现了从 0 到 1 的突破。
  • 命名背后的文化隐喻:“龙芯”(Longxin)与“Godson”的命名不仅具有象征意义,其谐音“狗食”可能隐含了“自产自销”的技术自信及传统避邪文化。
  • 知识产权纠纷:龙芯早期因未获 MIPS 官方许可却使用“类 MIPS”描述,引发了与 MIPS Technologies 的法律和商业争议,但这并未完全阻碍其与 AMD 等国际巨头的合作尝试。
  • 极客实践价值:对于 Linux/OpenBSD 社区而言,龙芯笔记本提供了一个独特的 MIPS 平台,使得在非主流硬件上移植和测试开源操作系统成为可能,尽管过程充满挑战。

意义与影响

龙芯系列芯片的出现,标志着中国在通用处理器领域迈出了实质性的一步。它不仅打破了国外厂商在 1990 年代末至 2000 年代初的技术垄断格局,更验证了在缺乏尖端制造工艺的情况下,通过微架构创新和软件适配提升芯片竞争力的可行性。

从技术生态角度看,龙芯基于 MIPS 架构的衍生发展,为 OpenBSD、NetBSD 等类 Unix 系统提供了除 x86 和 ARM 之外的另一种硬件平台选择。对于像作者这样的技术爱好者而言,这种“不走寻常路”的折腾不仅加深了对操作系统底层机制(

查看原文 →oldvcr.blogspot.com