无忧启动论坛

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

GRUB 支持 ARM 架构?求确认!

  [复制链接]
跳转到指定楼层
1#
发表于 2017-4-12 23:24:26 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
今天浏览 debian 的网站,发现:

https://d-i.debian.org/daily-images/arm64/20170412-02:07/netboot/debian-installer/arm64/

天啊!grub 已经支持 ARM64 了!是真的吗?是我老眼昏花看错了吗?有谁知道的,麻烦说说详情。


Index of /daily-images/arm64/20170412-02:07/netboot/debian-installer/arm64  

NameLast modifiedSize

Parent Directory
-
bootnetaa64.efi
2017-04-12 02:06
448K
grub/
2017-04-12 02:06
-
initrd.gz
2017-04-12 02:06
21M
linux
2017-04-12 02:06
13M



请看那些文件,居然有 EFI 文件!请问 ARM 体系也使用 EFI 吗?

如果 grub 能用的话,那是不是说,以后就可以扔掉 U-boot 了?


36#
发表于 2021-12-24 19:42:06 | 只看该作者
完善了?
回复

使用道具 举报

35#
发表于 2021-8-17 23:49:43 | 只看该作者
arm如何引导的?
回复

使用道具 举报

34#
发表于 2021-8-15 00:06:07 | 只看该作者
关注下
回复

使用道具 举报

33#
发表于 2021-8-9 14:58:21 | 只看该作者
早就支持了,目前国产电脑中飞腾2000机型全部为ARM架构!
回复

使用道具 举报

32#
发表于 2021-8-9 13:58:13 | 只看该作者
不点 发表于 2017-4-16 22:13
Running ARM Grub on U-Boot on QEMU

https://www.hellion.org.uk/blog/posts/grub-on-uboot-on-qemu/
...

我现在用的就是arm国产操作系统,而且是grub启动的,不过grub文件夹被隐藏了,不让看,不知道为什么不让看
回复

使用道具 举报

31#
发表于 2020-5-4 11:43:02 | 只看该作者
ARM的引导希望有完善了。
回复

使用道具 举报

30#
发表于 2020-5-3 13:12:09 | 只看该作者
好像还不开
回复

使用道具 举报

29#
发表于 2020-3-4 08:28:55 | 只看该作者
支持了吗?ARM的。
回复

使用道具 举报

28#
发表于 2020-2-23 14:36:10 | 只看该作者
支持了吗?
回复

使用道具 举报

27#
发表于 2020-1-28 21:19:27 | 只看该作者
弄清楚了吗?还有debian支持那些ARM的处理器呢?那里看支持型号?
回复

使用道具 举报

26#
发表于 2019-10-29 04:58:24 来自手机 | 只看该作者
而在编译uboot的时候,有选项是“是否支持执行efi文件……?”无法准确的翻译这个
回复

使用道具 举报

25#
发表于 2019-10-29 04:57:06 来自手机 | 只看该作者
文中的地址应该相对于不同开发板会有区别
回复

使用道具 举报

24#
发表于 2019-10-29 04:56:16 来自手机 | 只看该作者
uboot拥有自己的shell以启动,参考https://forum.odroid.com/viewtopic.php?t=26894
回复

使用道具 举报

23#
发表于 2017-4-25 11:45:27 来自手机 | 只看该作者
好的
回复

使用道具 举报

22#
 楼主| 发表于 2017-4-22 23:36:37 | 只看该作者
窄口牛 发表于 2017-4-22 19:42
大师一定会搞定,搞好记得说说。

我岁数大了,缺少精力和时间,我不会去做这样费劲的事情的。我等着 firefly 的开发团队放出现成的刷机包。
回复

使用道具 举报

21#
发表于 2017-4-22 19:42:14 来自手机 | 只看该作者
大师一定会搞定,搞好记得说说。

点评

我岁数大了,缺少精力和时间,我不会去做这样费劲的事情的。我等着 firefly 的开发团队放出现成的刷机包。  详情 回复 发表于 2017-4-22 23:36
回复

使用道具 举报

20#
 楼主| 发表于 2017-4-20 20:51:32 | 只看该作者
谢谢两位帮忙。看来问题得慢慢解决。不着急,等着吧。

回复

使用道具 举报

