疑问:G4E不支持ubuntu X86版启动? g4d(bios)和grub2(uefi)是可以的。

查看 118|回复 9
作者:henrygoode   
   
一、环境描述
1、存在方式
U盘只有1个主分区,FAT32格式。以Live USB方式启动Linux ISO,设置了persistent持久化语句。MBR上装了g4d 0.4.6a、FAT32分区EFI文件下装了g4e 20240226、grub2 2.05。G4E/GRUB2可互切菜单。
2、linux版本限定
linux选型是为应用软件vusbtool服务。该应用软件依赖 ubuntu 18/16改版linux平台,因此暂只考虑启动这些发行版。已测试、能适配应用软件的发行版有:linux-mint V19.X、linux-lite V3.X-V4.X 、ubuntu-mate 16/18、ubuntu-gnome 16、kubuntu 16/18...等的对应X86/X64版本。(注:为什么不用更新的基于Ubuntu 19/20/22/24的对应新改版,
因为它们缺失python-GTK、theme等组件,也无法apt install安装,不能完美支持应用软件GUI界面,
[color=]ubuntu版本最新≠最合适≠最好。因此,不考虑、不讨论Ubuntu 19-24版。
至于这个应用软件是个什么性质的东西,读者如有需求,我再详细解释)
主要菜单语句:g4d(BIOS)/g4e(UEFI)
kernel /path_linuxiso/vmlinuz boot=casper iso-scan/filename=/path_linuxiso/linuxver.iso  noprompt  persistent persistent-path=/path_linuxiso/ locale=zh_CN.UTF-8  
initrd /path_linuxiso/initrd
boot
grub2 2.05 (UEFI)
linux /path_linuxiso/vmlinuz boot=casper iso-scan/filename=/path_linuxiso/linuxver.iso  noprompt  persistent persistent-path=/path_linuxiso/ locale=zh_CN.UTF-8  
initrd /path_linuxiso/initrd
以上linuxver.iso、vmlinuz、initrd是统称,实际一一对应相应版本的linux,均单独存放在自己的文件夹,不与其他版本linux混淆。
3、参试PC:Intel X64平台。海尔S4、清华同方T43等笔记本,AMI UEFI/CSM。
二、问题症状
以上改版的X86/X64版本可以用g4d 0.4.6a(BIOS/UEFI CSM环境)、grub2 2.05(UEFI环境)正常启动进入。
[color=]其X64版,G4E能正常启动进入,但X86版,G4E不能
[color=]正常启动进入。
以ubuntu-mate 18为例,debug 3的截图如下,执行kenel、initrd时有暂停。--handover  --loadfile2选项都试了。
三、另@liuzhaoyzz:CrScreenshotDxe.efi截屏模块,G4E下不能正常保存截图(载入时、Ctrl+ALT+F12时,左上角有光标块闪烁提示,但U盘FAT32分区无PNG截图)。由于我的U盘G4E/GRUB2菜单可互切,退出G4E,转到grub2环境,截屏模块又能正常保存截图了。

版本, 应用软件, 截图

gogoblue   
loadfile2 不支持 efi mix mode (32->64/64->32)
handover 支持 32->64 (kernel自带转模式代码) 不支持 64->32。
zx12315   
谢谢分享
yf668888   

wintoflash 发表于 2024-6-17 17:22
loadfile2 不支持 efi mix mode (32->64/64->32)
handover 支持 32->64 (kernel自带转模式代码) 不支持 64 ...

谢谢W大的解答。这样的话,handover选项还是有希望把X86版跑起来。
“kernel doesn't support 64-bit CPUS”-怀疑G4E的判断逻辑不够完善,线条有点画粗了。
aidjgo   

wuwuzz 发表于 2024-6-17 18:09
谢谢W大的解答。这样的话,handover选项还是有希望把X86版跑起来。
“kernel doesn't support 64-bit  ...

不是。这是内核的局限。内核只考虑了32位启动64位内核的情况,没有考虑反过来的情况,因为正常情况下不会这么反过来用。
dTb   

谢谢分享
agagega   
谢谢分享
israinbow   
32位的ubuntu旧版本?真的必须用这一版?
诸葛文诚   
这就像某特色一样有特务,不会比日本鬼子差
jikic   
   

plutoshen 发表于 2024-6-17 21:49
32位的ubuntu旧版本?真的必须用这一版?

不是这个意思。
用X64版当然可以。一楼已经说了,版本限定,主要集中在16/18,而不是X64/X86。
回到本帖启动主题,如果不支持XXXubuntu 16/18的X86版启动,适用范围就少了一半,影响较大。因为XXX不只一个Ubuntu发行版,而是代表linux-mint、linux-lite...等N个发行版。我的疑问是,同样一个X86版ISO/X64 CPU,UEFI环境下,grub2可以支持启动进入,G4E不支持。那么,G4E能否修改支持。如果不打算修改支持,那么到一楼这种启动场景,用户就得换用grub2。
您需要登录后才可以回帖 登录 | 立即注册

返回顶部