无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: 2011yaya2007777
打印 上一主题 下一主题

[原创] GRUB4DOS for UEFI

    [复制链接]
2851#
 楼主| 发表于 2023-5-11 06:49:57 | 只看该作者
GRUB2 官方也准备统一 UEFI 下 Linux 的启动方式了,统一用 LoadFile2 的那个方法

昨天推送了一个补丁,到今天 build-push 仍然没有反应。是 ubuntu-18.04 落伍了吗?

点评

重试了好几次,还是没有反应。不知道是怎么回事。  详情 回复 发表于 2023-5-11 13:49
回复

使用道具 举报

2852#
发表于 2023-5-11 06:58:21 | 只看该作者
感谢您的分享   谢谢
回复

使用道具 举报

2853#
发表于 2023-5-11 07:37:29 | 只看该作者
slitaz5.0-rolling-core64-cn-docker.iso,好像是teasiu神雕修改的作品。正常启动√,感觉启动有点慢,密码tux。管理账号root密码root,用户账号tux密码为tux。https://sourceforge.net/projects/slitaz/

title /linux/slitaz/slitaz5.0-rolling-core64-cn-docker.iso
find --ignore-floppies --ignore-cd --set-root /linux/slitaz/slitaz5.0-rolling-core64-cn-docker.iso ;; uuid () ;; echo %?_UUID%
map /linux/slitaz/slitaz5.0-rolling-core64-cn-docker.iso (hd32)
map --hook
kernel (hd32)/vmlinuz-3.16.55-slitaz64 iso=UUID=%?_UUID%/linux/slitaz/slitaz5.0-rolling-core64-cn-docker.iso / quiet loglevel=3 showapps vga=791 lang=zh_CN.UTF-8 tz=GMT-8 tce=UUID=%?_UUID%/linux/slitaz/
initrd (hd32)/rootfs.gz

Ubuntu64-2023-05-11-07-33-38.png (258.07 KB, 下载次数: 106)

Ubuntu64-2023-05-11-07-33-38.png
回复

使用道具 举报

2854#
发表于 2023-5-11 13:49:25 | 只看该作者
2011yaya2007777 发表于 2023-5-11 06:49
昨天推送了一个补丁,到今天 build-push 仍然没有反应。是 ubuntu-18.04 落伍了吗?

重试了好几次,还是没有反应。不知道是怎么回事。
回复

使用道具 举报

2855#
发表于 2023-5-11 13:53:47 | 只看该作者
liuzhaoyzz 发表于 2023-5-10 22:23
统一用 LoadFile2 的那个方法?不准备兼容handover?

GRUB 2 官方从来就没有支持过 EFI Handover Protocol。
arm64 efi 等平台上用的都是 LoadFile2。x86 efi 用的都是传统 32 位协议 (和 BIOS 下一样)。

点评

grub2 EFI启动linux,你指的是2744楼说的第一种是吗? 1. 传统的 32 位启动协议 (32-bit Boot Protocol) 这种方式下 Linux 接管时,已经退出了 UEFI 启动服务,Linux 获取不到 UEFI 系统表指针,因此 Linux  详情 回复 发表于 2023-5-11 16:55
回复

使用道具 举报

2856#
发表于 2023-5-11 16:55:11 | 只看该作者
本帖最后由 liuzhaoyzz 于 2023-5-11 16:56 编辑
wintoflash 发表于 2023-5-11 13:53
GRUB 2 官方从来就没有支持过 EFI Handover Protocol。
arm64 efi 等平台上用的都是 LoadFile2。x86 efi ...
那不如像 GRUB2 一样,全部通过 32 位传统协议启动,什么版本的都支持。

grub2 EFI启动linux,你指的是2744楼说的第一种是吗?

1. 传统的 32 位启动协议 (32-bit Boot Protocol)
这种方式下 Linux 接管时,已经退出了 UEFI 启动服务,Linux 获取不到 UEFI 系统表指针,因此 Linux 启动后无法调用 UEFI 运行时服务。
这种方式的实现也比较复杂,主流 Linux 发行版都没有采用这种方法,因此不予考虑。


点评

是的。  详情 回复 发表于 2023-5-11 17:37
回复

使用道具 举报

