无忧启动论坛

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

[已解决] 关于 64位系统下编译GRUB4DOS的问题

[复制链接]
跳转到指定楼层
1#
发表于 2014-1-18 10:26:09 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 chenall 于 2014-1-18 16:55 编辑

最近发现了一个免费的好东西 koding 功能很强大,其实就是一个有功能限制的VPS.能做的东西其实很多....完全免费.

尝试用它来编译GRUB4DOS,不过失败了.

首先就是出现以下错误提示:

configure: error: GRUB requires a working absolute objcopy; upgrade your binutils

解决方法: 修改./configure文件,将 objcopy -O binary 修改为objcopy -R .note.gnu.build-id -O binary

然后又是一个错误:
configure: error: Neither start nor _start is defined

找了一下,没有找到解决办法.

2014-01-18 16:50 已解决,安装multilib就行了.apt-get install gcc-multilib

这里牛人多,大家有兴趣可以注册一个试下,看看有没有办法解决GRUB4DOS编译的问题.

我是想看看能不能实现源码更新时它就自动编译并上传压缩包.

注册链接

注: 这是一个邀请注册链接.从这个链接注册我可以多获得250MB的磁盘空间.

推荐
发表于 2014-2-20 00:14:18 | 只看该作者
嗯,借这个话题再补充一下。当然了,依旧仅仅代表我自己的观点。

一方面,我身体不好,无法继续从事电脑软件的开发了。另一方面,微软以及 PC 厂商要取缔 BIOS,这也是我心目中的一个 “准绳”:只要这件事发生,我就应该终止开发 grub4dos。

考虑另外一种情况:假如微软和 PC 厂商没有下定决心取缔 BIOS,那么我觉得 grub4dos 应该继续开发下去,直到千真万确微软和 PC 厂商确确实实彻底取缔 BIOS 为止。我越来越认识到,我早年仅凭偶然的兴趣所开发的这个软件,早就已经超出了软件领域,而演变成一个非软件领域的斗争,类似于政治斗争。这个软件虽然很小,但能够让微软不放心,因为它可以寄生于 ntldr 和 bootmgr 之下,让微软封杀 Linux 启动的难度增加了,多了一层障碍。虽然 Linuxer 们很少有人使用 grub4dos,但是,微软是什么级别的?微软明白 grub4dos 的内涵和意义,所以它早就盯上了。在 Windows SP2 的时候,进行了一次强力封杀,在 Vista 的时候,从 ntldr 切换到 bootmgr,对 grub4dos 来说,也是一个大地震,我个人仍旧认为这是一次针对 grub4dos 的封杀行为。到了 Win8 的时候,又以新的形式(即取缔 BIOS 的形式)进行了强力封杀。当然,这次连同 XP 一起封杀掉,我也就不能说是完全针对 grub4dos 的。但 grub4dos 应该也是封杀的目标之一吧,至少可以这么说。或者也可能是封杀的主要目标,也未可知,诸位自己可以判断,我不能越俎代庖。

其他的软件,例如 grub2 和 syslinux,都支持 EFI,因此,都不受影响。而受到影响的,主要只有 grub4dos、DOS、Win98、WinXP 等系统。

彻底封杀掉 BIOS,这一点我完全欣然接受。我不愿意接受的是,对 BIOS 进行破坏,让 BIOS 只能启动 DOS、Windows 而不能顺利运行 grub4dos。这是最痛苦的事情。所以,封杀掉 BIOS,我拍手称快,我也总算是完成我心目中的政治任务了,可以不再费劲去开发这个 grub4dos 了。不过我目前并未彻底放心。我仍然有一丝怀疑,也许我被骗了:它们可能并非真正封杀 BIOS,而是制造一个封杀的假象,将来有可能继续让更加变态的 BIOS 存在,使得只有 DOS 和 Windows 可以启动,而 grub4dos 无法启动。不过,我不管这些事情了,因为碰巧我的身体也不好,所以,我也早该停止开发 grub4dos 了。我相信 grub4dos 开发团队能够恰当应对所有这些变化。

回复

使用道具 举报

2#
 楼主| 发表于 2014-1-18 16:56:12 | 只看该作者
自己解决了,成功使用它编译了一个版本,可以在这里下载

http://chenall.kd.io/grub4dos-0.4.5c-2014-01-18.7z

点评

无法下载了,不到300K,直接已附件的形式发上来白?  详情 回复 发表于 2014-2-17 07:54
回复

使用道具 举报

3#
发表于 2014-1-18 17:40:47 来自手机 | 只看该作者
googlecode是不是不能用了
回复

使用道具 举报

4#
发表于 2014-2-13 15:32:37 | 只看该作者
哈哈..不错呢...问题来了...
回复