19#
发表于 2017-4-19 23:39:18 来自手机 | 只看该作者
估计他会去找bootloader分区或者bootloader.img。
回复

使用道具 举报

18#
发表于 2017-4-19 18:16:53 | 只看该作者
不点 发表于 2017-4-18 23:01
成功了,已经生成 grub.efi

firefly@firefly:~/grub$ ll grub.efi

接下来怎么办我也不知道了,等高手吧。
在x86_64的设备上,接下来直接把grub.efi复制到某FAT分区的/EFI/boot/下,重命名为bootx64.efi就行了,arm的不知道。
回复

使用道具 举报

17#
 楼主| 发表于 2017-4-18 23:01:17 | 只看该作者
wintoflash 发表于 2017-4-18 21:34
./grub-mkimage -p "/boot/grub" -d ./grub-core -o grub.efi -O arm64-efi fat ext2 probe terminal scs ...

成功了,已经生成 grub.efi

firefly@firefly:~/grub$ ll grub.efi
-rw-rw-r-- 1 firefly firefly 372736 4月  18 14:55 grub.efi

下一步该怎么办?

点评

接下来怎么办我也不知道了,等高手吧。 在x86_64的设备上,接下来直接把grub.efi复制到某FAT分区的/EFI/boot/下,重命名为bootx64.efi就行了,arm的不知道。  详情 回复 发表于 2017-4-19 18:16
回复

使用道具 举报

16#
发表于 2017-4-18 21:34:18 | 只看该作者
不点 发表于 2017-4-18 20:51
它自动探测我的系统,生成的是 arm64-efi 的,我看到它给出这样的信息。

./grub-mkimage -p "/boot/grub" -d ./grub-core -o grub.efi -O arm64-efi fat ext2 probe terminal scsi ls linux elf msdospart normal help echo

点评

成功了,已经生成 grub.efi firefly@firefly:~/grub$ ll grub.efi -rw-rw-r-- 1 firefly firefly 372736 4月 18 14:55 grub.efi 下一步该怎么办?  详情 回复 发表于 2017-4-18 23:01
回复

使用道具 举报

15#
 楼主| 发表于 2017-4-18 20:51:09 | 只看该作者
wintoflash 发表于 2017-4-18 18:26
不对啊,你之前configure的时候没有加--with-platform=uboot 或--with-platform=efi之类的参数吗?
那就 ...

它自动探测我的系统,生成的是 arm64-efi 的,我看到它给出这样的信息。

点评

./grub-mkimage -p "/boot/grub" -d ./grub-core -o grub.efi -O arm64-efi fat ext2 probe terminal scsi ls linux elf msdospart normal help echo  详情 回复 发表于 2017-4-18 21:34
回复

使用道具 举报

14#
发表于 2017-4-18 18:26:33 | 只看该作者
不点 发表于 2017-4-18 12:47
说明一下,我还没有执行 make install,因为我担心 firefly 启动时死掉,死掉重做系统,麻烦,不像 PC  ...

不对啊,你之前configure的时候没有加--with-platform=uboot 或--with-platform=efi之类的参数吗?
那就不知道默认生成的是arm-uboot还是arm-efi的grub了。

点评

它自动探测我的系统,生成的是 arm64-efi 的,我看到它给出这样的信息。  详情 回复 发表于 2017-4-18 20:51
回复

使用道具 举报

