Hi Tony: 很高兴你对这个任务产生兴趣,同时也很高兴看到了您解决了RISC-V的EDK2问题的过程和结果。 你所提到的这个任务,是open Euler 2020 summer 的一个待选任务,当时这个任务并没有被参与者选中,所以当前的状态仍然是opened。如果您想参与openEuler RISC-V 并且为其添加grub 的支持,我和openEuler 相关软件包的SIG组都会很乐意提供力所能及的帮助。 有关于这个任务的基本情况有:
目的:为open Euler- RISC-V 添加grub的支持,目的是利用openeuler在gitee上的开源代码,使openEuler 能够使用grub进行引导
将此目的进行分解,可以通过如下两个步骤来:
1、 grub 启动方式的适配
a) 当前openEuler RISC-V 在qemu上的引导方式是opensbi+flat kernel image 直接引导至了内核和rootfs的启动
b) 除了a)中所说的opensbi+flatten kernel image的方式,opensbi 也可以将一个bootloader作为opensbi的payload,那么Grub 作为一个bootloader应当也可以由opensbi进行跳转,需要找下这方面的方法,据我所知uboot是可以作为opensbi的payload,进而由uboot加载kernel的;
c) 如果能够引导至grub,接下来就是如何配置grub的加载信息了,可能需要把当前的kernel 放置在某一个磁盘分区中;
2、 修改提交至openeuler
a) 若利用开源的grub2能够引导启动,那么就可以考虑将所作的修改提交到openeuler
b) 当前openEuler 的grub2 已经升级至了2.04,是支持RISCV的,这里边是以软件包构建代码仓的形式托管的,你可能需要了解如何将你的修改提交到这个仓, https://gitee.com/src-openeuler/grub2
c) 顺便,在openEuler/RiSC-V 的仓中和mailist 告诉大家这一好消息。
openEuler的 grub2 由openEuler的 OS-builder SIG 组负责(https://gitee.com/openeuler/community/tree/master/sig/sig-OS-Builder%EF%BC%8... 的问题,欢迎在相关的社区或者maillist(dev@openeuler.org)中进行讨论。
Regards, zhangxuzhou
发件人: Tony [mailto:tony_mcknight22@163.com] 发送时间: 2020年10月20日 16:31 收件人: zhangxuzhou zhangxuzhou4@huawei.com 主题: 关于任务“No.21 - 为openEuler - RISC-V 添加grub的引导启动方式”
Hi zhangxuzhou,
关于“No.21 - 为openEuler - RISC-V 添加grub的引导启动方式”这个任务(https://gitee.com/openeuler/marketing/issues/I1I1TS%EF%BC%89%EF%BC%8C%E6%88%... 不知道现在这个任务的进展是怎样的?有没有什么具体的工作要做?有没有什么资料链接可以发给我学习一下的? 如果这个任务已经完结了,不知这个任务的最终总结文档什么时候可以看到? 盼回复,谢谢!
附:最近我在研究EDK2时遇到的问题并给出问题分析的结果。https://github.com/riscv/riscv-edk2-platforms/issues/10