Skip to main content

Risc-V 操作系统移植

FibOS 是一个基于 RISC-V 架构的操作系统,由 MOS 从 R3000 移植至 SiFive FU540-C000 ,笔者整理了 MOS 的代码结构,重新编写部分 Makefile 编译内核,并对原系统功能进行了优化,可运行在 QEMU 硬件模拟器上。

📄️ 后记

遗憾的是,最终并没有如我当初期盼的那样,在我自己的 FibOS 操作系统上运行 Shell,但这确实是我值得纪念的第一次移植经历。其实任务刚发布时,有不少小伙伴都希望来参与这项任务,甚至移植群的人数达到了一百余号人,可慢慢地,笔者发现身边仍在坚持的伙伴越来越少,不知道最终有没有超过三个,而移植的难度又越来越大,其实这种感觉真的挺绝望、挺孤独的,让我在受阻时无数遍想找退路,想要放弃,后悔当初为什么要参与进来,因为除了助教,几乎没有人可以交流,除了 riscv 标准和开源代码,也没有什么保姆级教程来学习。但想了想,还是咬牙坚持吧,毕竟当初选择 riscv,有很大原因就是因为它没有指导书,而没有指导书,就很可能没什么人做,没什么人做我就想做。最后陪我走下来的是另外两位移植 arm 的兄弟以及耐心解答了我无数问题的陈学长、郭学长。虽然很明显,我在 riscv 移植上取得的成果远远不如那两位兄弟,他们不仅运行了 Shell,还成功驱动起显示器来运行 Shell。比起他们,我的成果着实有些许寒酸。但毕竟我在其上面投入了很多,很多经历也被其消耗,这个学期我一大半的焦虑或许都来自于移植这项任务,另一小部分来源于龙芯杯,特别是近几天,我知道队友在等着我回去写核心,而移植几天又没什么进展,导致我整夜整夜地睡不着觉,昼夜颠倒,可能躺在床上两三点觉得睡不着起来写代码,因为我觉得我离通过文件系统就差临门一脚,而只要通过文件系统,我就有可能起来 Shell,但这一脚在答辩前也没有踢出去。