Skip to content

[OSCOMP] 记录 DragonOS 作为基座系统适配 Roadmap #1105

@Samuka007

Description

@Samuka007

Note

由于 riscv64 尚不支持完全在容器环境下在 QEMU 中运行镜像,因此若想看到在 riscv64 上做的修改,请在主机上运行 cd tools && bash bootstrap.sh 以完善运行环境。鉴于这种方式容易带来环境依赖上的污染,我们正在迁移至 Dev Container 环境中,由此造成的不便我们十分抱歉~ 自4月26日起,riscv64可以稳定在 devcontainer 内编译并启动。

目前已将 DragonOS oscomp 分支迁移到 riscv64 作为默认编译条件。

目前 DragonOS 对不同平台的支持情况:

x86_86 riscv64 loongarch64
Container Build & Run X X
Container Build & Host Run X X X
Host Build & Host Run X X X

迁回 x86_64

参考 https://docs.dragonos.org.cn/introduction/build_system.html#riscv64

修改 env.mk .vscode/settings.json dadk-manifest.toml

env.mk dadk-manifest.toml 里面的ARCH的值改为 riscv64,并且在 setting.json 里面注释 "rust-analyzer.cargo.target": "riscv64-unknown-none", 并取消注释另一项。

x86_64架构,可以在内核中生成 kernel.elf 后,退回用户态执行 make ci-gendisk 操作

编译用户程序

直接进入 devcontainer 并不能 make user。CI 容器中不含 x86_64-unknown-linux-musl 工具链,因此需要手动添加该环境以编译部分用户程序。

riscv64已经支持用户程序编译,x86_64部分支持。

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions