Skip to content

docs(starryos): document LS2K1000 platform support#1581

Merged
chyyuu merged 2 commits into
rcore-os:devfrom
MF-B:docs/starryos-ls2k1000
Jul 12, 2026
Merged

docs(starryos): document LS2K1000 platform support#1581
chyyuu merged 2 commits into
rcore-os:devfrom
MF-B:docs/starryos-ls2k1000

Conversation

@MF-B

@MF-B MF-B commented Jul 12, 2026

Copy link
Copy Markdown
Contributor

背景

PR #1368 已为 StarryOS 增加 Loongson 2K1000 物理板支持,包括动态平台启动、LIOINTC、AHCI、GMAC、RTC、串口和低用户虚拟地址布局等能力。

现有 StarryOS 快速上手文档尚未说明 2K1000 使用了哪些平台与驱动 crates,也没有记录从构建 starryos.bin 到通过 TFTP 和 U-Boot 启动的完整流程,使用者需要从板级配置、驱动源码和原 PR 记录中分别查找信息。

修改内容

  • 在 StarryOS 快速上手文档中新增 Loongson 2K1000 小节。

  • 说明 2K1000 使用的 LoongArch64 target、动态平台路径和 SATA ext4 rootfs。

  • 按平台、CPU、中断控制器、设备发现、串口、RTC、SATA、网络和文件系统分类列出相关 crates。

  • 补充两种构建方式:

    • cargo starry defconfig ls2k1000 后执行 cargo starry build
    • 直接通过 --config os/StarryOS/configs/board/ls2k1000.toml 构建。
  • 说明 starryos.bin、SATA ext4 rootfs、TFTP 和串口等实板启动前置条件。

  • 记录经过实板验证的 U-Boot 环境变量和 boot_starry 启动脚本。

  • 明确当前支持边界:

    • 仓库暂且没有 ls2k1000-board.toml 或对应的 StarryOS test-suit 板测配置;
    • 普通 QEMU 没有 LS2K1000/2K1000 machine;
    • qemu-loongarch64 只能验证 LoongArch64 通用路径,不能替代 2K1000 实板验证。

实现逻辑

文档内容以当前 os/StarryOS/configs/board/ls2k1000.tomlsomebootsomehalax-driver 实现为准。

启动路径按照实际依赖关系组织:

  1. U-Boot 通过 go 启动内核并传入 FDT。
  2. someboot 解析 FDT、建立页表并准备 SMP。
  3. somehal 从 FDT 探测 LS2K1000 LIOINTC。
  4. rdriveax-driver 探测 NS16550、RTC、AHCI 和 GMAC。
  5. ax-fs-ng 从 AHCI block device 扫描并挂载 ext4 rootfs。
  6. StarryOS 初始化运行期串口和网络后进入用户态 shell。

验证

  • corepack yarn build
    • Docusaurus production build 成功。
    • 构建仍会报告仓库原有的 ArceOS configuration#appcontext broken-anchor 警告,与本次修改无关。

Copilot AI review requested due to automatic review settings July 12, 2026 02:48

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

本 PR 为 StarryOS 快速上手文档补充 Loongson 2K1000(LS2K1000)物理板支持说明,覆盖所用 target/动态平台路径、关键驱动 crates 列表,以及从构建到 TFTP + U-Boot 启动的实板流程,降低用户从源码/配置/历史 PR 中“拼信息”的成本。

Changes:

  • 在 StarryOS quickstart 中新增 2K1000 小节,按子系统梳理相关 crates/feature/实现位置。
  • 增补两种构建方式(defconfig 与显式 --config)及实板启动前置条件。
  • 提供经实板验证的 U-Boot 启动脚本(TFTP 加载 + 计算入口 + go 传 FDT),并明确当前 CI/QEMU 覆盖边界。

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread docs/docs/quickstart/starryos.md Outdated
Comment thread docs/docs/quickstart/starryos.md

@mai-team-app mai-team-app Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

评审总结

本 PR 为 StarryOS 快速上手文档补充 Loongson 2K1000 物理板支持说明,覆盖了所用的 target、驱动 crates 列表、构建方式和 U-Boot 启动流程。文档结构清晰,crates 表格分类合理,启动边界说明到位。