使用道具 举报

5#
发表于 2014-2-16 11:39:10 | 只看该作者
请问楼主在https://koding.com/的账号是什么, 想follow
回复

使用道具 举报

6#
 楼主| 发表于 2014-2-16 16:48:36 | 只看该作者
当然是chenall了...^_^
回复

使用道具 举报

7#
发表于 2014-2-17 07:54:43 | 只看该作者
chenall 发表于 2014-1-18 16:56
自己解决了,成功使用它编译了一个版本,可以在这里下载

http://chenall.kd.io/grub4dos-0.4.5c-2014-01-1 ...

无法下载了,不到300K,直接已附件的形式发上来白?
回复

使用道具 举报

8#
 楼主| 发表于 2014-2-17 16:07:23 | 只看该作者
本帖最后由 chenall 于 2014-2-17 18:50 编辑

这个是给开发者使用的,只有在开发状态下才能访问(退出一段时间之后自动关机的),所以上面的链接只有我在使用的时候才可以访问的.




回复

使用道具 举报

9#
发表于 2014-2-19 17:14:26 | 只看该作者
嘿,您是grub4dos的主要开发者吗?我尝试使用 grub4dos 引导 linux,因为全部采用了 btrfs 文件系统,新旧的 grub4dos 都无法读取,不能引导,不得不又使用 grub2。btrfs 是未来 linux 的默认文件系统,是大趋势,应当给予支持。请为 grub4dos 添加 btrfs 文件系统支持。
回复

使用道具 举报

10#
发表于 2014-2-19 18:24:49 | 只看该作者
就连 Linux 能否成为桌面 Windows PC 的替代品,都有疑问,更不用说其中的某个文件系统了。

grub4dos 不支持的东西多了去,随便列出两个:EFI、GPT。

文件系统的支持,应该来说是不难的,原则上讲,可以从 grub2 里面或者 Linux 里面抽取文件系统支持代码。

待到 Linux 占据桌面统治地位之后,GRUB4DOS 再去支持 Linux,尚不为迟。

世上难有完美的事情,鱼与熊掌不可兼得。我个人建议你还是老老实实用 grub2 得了。grub4dos 严重依赖 BIOS,而 BIOS 要被微软以及 PC 厂商抛弃。这正好可以让 grub4dos 的开发者 “减负” —— 不用花费牛劲去大力开发那些很少被人使用的功能了(这里姑且认为 Linux 是少数人使用的操作系统)。

别误会,以上仅代表我个人的观点。我已经退出 grub4dos 的开发,我不代表任何其他人的观点,更不会代表 grub4dos 开发团队的观点。我永远只代表我自己。

回复

使用道具 举报

12#
 楼主| 发表于 2014-2-25 11:23:25 | 只看该作者
推广一下koding,在线的集成开发平台,真的挺方便的说,编译GRUB4DOS什么的不在话下,

在线文件管理,在线编辑代码,而且还有代码高亮。

在任何地方都有顺手的编译环境了,真赞。

现在注册可以多获得1GB的空间,很难得的哦,就在这一个星期之内。

有需要的可以用下面的链接注册

https://koding.com/R/chenall

注: 必须使用上面的链接注册,而且是在这个星期之内,才有4G数据空间,否则只有3G哦。

点评

[attachimg]457115[/attachimg] 挂掉了吧  详情 回复 发表于 2020-5-19 12:22
回复

使用道具 举报

13#
发表于 2014-2-25 13:33:28 | 只看该作者
世界发展变化还是很快的,办事越来越方便了。
回复

使用道具 举报

14#
发表于 2019-12-20 10:53:44 | 只看该作者
mark,编译grub4dos
回复

使用道具 举报

15#
发表于 2020-1-26 15:46:04 | 只看该作者
高手的帖子,弱弱地在后面跟一下帖子。
回复

使用道具 举报

16#
发表于 2020-1-30 17:50:23 来自手机 | 只看该作者
很不错呢。
回复

使用道具 举报

17#
发表于 2020-5-11 12:52:28 来自手机 | 只看该作者
前面的链接已经失效。我想知道,在你(chenall)创建的windows开发环境里,能否编译64位grub4dos。我不懂编译语法,不知怎样修改。如果你有时间的话,帮忙搭建一个编译环境。现在我已经基本完成了支持32位EFI环境的grub4dos。

点评

如果你用的系统是win10,可以安装wsl。  详情 回复 发表于 2020-5-19 12:41
666 我对编译这些也不是很了解呢,帮不上忙. 抱歉. 也许可以直接使用虚拟机  详情 回复 发表于 2020-5-19 11:08
哇,ya大牛比。。。搞定了grub4dos对EFIの支持!!  发表于 2020-5-11 20:31
666  详情 回复 发表于 2020-5-11 13:18
回复

