|
Handover协议目前还是很多linux发行版支持的,Loadfile2协议可能是未来发行版即将支持的。
当前g4e需要做的似乎就是用某个可靠的办法判断linux kernel是否支持Handover协议,如果支持的话g4e就尝试用Handover协议启动,如果不支持的话就尝试用Loadfile2协议启动。看起来你对两个协议颇有研究啊,Loadfile2协议是你引入g4e的吧,希望未来还是由你加个判断,解决新老内核兼容性匹配问题(太老的≤4.xx内核kernel panic那种就不用考虑了)。 不行。
正常情况下,用
kernel (hdx,y)/xxx/vmlinuz xxx initrd=/xxx/initrd.img
initrd (hdx,y)/xxx/initrd.img
复制代码
就可以保证能启动。
* 正常情况指的是正规安装的 Linux,kernel 和 initrd 都位于 FAT 分区里面。
我觉得现阶段仍然需要同时支持Handover协议和Loadfile2协议(不支持Handover协议内核版本<20b)。
我做了一个补丁,kernel 函数增加 --handover 和 --loadfile2 参数,以便强制使用Handover或LoadFile2协议。没有参数,则内核版本<20f,使用Handover协议,内核版本>20e,使用LoadFile2协议。可能不严谨。不知到其他方法。 |
|