无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 22519|回复: 102
打印 上一主题 下一主题

[讨论] 使用高版本 GCC 编译 GRUB4DOS

    [复制链接]
跳转到指定楼层
1#
发表于 2023-2-23 11:39:46 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
本帖最后由 wintoflash 于 2023-2-23 22:36 编辑

【仅供测试,请勿用于生产环境】
Github 上一位埃及的朋友提交了让 GRUB4DOS 在高版本 GCC 下也可以成功编译的 PR,
目前我测试 GCC 7.5, GCC 8.4, GCC 9.5, GCC 11.3 都能正常编译。
grub4dos-0.4.6a-2023-02-23-gcc-11.3.7z (311.17 KB, 下载次数: 94)
grub4dos-0.4.6a-2023-02-23-gcc-9.5.7z (311.06 KB, 下载次数: 38)
grub4dos-0.4.6a-2023-02-23-gcc-8.4.7z (309.7 KB, 下载次数: 38)
grub4dos-0.4.6a-2023-02-23-gcc-7.5.7z (309.97 KB, 下载次数: 40)
GCC 10.4 要稍微改一下才能通过编译。
grub4dos-0.4.6a-2023-02-23-gcc-10.4.7z (310.86 KB, 下载次数: 45)
有空的话大家可以测试一下,看看各项功能是否都正常。
https://github.com/chenall/grub4dos/pull/395
@chenall @求道者

评分

参与人数 5无忧币 +25 收起 理由
wuxin9712 + 5 赞一个!
879792799 + 5 很给力!
2011yaya2007777 + 5 赞一个!
freesoft00 + 5
holley2008 + 5 赞一个!

查看全部评分

来自 7#
 楼主| 发表于 2023-2-23 15:03:26 | 只看该作者
我寻思这个帖子也不是资源分享啊,是请人来找茬的。回复“谢谢分享”的都是机器人?
回复

使用道具 举报

95#
发表于 2024-11-9 17:20:34 | 只看该作者
感谢分享
回复

使用道具 举报

94#
发表于 2024-11-9 17:10:50 | 只看该作者
赞赞
回复

使用道具 举报

93#
发表于 2023-10-17 09:26:07 | 只看该作者
帖后跳转到最后一页
回复

使用道具 举报

92#
发表于 2023-10-13 21:02:31 | 只看该作者
怎么编译啊? 我解压了,用make报错
回复

使用道具 举报

91#
 楼主| 发表于 2023-6-20 18:35:07 | 只看该作者
chesson 发表于 2023-6-19 22:48
小白一枚,借宝地求教个问题:几年前我学习细细哥的U盘启动VHD的帖子,随便找个成品PE,再借助FbinstTool就 ...

fbinst 1.6 和 1.7 版本是不兼容的。
现在用 fbinst 1.7 做的 ud,必须用 1.7 版本的 fbinst / FbinstTool 来打开。
回复

使用道具 举报

90#
发表于 2023-6-19 22:48:04 | 只看该作者
小白一枚,借宝地求教个问题:几年前我学习细细哥的U盘启动VHD的帖子,随便找个成品PE,再借助FbinstTool就可以看到存在的UD分区,随便编辑菜单文件,现在新版的PE,为什么隐藏分区全都无法查看了?是需要什么新的软件工具才行吗?

点评

fbinst 1.6 和 1.7 版本是不兼容的。 现在用 fbinst 1.7 做的 ud,必须用 1.7 版本的 fbinst / FbinstTool 来打开。  详情 回复 发表于 2023-6-20 18:35
回复

使用道具 举报

89#
 楼主| 发表于 2023-6-18 21:02:03 | 只看该作者
chenall 发表于 2023-6-18 16:30
前一段时间刚好比较忙..

刚看到 yaya 已经处理好了

能不能解决一下 efi 分支这个报错

点评

已处理,应该下次就不报错了.  发表于 2023-7-5 20:36
回复

使用道具 举报

88#
发表于 2023-6-18 16:30:28 | 只看该作者
wintoflash 发表于 2023-6-5 11:51
前面说了,这个得chenall来弄。
https://github.com/chenall/grub4dos-build/blob/main/start-grubdev.s ...

前一段时间刚好比较忙..

刚看到 yaya 已经处理好了

点评

能不能解决一下 efi 分支这个报错 [attachimg]528180[/attachimg]  详情 回复 发表于 2023-6-18 21:02
回复

使用道具 举报

87#
发表于 2023-6-9 18:20:05 来自手机 | 只看该作者
G4D,G4E 成功发布,可以从两个官网地址下载了。
回复

使用道具 举报

86#
 楼主| 发表于 2023-6-5 11:51:49 | 只看该作者