使用道具 举报

18#
发表于 2020-5-11 13:18:32 | 只看该作者
2011yaya2007777 发表于 2020-5-11 12:52
前面的链接已经失效。我想知道,在你(chenall)创建的windows开发环境里,能否编译64位grub4dos。我不懂编 ...

666
回复

使用道具 举报

19#
 楼主| 发表于 2020-5-19 11:08:35 | 只看该作者
2011yaya2007777 发表于 2020-5-11 12:52
前面的链接已经失效。我想知道,在你(chenall)创建的windows开发环境里,能否编译64位grub4dos。我不懂编 ...

666

我对编译这些也不是很了解呢,帮不上忙. 抱歉.

也许可以直接使用虚拟机

回复

使用道具 举报

20#
发表于 2020-5-19 12:17:33 | 只看该作者
前面一堆大神浮出水面,这是参加两会的节奏?
回复

使用道具 举报

21#
发表于 2020-5-19 12:22:30 | 只看该作者
chenall 发表于 2014-2-25 11:23
推广一下koding,在线的集成开发平台,真的挺方便的说,编译GRUB4DOS什么的不在话下,

在线文件管理,在 ...



挂掉了吧
回复

使用道具 举报

22#
发表于 2020-5-19 12:41:27 | 只看该作者
2011yaya2007777 发表于 2020-5-11 12:52
前面的链接已经失效。我想知道,在你(chenall)创建的windows开发环境里,能否编译64位grub4dos。我不懂编 ...

如果你用的系统是win10,可以安装wsl。
回复

使用道具 举报

23#
发表于 2020-5-19 12:44:17 来自手机 | 只看该作者
@chenall 前面我没有表述清楚。我的意思是,在现有的源代码里,加入什么命令,参数,就可以编译64位的grub4dos。(不用管efi)。我只知道加 m64 参数,但是通不过,一大堆问题。看你的时间吧。有可能的话帮一把。

点评

大佬,要不你先传到github,大家研究一下?  详情 回复 发表于 2020-5-19 13:05
回复

使用道具 举报

24#
发表于 2020-5-19 13:05:22 | 只看该作者
2011yaya2007777 发表于 2020-5-19 12:44
@chenall 前面我没有表述清楚。我的意思是,在现有的源代码里,加入什么命令,参数,就可以编译64位的grub4 ...

大佬,要不你先传到github,大家研究一下?
回复

使用道具 举报

25#
发表于 2020-5-19 13:58:32 来自手机 | 只看该作者
现在还有PXE没有转换。太乱了,容我整理整理。
回复

使用道具 举报

26#
发表于 2020-5-19 17:17:15 | 只看该作者
本帖最后由 不点 于 2020-5-19 17:22 编辑

支持 EFI?工作量好大呀!

win2flash  的 grub2 不是已经支持 EFI 而且也能 map 了吗?个人感觉,如果 grub2 能用,就凑合着用也行。

是的,grub2 在 legacy BIOS 层面,无法做到像 grub4dos 那样的兼容性(兼容各种恶意 BIOS,能抗住严厉的封杀)。这里所说的 “无法”,是指没人做这个工作,因此那当然就是 “无法” 的了。假若有人做这工作的话,那还是 “有法” 的。win2flash 做了 map 的工作,这是给 grub2 在 EFI 层面增添了功能,而在 legacy BIOS 层面,还是没人去做工作。

鉴于 legacy BIOS 在遭到淘汰,因此,grub2 之下的开发,似乎更接地气一点。让 grub4dos 支持 EFI 也是可以考虑的,不过,个人感觉,工作量可能太大了吧,怕是会让开发者身体吃不消。

yaya 编译 64 位的 C 代码,应该没啥困难吧?只要你的 gcc 是 64 位的,就能编译吧?

在 64 位之下,asm.S 里面的汇编代码,估计都不能运转了。我猜,你可能本来也就不需要 asm.S 了,因为 EFI 底下的启动逻辑,全都变了,而 asm.S 大概也就用不上了吧。

不懂 EFI,想帮也帮不上忙。

随便异想天开一下:假若能够在 EFI 之下建立一个 legacy BIOS 兼容层,那或许可以减轻工作量。兼容层不需要很全面,只要能够让 grub4dos 转起来就行。grub4dos 调用的 BIOS 并不多,大概只有 int13、15、16 等少数几个。
回复

使用道具 举报

27#
发表于 2020-5-19 23:39:18 | 只看该作者
等ya大出色の工作结果出来。。。
回复

使用道具 举报

28#
发表于 2020-5-20 21:28:45 | 只看该作者
我还停留在使用gcc4.6编译grub4dos的时代
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-12-2 14:56

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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