2857#
发表于 2023-5-11 17:37:01 | 只看该作者
liuzhaoyzz 发表于 2023-5-11 16:55
grub2 EFI启动linux,你指的是2744楼说的第一种是吗?

1. 传统的 32 位启动协议 (32-bit Boot Proto ...

是的。
回复

使用道具 举报

2858#
发表于 2023-5-11 18:34:48 | 只看该作者
liuzhaoyzz 发表于 2023-5-10 22:04
我用的前面发的12.5.7.

g4e也是要map --hook的呀

替換使用#2827樓BOOTX64.efi
Qemu可以正常啟動mt86plus.iso了
用2023-3-29版的G4E 就卡在map --mem了
回复

使用道具 举报

2859#
发表于 2023-5-12 12:11:57 来自手机 | 只看该作者
wintoflash 发表于 2023-5-10 22:12
GRUB2 官方也准备统一 UEFI 下 Linux 的启动方式了,统一用 LoadFile2 的那个方法。
https://lists.gnu.or ...

那grub2统一用loadfile2协议,不是不能启动老版本的linux了吗?
应该会做兼容性处理吧?

点评

会的。  详情 回复 发表于 2023-5-12 12:18
回复

使用道具 举报

2860#
发表于 2023-5-12 12:18:45 | 只看该作者
liuzhaoyzz 发表于 2023-5-12 12:11
那grub2统一用loadfile2协议,不是不能启动老版本的linux了吗?
应该会做兼容性处理吧?

会的。
回复

使用道具 举报

2861#
发表于 2023-5-12 19:27:02 | 只看该作者
@yaya
https://github.blog/changelog/20 ... removed-by-12-1-22/
GitHub Actions 今年四月底终止了对 Ubuntu 18.04 的支持。
回复

使用道具 举报

2862#
 楼主| 发表于 2023-5-12 20:10:36 来自手机 | 只看该作者
我一开始猜想就是18.04落伍了。今天换成20.04.6,又说gcc4.8找不到还是什么的,奇怪了,你不是打了支持gcc高版本的补丁了吗?

点评

没推送。 而且目前efi打上之后是有问题的。  详情 回复 发表于 2023-5-12 20:16
回复

使用道具 举报

2863#
发表于 2023-5-12 20:16:18 | 只看该作者
2011yaya2007777 发表于 2023-5-12 20:10
我一开始猜想就是18.04落伍了。今天换成20.04.6,又说gcc4.8找不到还是什么的,奇怪了,你不是打了支持gcc ...

没推送。
而且目前efi打上之后是有问题的。
回复

使用道具 举报

2864#
 楼主| 发表于 2023-5-12 20:30:43 来自手机 | 只看该作者
本帖最后由 2011yaya2007777 于 2023-5-12 20:33 编辑

2865#那个网址我现在打不开。
那是不是把18.04改为20.04就行了?

点评

20.04没有gcc-4.8了。  详情 回复 发表于 2023-5-12 20:32
回复

使用道具 举报

2865#
发表于 2023-5-12 20:32:44 | 只看该作者
2011yaya2007777 发表于 2023-5-12 20:30
那是不是把18.04改为20.04就行了。

20.04没有gcc-4.8了。
回复

使用道具 举报

2866#
 楼主| 发表于 2023-5-12 20:35:30 | 只看该作者
那只能跟进了,出现问题再说。

点评

g4d 打上补丁后,用高版本 gcc (  详情 回复 发表于 2023-5-12 20:53
回复

使用道具 举报

2867#
发表于 2023-5-12 20:53:27 | 只看该作者
2011yaya2007777 发表于 2023-5-12 20:35
那只能跟进了,出现问题再说。

g4d 打上补丁后,用高版本 gcc (<=10.x) 目前是没发现任何问题的,但是 g4e 打上之后却基本不能用。
http://bbs.wuyou.net/forum.php?m ... &fromuid=487838
回复

使用道具 举报

2868#
 楼主| 发表于 2023-5-12 21:16:33 来自手机 | 只看该作者
打的补丁有两个改变因数。一是修改了gcc版本,二是修改了efi移交协议。所以要具体分析。另外kernel函数内部是通过chainloader来完成的,其中引入一个小bug,就是字符转换分配的内存小,会产生内存溢出。

点评

之前我已经控制变量试过了,与后者无关。  详情 回复 发表于 2023-5-12 21:54
回复

使用道具 举报

2869#
发表于 2023-5-12 21:54:25 | 只看该作者
2011yaya2007777 发表于 2023-5-12 21:16
打的补丁有两个改变因数。一是修改了gcc版本,二是修改了efi移交协议。所以要具体分析。另外kernel函数内部 ...

之前我已经控制变量试过了,与后者无关。
回复

使用道具 举报

2870#
发表于 2023-5-12 22:25:10 | 只看该作者
本帖最后由 liuzhaoyzz 于 2023-5-12 22:26 编辑

自我记录下,备忘,满足我的好奇心
ubuntu14.04环境下gcc4.8
ubuntu18.04 64位版本,gcc -v gcc版本:7.4的
ubuntu20.10 64位版本,gcc -v gcc版本:10.2的

wintoflash编译的grub4dos-0.4.6a-2023-02-23-gcc-10.4,我测试过是没问题。
回复

使用道具 举报

2871#
发表于 2023-5-12 22:51:12 | 只看该作者
赞一下2年前的文章
回复

使用道具 举报

2872#
发表于 2023-5-17 05:25:53 来自手机 | 只看该作者
感谢分享
回复

使用道具 举报

2873#
发表于 2023-5-17 17:26:04 | 只看该作者
本帖最后由 saiz 于 2023-5-17 17:27 编辑
liuzhaoyzz 发表于 2020-11-3 09:20
比較下UEFI下面,似乎沒有實現磁碟對應map (hd0) (hd1)的功能?但是我試了,不要這一句map (hd0) (hd1),RAMOS也能夠正常啟動,不明白這一句作用倒底是什麼。

Page 1
4. 在 UEFI 環境,可以從 0x80 以外的磁碟啟動,因此不需要交換磁碟操作,如 map (hd0) (hd1)。

点评

在 UEFI 環境,可以從 0x80 以外的磁碟啟動,因此不需要交換磁碟操作,如 map (hd0) (hd1)。 原因不是写了吗?  详情 回复 发表于 2023-5-18 14:30
回复

使用道具 举报

2874#
发表于 2023-5-17 21:22:36 | 只看该作者
感谢分享
回复

使用道具 举报

2875#
发表于 2023-5-18 08:10:57 | 只看该作者
前几天网上找了一个UEFI下修改CPU节能参数的,,最后才发现是使用的GRUB4DOS UEFI
回复

使用道具 举报

2876#
发表于 2023-5-18 14:30:16 | 只看该作者
saiz 发表于 2023-5-17 17:26
Page 1
4. 在 UEFI 環境,可以從 0x80 以外的磁碟啟動,因此不需要交換磁碟操作,如 map (hd0) (hd1)。

在 UEFI 環境,可以從 0x80 以外的磁碟啟動,因此不需要交換磁碟操作,如 map (hd0) (hd1)。

原因不是写了吗?
回复

使用道具 举报

2877#
 楼主| 发表于 2023-5-18 16:38:23 来自手机 | 只看该作者
在ubuntu20.4使用gcc7.5编译成功。总算过了编译关(几乎什么也不懂)。现在是进不了外置菜单。剩下的事肯定不少,但是相对容易一些。

点评

希望g4e远景可以支持多碎片解析,现在的碎片解析,最多39个,还是有点少了。如果能够像grub2那样子支持很多碎片解析就好了。我说的是远景,有希望吗?  详情 回复 发表于 2023-5-22 18:27
辛苦了!期待中。。。  发表于 2023-5-18 19:50
回复

使用道具 举报

2878#
发表于 2023-5-19 08:22:52 | 只看该作者
很厉害的东西,支持一下
回复

使用道具 举报

2879#
发表于 2023-5-19 08:33:00 | 只看该作者
感谢分享
回复

使用道具 举报

2880#
发表于 2023-5-22 18:27:00 | 只看该作者
2011yaya2007777 发表于 2023-5-18 16:38
在ubuntu20.4使用gcc7.5编译成功。总算过了编译关(几乎什么也不懂)。现在是进不了外置菜单。剩下的事肯定 ...

希望g4e远景可以支持多碎片解析,现在的碎片解析,最多39个,还是有点少了。如果能够像grub2那样子支持很多碎片解析就好了。我说的是远景,有希望吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-5-5 04:05

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表