2011yaya2007777 发表于 2023-6-5 11:16
把grub4dos推送上去了。
修改了 .github/workflows 及 .travis.yml,似乎没有起作用,仍然使用 ubuntu-18. ...

前面说了,这个得chenall来弄。
https://github.com/chenall/grub4 ... in/start-grubdev.sh
他写死了 gcc 版本。

点评

前一段时间刚好比较忙.. 刚看到 yaya 已经处理好了  详情 回复 发表于 2023-6-18 16:30
回复

使用道具 举报

85#
发表于 2023-6-5 11:16:19 | 只看该作者
把grub4dos推送上去了。
修改了 .github/workflows 及 .travis.yml,似乎没有起作用,仍然使用 ubuntu-18.04 编译。
卡在 “调用专用编译环境进行编译”

Run chenall/grub4dos-build@main
Run $GITHUB_ACTION_PATH/tmate.sh
Run cd $GITHUB_ACTION_PATH && chmod +x ./start-grubdev.sh && ./start-grubdev.sh
......
E: Unable to locate package gcc-4.8
E: Couldn't find any package by glob 'gcc-4.8'
E: Unable to locate package gcc-4.8-multilib
E: Couldn't find any package by glob 'gcc-4.8-multilib'
Error: Process completed with exit code 100.

chenall/grub4dos-build@main, $GITHUB_ACTION_PATH/tmate.sh,  ./start-grubdev.sh 这些都不在现有的文件包内。

点评

前面说了,这个得chenall来弄。 https://github.com/chenall/grub4dos-build/blob/main/start-grubdev.sh 他写死了 gcc 版本。  详情 回复 发表于 2023-6-5 11:51
回复

使用道具 举报

84#
发表于 2023-6-4 22:18:25 来自手机 | 只看该作者
2011yaya2007777 发表于 2023-6-4 18:30
这个补丁我一起推上去。不知道还有没有其他问题,到时再请教你。

你们几个高手还是加个微信好了,github沟通感觉不太畅快啊。
回复

使用道具 举报

83#
发表于 2023-6-4 21:50:47 来自手机 | 只看该作者
wintoflash 发表于 2023-6-4 18:10
grub4dos那边用的是chenall的编译脚本,写死了gcc版本。我给chenall提了issue,还没回复。
https://gith ...

破github又卡又墙,chenall没有看到这个issue吧。按说是有邮件提醒的呀?chenall没有注意到吧。
回复

使用道具 举报

82#
发表于 2023-6-4 18:30:49 来自手机 | 只看该作者
这个补丁我一起推上去。不知道还有没有其他问题,到时再请教你。

点评

你们几个高手还是加个微信好了,github沟通感觉不太畅快啊。  详情 回复 发表于 2023-6-4 22:18
回复

使用道具 举报

81#
 楼主| 发表于 2023-6-4 18:10:17 | 只看该作者
2011yaya2007777 发表于 2023-6-4 18:00
好的。明天把我 grub4dos,grub4efi 推上去。

grub4dos那边用的是chenall的编译脚本,写死了gcc版本。我给chenall提了issue,还没回复。
https://github.com/chenall/grub4dos-build/issues/1

点评

破github又卡又墙,chenall没有看到这个issue吧。按说是有邮件提醒的呀?chenall没有注意到吧。  详情 回复 发表于 2023-6-4 21:50
回复

使用道具 举报

80#
发表于 2023-6-4 18:00:21 来自手机 | 只看该作者
好的。明天把我 grub4dos,grub4efi 推上去。

点评

grub4dos那边用的是chenall的编译脚本,写死了gcc版本。我给chenall提了issue,还没回复。 https://github.com/chenall/grub4dos-build/issues/1  详情 回复 发表于 2023-6-4 18:10
回复

使用道具 举报

79#
 楼主| 发表于 2023-6-4 17:41:37 | 只看该作者
2011yaya2007777 发表于 2023-6-4 16:58
@wintoflash
今天上传了外部命令补丁。
修改 ubuntu 为 22.04,gcc 为 11。

现在编译通过了。
暂时禁止了 fbinst, loadbin, makemod, makerom, wee, weesetup 等 Windows 下工具的编译。这些玩意要用 mingw 来编译。
回复

使用道具 举报

78#
发表于 2023-6-4 16:58:37 | 只看该作者
@wintoflash
今天上传了外部命令补丁。
修改 ubuntu 为 22.04,gcc 为 11。
但是卡在初始化。
提示:
E: Failed to fetch http://azure.archive.ubuntu.com/ ... ubuntu2.1_amd64.deb  404  Not Found [IP: 40.119.46.219 80]
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
Error: Process completed with exit code 100.

点评

现在编译通过了。 暂时禁止了 fbinst, loadbin, makemod, makerom, wee, weesetup 等 Windows 下工具的编译。这些玩意要用 mingw 来编译。  详情 回复 发表于 2023-6-4 17:41
回复

使用道具 举报

77#
发表于 2023-6-1 12:55:18 来自手机 | 只看该作者
试一试,要学的挺多。
回复

使用道具 举报

76#
发表于 2023-6-1 12:37:04 来自手机 | 只看该作者
包名字可以模糊搜索
apt search package_name
或者
apt search package_name|grep "package_name"
回复

使用道具 举报

75#
发表于 2023-6-1 10:39:54 | 只看该作者
本帖最后由 2011yaya2007777 于 2023-6-1 11:02 编辑

我不懂,是照抄埃及朋友的。
已经成功下载并编译成功!
谢谢wintoflash超级版主!
回复

使用道具 举报

74#
 楼主| 发表于 2023-6-1 10:04:21 | 只看该作者
2011yaya2007777 发表于 2023-6-1 09:30
是没有装。

sudo apt install -y gcc7-multilib gcc8-multilib gcc9-multilib gcc10-multilib

gcc-10-multilib
你写错了
回复

使用道具 举报

73#
发表于 2023-6-1 09:30:45 | 只看该作者
你是不是没装对应版本的 gcc-multilib

是没有装。

sudo apt install -y gcc7-multilib gcc8-multilib gcc9-multilib gcc10-multilib
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成                 
E: 无法定位软件包 gcc7-multilib
E: 无法定位软件包 gcc8-multilib
E: 无法定位软件包 gcc9-multilib
E: 无法定位软件包 gcc10-multilib

在网上搜了搜,说是更新源,添加了清华源还是不行。

点评

gcc-10-multilib 你写错了  详情 回复 发表于 2023-6-1 10:04
回复

使用道具 举报

72#
发表于 2023-6-1 05:31:55 来自手机 | 只看该作者
本帖最后由 liuzhaoyzz 于 2023-6-1 06:45 编辑
wintoflash 发表于 2023-5-31 22:05
你是不是没装对应版本的 gcc-multilib
比如用的是 gcc-10,那就要装 gcc-10-multilib
我是用 update-al ...


在一个系统里安装多个gcc版本?之前看过这种骚操作,感觉依赖冲突问题很不好处理啊?高版本的ubuntu,低版本的gcc有的依赖根本就安装不上啊?
回复

使用道具 举报

71#
 楼主| 发表于 2023-5-31 22:05:19 | 只看该作者
2011yaya2007777 发表于 2023-5-30 16:53
奇怪了,W超版你可以使用gcc各版本编译成功grldr,而我只能使用gcc-11.3编译成。使用其他版本编译,错误提 ...

你是不是没装对应版本的 gcc-multilib
比如用的是 gcc-10,那就要装 gcc-10-multilib
我是用 update-alternatives 来切换 GCC 版本的。

点评

在一个系统里安装多个gcc版本?之前看过这种骚操作,感觉依赖冲突问题很不好处理啊?  详情 回复 发表于 2023-6-1 05:31
回复

使用道具 举报

70#
发表于 2023-5-30 17:28:29 | 只看该作者
学习
回复

使用道具 举报

69#
发表于 2023-5-30 16:53:48 | 只看该作者
奇怪了,W超版你可以使用gcc各版本编译成功grldr,而我只能使用gcc-11.3编译成。使用其他版本编译,错误提示没有_start,然后退出。

点评

你是不是没装对应版本的 gcc-multilib 比如用的是 gcc-10,那就要装 gcc-10-multilib 我是用 update-alternatives 来切换 GCC 版本的。 [attachimg]527370[/attachimg]  详情 回复 发表于 2023-5-31 22:05
回复

使用道具 举报

68#
发表于 2023-5-29 21:29:42 | 只看该作者
本帖最后由 2011yaya2007777 于 2023-5-30 05:00 编辑
用 dd ?

终于使用dd搞定了。各种因素综合考虑,比预想的复杂一些。

$< 是当前 .o 文件,$@ 是当前 .mod 文件。
回复

使用道具 举报

67#
 楼主| 发表于 2023-5-29 09:18:02 | 只看该作者
2011yaya2007777 发表于 2023-5-28 17:49
使用 gcc11.3 编译 g4eext,会在文件头部增加 16 字节:
00000000   04 00 00 00 10 00 00 00  05 00 00 0 ...

用 dd ?
  1. dd if=$< of=$@ bs=1 skip=16
复制代码

回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2026-3-2 06:04

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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