加载论坛时出错,请强制刷新页面重试。

有没有开始考虑或着手把loongarch移植到bsd系统的?

bexsder

FreeBSD是bsd类os里,更趋于通用os的类Unix系统,它的内核和基本系统自成体系,bsd软件许可更为宽松,ports里软件比netbsd和openbsd也要丰富一些。目前它稳定版本的构建基于llvm11,结合loongarch开始向上游提交补丁,已经基本具备了移植的基础条件。

相关链接:
[FreeBSD]
https://www.freebsd.org/
https://github.com/freebsd
https://github.com/freebsd/freebsd-src.git
[NetBSD]
https://netbsd.org/
https://github.com/netbsd
https://github.com/NetBSD/src.git
[OpenBSD]
https://www.openbsd.org/
https://github.com/openbsd
https://github.com/openbsd/src.git


大道无形若水

bexsder 还没有玩过freebsd


bexsder

大道无形若水 以前也有人试图把mips移植到freebsd上,不过大多因为mips的历史包袱比较重,所以mips的相关支持一直不完备,而LoongArch却是轻装上阵,机遇和挑战并存


木棉

非常支持

bsd系统内核组织结构整体上大同小异,移植到loongarch架构的关键是内核中与机器相关的代码部分。

我调研了netbsd、openbsd系统往risc-v架构移植的方案,其中的方法可以借鉴过来。

其中,openbsd移植到risc-v的文档比较详细。以openbsd为例,内核中需要移植的部分包括:

  • 系统启动部分(bootstrap)

  • 内存管理(UVM虚拟内存系统)

  • 异常处理(trap)

  • 进程上下文管理(Process)

  • 设备(device)


    基本就是下面这个图里面的内容


杜比

木棉 netbsd的可移植框架是不错的,FreeBSD上也是可以借鉴risc-v的移植方案,上游提交或许困难非常大,但想让它跑起来,基本条件是具备的,起码做个验证,然后联系下大飞机


木棉

杜比 是的,可以先不考虑提交上游,并且就bsd来说,不提交上游也没问题。参考基于bsd系统的商业产品,ps游戏机、mac电脑等,龙芯也可以做类似产品,特别是一体机,盒子电脑这种,不需要适配很多硬件设备,跑bsd系统感觉非常合适。


杜比

木棉 即便如此,代码量也是不少的,如果能联系到更多的人,能在一个共同的代码库下做移植,形成一个代码基,会更好!


木棉

杜比 是的,参与的人越多越好。freebsd系统设计与实现一书里,机器平台相关的代码量在5万8千多行,openbsd和netbsd内核的平台相关代码量应该比这个少。openbsd移植risc-v的项目,是4个人做的。参考的话,6个人左右的团队比较合适,沟通成本也不会太高


杜比

木棉 我很原始的想法是,把loongson提交的llvm补丁,先导入进FreeBSD的源代码树里,然后给Makefile打补丁,交叉编译 make world,若能行得通,再借鉴loongson的linux内核代码,往FreeBSD的内核里导入,尝试make kernel,若这两步能跑通,再试着往3A5000上make install。


木棉

杜比 我的思路也差不多。kernel机器相关部分代码是避不开的,我意见是先从kernel下手。openbsd的内核里有专门支持loongson架构的部分,应该是对应龙芯2e,逸龙的笔记本。

bsd内核比较好的一点,每一个架构都有对应的内核conf文件,参考files.loongson文件进行修改

龙芯linux内核源码肯定是要参考的,看龙芯是否能全部放出来。如果有缺的部分,尝试参考loongson的mips源码修改


杜比

木棉 netbsd的代码读过一些,也是在2F上安装netbsd时,关注过几天。相比freebsd,netbsd使用的是gcc12,初始编译时,需要交叉工具链,clfs提供的交叉工具链是否能拿来就用有待验证,netbsd的基础系统是可以包含xorg的基本组件的,若内核能跑起来,那么相对于freebsd和openbsd,粗估会更便利些。
再者netbsd的移植框架确实也是它的强项。所以就确定公共代码基这块,openbsd过于严苛,netbsd做代码基或许更加合适。而且在以往bsd系列的os移植实践里,似乎从netbsd起手的比较多,然后互相借鉴,甚至可以拿来就用。


xied75

报名参加,还差几个人可以开始?


杜比

xied75 欢迎,先等等看


bexsder

主题一楼更新了“相关链接”



xied75

看了你贴的链接,又是熟悉的腔调,LA是MIPS的拷贝那些。说实话地球转到今天这样子,我真不觉得有什么必要求这些上游的爷爷们,难道就是为了让他们也贡献工作量?那要我们干什么?找老胡捐几台机器给头上长天线的天才老外不就行了。


杜比

xied75 一来按照开源惯例,打个招呼,表达下意愿。二来,成见总是要打破的,他怼他的,我怼我的,你不说,成见会越来越深。


xied75

bump up


下一页 »

知识共享许可协议
本站文章除其作者特殊声明外,一律采用CC BY-NC-SA 4.0许可协议进行授权。
进行转载或二次创作时务必以相同协议进行共享,严禁用于商业用途