13#
 楼主| 发表于 2017-4-18 12:47:57 | 只看该作者

  1. firefly@firefly:~/grub$ ./grub-mkimage -c load.cfg -O arm-uboot -o core.img fat ext2 probe terminal scsi ls linux elf msdospart normal help echo
  2. Prefix not specified (use the -p option).
  3. 用法: ./grub-mkimage [OPTION...] [OPTION]... [MODULES]
  4. Try './grub-mkimage --help' or './grub-mkimage --usage' for more information.

  5. firefly@firefly:~/grub$ ./grub-mkimage -p ./ -c load.cfg -O arm-uboot -o core.img fat ext2 probe terminal scsi ls linux elf msdospart normal help echo
  6. ./grub-mkimage:错误: cannot open `/usr/local/lib/grub/arm-uboot/moddep.lst': 没有那个文件或目录.

  7. firefly@firefly:~/grub$ ./grub-mkimage -p ./ -c load.cfg -O arm-uboot -o core.img -d grub-core/ fat ext2 probe terminal scsi ls linux elf msdospart normal help echo
  8. ./grub-mkimage:错误: invalid ELF header.

复制代码


说明一下,我还没有执行 make install,因为我担心 firefly 启动时死掉,死掉重做系统,麻烦,不像 PC 那样可以从 U 盘启动。

点评

不对啊,你之前configure的时候没有加--with-platform=uboot 或--with-platform=efi之类的参数吗? 那就不知道默认生成的是arm-uboot还是arm-efi的grub了。  详情 回复 发表于 2017-4-18 18:26
回复

使用道具 举报

12#
发表于 2017-4-18 07:15:31 | 只看该作者
本帖最后由 wintoflash 于 2017-4-18 07:16 编辑

看你提供的教程应该是
grub-mkimage -c load.cfg -O arm-uboot -o core.img fat ext2 probe terminal scsi ls linux elf msdospart normal help echo
其中load.cfg是内置菜单,需要自己写一下。
输出的文件是arm-uboot。
回复

使用道具 举报

11#
发表于 2017-4-18 07:11:51 | 只看该作者
不点 发表于 2017-4-18 06:48
谢谢。

在编译结果里面,没有找到一个 .efi 文件,那是不是说,就不能用于 EFI 启动?

sudo make install
然后用grub-mkimage制作出efi可执行文件。
回复

使用道具 举报

10#
 楼主| 发表于 2017-4-18 06:48:25 | 只看该作者
wintoflash 发表于 2017-4-17 22:26
是不是需要先刷入UEFI的固件?
上谷歌搜了一下,树莓派有UEFI的固件:https://github.com/ms-iot/RPi-UE ...

谢谢。

在编译结果里面,没有找到一个 .efi 文件,那是不是说,就不能用于 EFI 启动?

找到的 .img 文件只有一个,就是

firefly@firefly:~/grub$ ll */*.img
-rw-rw-r-- 1 firefly firefly 93448 4月  17 13:26 grub-core/kernel.img

firefly@firefly:~/grub$ file grub-core/kernel.img
grub-core/kernel.img: ELF 64-bit LSB relocatable, ARM aarch64, version 1 (SYSV), not stripped

都不像是用于 EFI 启动的。

点评

sudo make install 然后用grub-mkimage制作出efi可执行文件。  详情 回复 发表于 2017-4-18 07:11
回复

使用道具 举报

9#
发表于 2017-4-17 22:26:50 | 只看该作者
不点 发表于 2017-4-17 21:35
在 firefly 上,grub 编译成功了。编译步骤如下:

$ git clone git://git.sv.gnu.org/grub.git

是不是需要先刷入UEFI的固件?
上谷歌搜了一下,树莓派有UEFI的固件:https://github.com/ms-iot/RPi-UEFI。不过这对于Firefly应该没什么用。
另外搜到这篇文章:http://www.cnx-software.com/2016 ... -bit-arm-platforms/

点评

谢谢。 在编译结果里面,没有找到一个 .efi 文件,那是不是说,就不能用于 EFI 启动? 找到的 .img 文件只有一个,就是 firefly@firefly:~/grub$ ll */*.img -rw-rw-r-- 1 firefly firefly 93448 4月 17  详情 回复 发表于 2017-4-18 06:48
回复

使用道具 举报

8#
 楼主| 发表于 2017-4-17 21:35:14 | 只看该作者
在 firefly 上,grub 编译成功了。编译步骤如下:

$ git clone git://git.sv.gnu.org/grub.git
$ cd grub
$ ./autogen.sh
$ ./configure       注意:不要带参数 “--host arm-linux-gnueabihf”,带参数反而失败。
$ make

下一步该怎么办?谁能帮一把?

点评

是不是需要先刷入UEFI的固件? 上谷歌搜了一下,树莓派有UEFI的固件:https://github.com/ms-iot/RPi-UEFI。不过这对于Firefly应该没什么用。 另外搜到这篇文章:http://www.cnx-software.com/2016/08/11/u-boot-n  详情 回复 发表于 2017-4-17 22:26
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-12-15 23:10

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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