大家好,我们开发了一个小型的支持mmu的操作系统内核nxos,目前支持x86架构,risc-v64架构,目前risc-v支持qemu和k210,
后续也会添加更多risc-v架构的板子。
开源仓库: https://gitee.com/BookOS/nxos
文档:https://www.book-os.org/doc/nxos/index.html
最近编辑记录 jasonhu (2022-04-12 23:19:34)
离线
恭喜bookos修成正果了!
离线
恭喜bookos修成正果了!
感谢支持!
离线
恭喜bookos修成正果了!
感谢支持!
离线
牛逼啊
离线
通过2天的适配,nxos支持了D1哪吒开发板。目前是使用xfel烧写OpenSBI和nxos内核到DDR3,然后跳转到OpenSBI运行。
开源地址:nxos d1
参考资料:
[1] 关于d1哪吒开发板的启动流程分析
[2] d1-nezha-baremeta
[3] rt-thread smart bsp d1
[4] xv6-d1
[5] 全志官方文档和手册
离线
opensbi缺点很多,建议不要用)
离线
opensbi缺点很多,建议不要用)
对于开发者来说,我们关心的更多是简单易用。关于使用OpenSBI的几个原因:
1. 其编译环境比较简单,安装一个编译器就能进行构建,相对来说rustsbi的编译环境更为复杂。
2. 其使用资料更多,教程也更多,在做某个开发的时候,别人已经写了教程了,照着做就行。
3. 很多厂家出厂固件自带OpenSBI,可以直接使用,甚至有的情况下只能使用到OpenSBI。
换句话来说,如果RustSBI也能做到如上几点,那么使用哪个SBI都无所谓。另外SBI只是内核的一个工具,能够使用就行了,并不要求它能够达到多高的效率,而是提供了我们需要的功能。
离线
@jasonhu
1. 这一点其实与内核开发者关联很大,如果是跟着清华的rCore课做内核的,内核的开发语言是Rust语言,这时候反而装一个C的编译器就成负担了,C的编译器老是要配置,Rust不用,对新语言的开发者来说O开头的竞争品非常不好。如果你是Rust内核的开发者,你会发现C语言的开发环境极其复杂,还要配置,很麻烦,而直接用RustSBI编译环境就会很简单,还不用你配置,用了就知道。
2. 这里是资料:github.com/rustsbi/slides 。还有很多资料散落在项目的wiki里。
O开头那个SBI资料多是因为西数公司的商业宣传,尤其是19年有篇错漏百出的ppt,强行说“RISC-V必须和OpenSBI配套使用”,还指出所谓RISC-V的引导必须有4-5个级别,我在做Oreboot的时候就只有一个级别。它4-5个级别就导致开机时间甚至要一分钟左右,但是为啥它还推这一套呢,是因为OpenSBI项目是他们公司掌控的,所有贡献者都是他们的人,打压个竞争对手岂不是分分钟的事情(这也是为啥我要做RustSBI)。他们商业宣传(广告啊这些)导致去网上一搜资料全是他们的,即使事实上我的资料数量更多、质量还更好。
另外,我的文档全部是中文,国人看着更舒服,一目十行,巨快,很容易消化吸收,有问题直接发帖,我直接用中文交流,毫无障碍,而西数毕竟还是美国人的东西,就很语焉不详,英文很难阅读,很多工程师还得等翻译,文章里有啥不懂的,人家天高皇帝远,也没地方问。
3. 这一点我至少公开批评过全志、勘智和先楫,凭什么白白给美国公司送代码,反而自己人的项目就嘲讽和打压
不过确实很多嵌入式老厂对Rust是完全不懂,至少没有改变的勇气。而且risc-v固件和arm、x86不同,不是所谓“能用就行”,它是在内核后台保持运行的,具体看我的ppt。一个良好编写的引导程序,可以提高操作系统运行的效率。有学术论文,SBI固件可以实现内核调试和安全孤岛(也就是secure enclave)功能,硬要说的话就是arm里的el3和这个很像,这些功能都是opensbi不能提供的。况且,opensbi只支持SBI 0.2规范,而早就有SBI 1.0版本了,很多新内核都没法在0.2上跑(linux除外,不要和我说“linux还没升级”)。
随着时间流逝,仍然固守opensbi的厂商将无法运行这些逐步发展的新内核。
今天我翻了翻github,我的rustsbi在github有451个星,而o开头的sbi只有437个星,到底哪个软件好开发者还是会用脚投票的。西数那边反正都是成年人了,谁的软件好大家心里都清楚,但是他们的目的要把o开头的推广成唯一标准,如果他们成功了,risc-v将成为一个只是看似开放的指令集,因为不可缺少的sbi环节被西数一个商业公司垄断。我的rustsbi就是为了打破垄断,让risc-v真正成为一个开放的指令集而存在的。
最近编辑记录 洛佳 (2022-05-26 10:25:43)
离线
@洛佳
其实,这跟谁先成为行业的头头有很大关系,rustsbi是后来者,那就会面临着很多问题,即使rustsbi更牛,性能更好,更安全,但是人们只会记住第一名,没人会记住第二,所以你要成为那个第一。从开源社区,开发板厂商入手,让更多人来使用,成为头头!!!
我其实也是支持国内的项目,尤其是个人的那种项目的,加油吧,希望以后可以有更多合作!
离线
支持rustsbi(虽然我用的RV片子,我们都把原厂提供的SBI干掉了
rustsbi未来可期!
离线
目前,我们基于全志D1s(riscv架构)开发了一个开源游戏掌机,花了接近2年时间,当然大多数时间都是在摆烂。差不多是看到司徒老师的掌机,才想着自己能不能也做一个,也算是启蒙了。
目前还比较简陋,但是基础功能算是有了,感兴趣的可以了解一下哦~
视频:https://www.bilibili.com/video/BV1Q9xWe5Ezi/?spm_id_from=333.1365.list.card_archive.click&vd_source=50f7c72c3d4eaa6c93abb822d3af7e1d
离线