验证结果

  • Docusaurus 构建corepack yarn build 成功,唯一的 broken-anchor 警告是仓库原有的 ArceOS configuration#appcontext 问题,与本次修改无关。
  • 引用文件检查:文档中引用的所有源文件路径(someboot/src/arch/loongarch64/axcpu/src/loongarch64/somehal/.../liointc.rsax-driver/src/serial/ns16550.rsax-driver/src/time/loongson.rsax-driver/src/block/ahci.rsax-driver/src/net/loongson_gmac.rs)均存在。
  • feature 验证:文档提到的 loongarch64-low-vals2k1000-ahcils2k1000-gmac 等 feature 在代码中均有对应定义。
  • 板卡配置os/StarryOS/configs/board/ls2k1000.toml 存在,内容与文档描述一致。
  • PR #1368(前置实现):已合并,且文档中引用的实现路径与 PR #1368 的合并内容吻合。
  • CI 状态:该 PR 仅修改 docs/** 下文件,根据 .github/workflows/ci.ymlpaths-ignore 规则,主 CI 不会触发。docs.yml 仅在 push 到 main 分支时触发,PR 不会运行。这是预期的 CI 行为。
  • 重复/重叠分析:搜索了 LS2K1000、starryos docs 相关 open PR,未发现重复或冲突的 PR。

阻塞问题

Copilot 已经指出了两个相同问题,我在此确认并补充分析:

  1. 输出路径 target triple 不一致(已在 Copilot 评论中指出):文档第 157 行写 target/loongarch64-unknown-linux-musl/release/,但 ls2k1000.toml 中 target 为 loongarch64-unknown-none-softfloat。Cargo 构建的产物会放在 target/loongarch64-unknown-none-softfloat/release/。读者按文档路径找不到 starryos.bin,应修正为与板卡配置一致的 target triple。

  2. U-Boot 脚本缺少 loadaddrfdt_addr 定义(已在 Copilot 评论中指出):脚本中 starry_load_tftp 使用了 ${loadaddr}starry_fdt_movestarry_fdt_select 使用了 ${fdt_addr},但文档未给出这两个变量的设置示例。PR #1368 的对应脚本中显式设置了 setenv loadaddr 0x9000000098000000setenv fdt_addr 0x900000000a000000。虽然某些 U-Boot 环境可能预配置了这些变量,但文档应至少给出经验证的值,避免读者在全新 U-Boot 环境下遇到 tftpboot 地址错误或 fdt move 失败。

建议在脚本前补上 loadaddr/fdt_addr 的 setenv 示例(可参考 PR #1368 中的经验值),或至少明确说明这两个变量需要用户根据实际板卡内存布局设置。

请修复以上两个问题后重新提交。

Powered by deepseek-v4-pro

@mai-team-app mai-team-app Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

评审总结

本 PR 为 StarryOS 快速上手文档新增 Loongson 2K1000 物理板支持说明(共 2 个 commit)。文档按 crates 表格分类、构建方式、U-Boot 启动流程和支持边界组织,结构清晰,内容以已合并的 PR #1368 实现为准。

上一轮评审问题处理

Copilot 和 mai-team-app[bot] 上轮评审指出的两个阻塞问题已在 commit 84ca35c 中修复:

  1. target triple 不一致(原行 157):新 commit 补充了 axbuild 将逻辑 target loongarch64-unknown-none-softfloat 映射到 scripts/targets/std/pie/loongarch64-unknown-linux-musl.json 的说明,解释了产物路径 target/loongarch64-unknown-linux-musl/release/ 的来源。经验证,该 target JSON 文件确实存在,映射关系正确。

  2. U-Boot 脚本缺少 loadaddr/fdt_addr 定义(原行 183):新 commit 在脚本前补充了 setenv loadaddr 0x9000000098000000setenv fdt_addr 0x900000000a000000,并附上 PR #1368 引用和内存布局注意事项。

两个 Copilot inline 评论指向的行都已被新代码替换,建议在合并前手动 resolve 这两个 review thread。

验证结果

  • Rust 代码:本 PR 为纯文档修改(docs/docs/quickstart/starryos.md),无 Rust 代码变更,无需 cargo fmt / cargo clippy / cargo test
  • Docusaurus 构建:作者报告 corepack yarn build 成功。当前容器环境缺少 Node.js/yarn,无法复现,但考虑到纯 Markdown 文档变更且构建工具链与 PR 内容无关,接受作者验证结果。
  • 引用路径验证:文档中引用的 crate 路径、feature 名称和配置文件路径均已核对存在。
  • CI 状态:PR 仅修改 docs/**,主 CI 的 paths-ignore 规则排除了 docs 路径,docs.yml 仅在 push 到 main 时触发。0 个 check run 是预期行为,不阻塞合并。

重复/重叠分析

搜索了与 LS2K1000、StarryOS docs、2K1000 相关的 open PR,未发现重复或冲突的 PR。

  • PR #1368(LS2K1000 平台支持)已合并,本 PR 是其文档补充。
  • PR #1580(StarryWRT)、#1520(nixpkgs)、#1321(memcached test)等与本文档无重叠。
  • 基分支 dev 中不存在与本文档内容重复的 LS2K1000 小节。

结论

文档内容准确,结构合理,上一轮阻塞问题已全部修复。无剩余阻塞问题,建议合并。

Powered by deepseek-v4-pro

@mai-team-app
mai-team-app Bot requested review from ZCShou and ZR233 July 12, 2026 03:01

@mai-team-app mai-team-app Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

评审总结

本 PR 为 StarryOS 快速上手文档新增 Loongson 2K1000 物理板支持说明(共 2 个 commit,修改 docs/docs/quickstart/starryos.md,+96/-1)。文档按 crates 表格分类、构建方式、U-Boot 启动流程和支持边界组织,结构清晰,内容以已合并的 PR #1368 实现为准。

上一轮评审问题处理

Copilot 和 mai-team-app[bot] 上轮评审指出的两个阻塞问题已在 commit 84ca35c 中修复:

  1. target triple 不一致(原行 157):新 commit 补充了 axbuild 将逻辑 target loongarch64-unknown-none-softfloat 映射到 scripts/targets/std/pie/loongarch64-unknown-linux-musl.json 的说明,解释了产物路径 target/loongarch64-unknown-linux-musl/release/ 的来源。经验证,该 target JSON 文件确实存在,映射关系正确。

  2. U-Boot 脚本缺少 loadaddr/fdt_addr 定义(原行 183):新 commit 在脚本前补充了 setenv loadaddr 0x9000000098000000setenv fdt_addr 0x900000000a000000,并附上 PR #1368 引用和内存布局注意事项。

两个 Copilot inline 评论指向的行都已被新代码替换,建议在合并前手动 resolve 这两个 review thread。

验证结果

  • Rust 代码:本 PR 为纯文档修改,无 Rust 代码变更,无需 cargo fmt / cargo clippy / cargo test
  • 引用路径验证:文档中引用的所有 crate 路径、feature 名称和配置文件路径均已核对存在(platforms/someboot/src/arch/loongarch64/platforms/somehal/src/arch/loongarch64/liointc.rsdrivers/ax-driver/src/serial/ns16550.rsdrivers/ax-driver/src/time/loongson.rsdrivers/ax-driver/src/block/ahci.rsdrivers/ax-driver/src/net/loongson_gmac.rsos/StarryOS/configs/board/ls2k1000.tomlscripts/targets/std/pie/loongarch64-unknown-linux-musl.json 均存在)。
  • Docusaurus 构建:作者报告 corepack yarn build 成功。当前容器环境缺少 Node.js/yarn,无法复现,但考虑到纯 Markdown 文档变更且构建工具链与 PR 内容无关,接受作者验证结果。
  • CI 状态:PR 仅修改 docs/**,主 CI 的 paths-ignore 规则排除了 docs 路径,docs.yml 仅在 push 到 main 时触发。0 个 check run 是预期行为,不阻塞合并。

重复/重叠分析

搜索了与 LS2K1000、StarryOS docs、2K1000 相关的 open PR,未发现重复或冲突的 PR。

  • PR #1368(LS2K1000 平台支持)已合并,本 PR 是其文档补充。
  • PR #1580(StarryWRT)、#1577(perf)、#1573(sysfs)、#1570(py-sci2)、#1568(UDP)、#1566(TUN/TAP)等与本文档无重叠。
  • 基分支 dev 中不存在与本文档内容重复的 LS2K1000 小节。

结论

文档内容准确,结构合理,上一轮阻塞问题已全部修复。无剩余阻塞问题,建议合并。

Powered by deepseek-v4-pro

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants