无忧启动论坛

 找回密码
 注册
搜索

G4D代码仓库master分支版本号是0.4.5c吗?

查看数: 5170 | 评论数: 17 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2016-9-15 15:52

正文摘要:

今天从G4D的github仓库里fork了份源码在ubuntu下重新编译,然后直接替换机器原来的0.4.6a版本,重启机器引导G4D直接跳出commandline界面,不显示菜单界面,一看版本号竟然是0.4.5c的,在命令输入界面configfile ()/m ...

回复

不点 发表于 2016-9-17 18:20:42
freesoft00 发表于 2016-9-17 18:17
fbinst.exe wee等也是都是按照这个方法编译吗?

wee 是需要在 Linux 环境下编译。

fbinst.exe 恐怕需要 Windows 编译环境吧?我没编译过,不知道。

freesoft00 发表于 2016-9-17 18:17:51
不点 发表于 2016-9-16 20:45
说说你是怎么编译的?

附:正确的编译方法:

fbinst.exe wee等也是都是按照这个方法编译吗?

点评

wee 是需要在 Linux 环境下编译。 fbinst.exe 恐怕需要 Windows 编译环境吧?我没编译过,不知道。  详情 回复 发表于 2016-9-17 18:20
seekyou2008 发表于 2016-9-16 23:14:02
不点 发表于 2016-9-16 22:20
果然是这样的,因而也是错的。

可惜,我没把正确的编译方法写进 README_grub4dos.txt 里面,这也给 ...

转了一圈,原来一开始我就错了,还错得这般离谱,该打!经前辈指点,顺利通关,ubuntu改/bin/sh为bash后,也OK了。赞一个
不点 发表于 2016-9-16 22:20:36
本帖最后由 不点 于 2016-9-16 22:23 编辑
seekyou2008 发表于 2016-9-16 22:07
我是按源码包里INSTALL文件要求的步骤进行编译的,先用./configure --prefix=/home/pan/grub/生成Makefil ...


果然是这样的,因而也是错的。

可惜,我没把正确的编译方法写进 README_grub4dos.txt 里面,这也给不少人带来了困惑。

但通常,当你看到有 Makefile 或 GNUmakefile 存在时,是不是就应该敲入 make 进行编译呢?用不着再去阅读 INSTALL 和 README 了吧?既然能看到 INSTALL 和 README,那就也能看到 GNUmakefile。

Makefile 和 GNUmakefile 存在的意义,就是暗示要敲入 make 命令的,否则,它们没必要存在。

INSTALL 和 README 是原始的 GNU GRUB 里面的文件,它们完全没有经过任何更改。它们也不适用于 grub4dos。对于 grub4dos 来说,它们是个摆设,根本就是没用的。

点评

转了一圈,原来一开始我就错了,还错得这般离谱,该打!经前辈指点,顺利通关,ubuntu改/bin/sh为bash后,也OK了。赞一个  详情 回复 发表于 2016-9-16 23:14
seekyou2008 发表于 2016-9-16 22:07:37
不点 发表于 2016-9-16 20:45
说说你是怎么编译的?

我是按源码包里INSTALL文件要求的步骤进行编译的,先用./configure --prefix=/home/pan/grub/生成Makefile,接着执行make,再接着make install,然后粘贴生成的grldr,grldr.mbr,grub.exe三个文件复制到C:\,最后重启。

点评

果然是这样的,因而也是错的。 可惜,我没把正确的编译方法写进 README_grub4dos.txt 里面,这也给不少人带来了困惑。 但通常,当你看到有 Makefile 或 GNUmakefile 存在时,是不是就应该敲入 make 进行编译呢  详情 回复 发表于 2016-9-16 22:20
不点 发表于 2016-9-16 20:45:27
本帖最后由 不点 于 2016-9-16 22:03 编辑

说说你是怎么编译的?

附:正确的编译方法:

cd  grub4dos
ls
【此处列出的文件中有 GNUmakefile,看到它,就想到应该敲入 make 命令进行编译】
make

简单地说,就是 “敲入 make 命令进行编译”,其他编译方法都是错的。


点评

fbinst.exe wee等也是都是按照这个方法编译吗?  详情 回复 发表于 2016-9-17 18:17
我是按源码包里INSTALL文件要求的步骤进行编译的,先用./configure --prefix=/home/pan/grub/生成Makefile,接着执行make,再接着make install,然后粘贴生成的grldr,grldr.mbr,grub.exe三个文件复制到C:\,最后重启  详情 回复 发表于 2016-9-16 22:07
不点 发表于 2016-9-16 12:18:10
seekyou2008 发表于 2016-9-16 11:30
如下为修改后/bin/sh的效果图:

0.4.6a重新编译后引导进入commandline界面,End:364E1D,按ESC后,En ...

看了给出的信息文件,但看不出哪里有问题。无非就是这几个方面:

1、编译器 gcc 的版本,新的 bug,或新引进的不兼容参数,导致 grub4dos 不适应。这在以前屡屡发生。
2、系统 shell 的情况变化。前面已经谈到了。
3、系统工具的不兼容变化,比如 binutils 之类的。它们会影响 Makefile 里面的执行过程和执行结果。

我个人对 ubuntu 越来越不信任了。我不好意思劝你也离开它。但是,我可以劝你采用 chenall 在 windows 下建立的那个 colinux 环境。这就不会有麻烦了。

点评

采用前辈推荐的工具软件git源码,下载完成后有如下提示: cofuse: unsuppored request 13 在XP系统的colinux下编译OK后,直接替换原来的,重启机器结果显示还是一样的,引导后进入commandline,End:3587b5,按ESC  详情 回复 发表于 2016-9-16 18:45
seekyou2008 发表于 2016-9-16 11:33:24
不点 发表于 2016-9-16 10:25
如果你有时间和精力,你可以多试试几个发行版。

如果你没有时间和精力,你就试试 chenall 在 Windows  ...

谢谢回复及建议。
不点 发表于 2016-9-16 10:25:44
seekyou2008 发表于 2016-9-16 09:57
/bin/sh 也改过了,问题照旧。。。这证实了你的猜测,是ubuntu的问题,我系统版本是16.4.2, sh是dash,g ...

如果你有时间和精力,你可以多试试几个发行版。

如果你没有时间和精力,你就试试 chenall 在 Windows 下建立的那个 colinux 编译环境吧。

是这个文件名:grub4dos_dev_2014-06-25.7z 你试试在网上搜,看能否搜到?

点评

谢谢回复及建议。  详情 回复 发表于 2016-9-16 11:33
如下为修改后/bin/sh的效果图: [attachimg]250522[/attachimg] 0.4.6a重新编译后引导进入commandline界面,End:364E1D,按ESC后,End:364EEB 还有make && install相关信息打包如下:  详情 回复 发表于 2016-9-16 11:30
seekyou2008 发表于 2016-9-16 09:57:46
不点 发表于 2016-9-16 08:25
编译时缺少 nasm 和 upx,只影响 eltorito.sys 的生成,不影响别的 grub4dos 文件。

你试试修改 /bin/ ...

/bin/sh 也改过了,问题照旧。。。这证实了你的猜测,是ubuntu的问题,我系统版本是16.4.2, sh是dash,gcc是5.4.0。

点评

如果你有时间和精力,你可以多试试几个发行版。 如果你没有时间和精力,你就试试 chenall 在 Windows 下建立的那个 colinux 编译环境吧。 是这个文件名:grub4dos_dev_2014-06-25.7z 你试试在网上搜,看能否搜  详情 回复 发表于 2016-9-16 10:25
不点 发表于 2016-9-16 08:25:16
seekyou2008 发表于 2016-9-15 23:38
我又重新编译了0.4.6a还是会有这个问题,然后依你所言用0.4.5c的软件包测试确实没有问题。如你分析可能是 ...

编译时缺少 nasm 和 upx,只影响 eltorito.sys 的生成,不影响别的 grub4dos 文件。

你试试修改 /bin/sh,让它 link 到 /bin/bash,看看此时编译的结果怎么样?

点评

/bin/sh 也改过了,问题照旧。。。这证实了你的猜测,是ubuntu的问题,我系统版本是16.4.2, sh是dash,gcc是5.4.0。  详情 回复 发表于 2016-9-16 09:57
seekyou2008 发表于 2016-9-15 23:38:36
不点 发表于 2016-9-15 16:12
我猜是 ubuntu 的问题。

ubuntu 是不兼容性的制造者。我怀疑 ubuntu 又采取了某个不兼容性措施,比如更 ...

我又重新编译了0.4.6a还是会有这个问题,然后依你所言用0.4.5c的软件包测试确实没有问题。如你分析可能是ubuntu导致的,但也可能是我在make时导入的一个不确定性,make时缺少两个编译时软件,一个是NASM,另一个是UPX,前者安装我是确定的,后者我不确定,用的是 http://upx.sf.net 里的一款压缩软件。

点评

编译时缺少 nasm 和 upx,只影响 eltorito.sys 的生成,不影响别的 grub4dos 文件。 你试试修改 /bin/sh,让它 link 到 /bin/bash,看看此时编译的结果怎么样?  详情 回复 发表于 2016-9-16 08:25
不点 发表于 2016-9-15 19:43:32
freesoft00 发表于 2016-9-15 19:27
常规的发行版linux,使用哪个版本编译比较好呢?gcc 使用哪个版本?最新版本是否合适?

Linux 发行版已经很少用了,不太清楚一般情况。

gcc 4.8, 4.9 好像可以用。我用过 debian 上的 gcc 4.9 来编译。估计高版本也可以的。

对 grub4dos 影响较大的是 /bin/sh。如果它是 bash,就没问题。如果不是的,就可能出问题,而且出问题的可能性很大。

freesoft00 发表于 2016-9-15 19:27:39
常规的发行版linux,使用哪个版本编译比较好呢?gcc 使用哪个版本?最新版本是否合适?

点评

Linux 发行版已经很少用了,不太清楚一般情况。 gcc 4.8, 4.9 好像可以用。我用过 debian 上的 gcc 4.9 来编译。估计高版本也可以的。 对 grub4dos 影响较大的是 /bin/sh。如果它是 bash,就没问题。如果不是  详情 回复 发表于 2016-9-15 19:43
不点 发表于 2016-9-15 16:12:25
本帖最后由 不点 于 2016-9-15 16:14 编辑

我猜是 ubuntu 的问题。

ubuntu 是不兼容性的制造者。我怀疑 ubuntu 又采取了某个不兼容性措施,比如更换系统 shell 为某个不兼容性的 sh,导致编译 grub4dos 时产生有问题的、不正常的版本。也有可能是 gcc 版本有 bug 造成的。gcc 的 bug 我们曾经多次发现过。

请用 grub4dos 发布的 0.4.5c 软件包测试。

点评

我又重新编译了0.4.6a还是会有这个问题,然后依你所言用0.4.5c的软件包测试确实没有问题。如你分析可能是ubuntu导致的,但也可能是我在make时导入的一个不确定性,make时缺少两个编译时软件,一个是NASM,另一个是UP  详情 回复 发表于 2016-9-15 23:38

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

闽公网安备 35020302032614号

GMT+8, 2025-8-10 23:38

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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