Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

zh-cn/posts/3a5000-uefi/ #19

Open
utterances-bot opened this issue Nov 5, 2021 · 7 comments
Open

zh-cn/posts/3a5000-uefi/ #19

utterances-bot opened this issue Nov 5, 2021 · 7 comments

Comments

@utterances-bot
Copy link

3A5000之UEFI - LoongArch 开放社区

在3A5000上使用UEFI

https://loongarch.dev/zh-cn/posts/3a5000-uefi/

Copy link

eshangui commented Nov 5, 2021

请问,loongarch什么时候会向开发者开放edk环境?我们是计算机外设厂商,需要针对我们的产品开发UEFI驱动,之前都是把源码发给昆仑或者ODM,由他们编译,然后返回给我们测试,这个过程效率低且不方便,如果能让开发者自行编译基于loongarch的uefi驱动就好了

Copy link
Contributor

yetist commented Nov 6, 2021

loongarch 的 edk2 已经有开放计划,目前在 https://github.com/loongson/edk2 已经 fork 了上游仓库,有些问题(比如PE格式的 loongarch 架构号)和上游确认之后会逐步开放的。

您讲到的 UEFI 驱动编译这个事,确实是麻烦且低效的,不知道代码有没有使用 gnu-efi 库,如果使用了的话,倒是可以不依赖 edk2 环境自行编译出 .efi 文件,gnu-efi 开放在这里: https://github.com/loongarch64/gnu-efi/tree/dev-la64/master

Copy link

有点好奇bootloongarch.efi这样的文件名在EFI下会不会有问题,因为别的架构都是尽可能缩成8.3格式

@yetist
Copy link
Contributor

yetist commented Jan 11, 2022

目前在硬盘上对 esp 分区使用 FAT32 没有发现问题,uefi shell 也能正常加载,另外参见 grub 代码的 util/grub-mkrescue.c 文件,riscv 上对于 32 位和 64 位分别使用了 bootriscv32.efibootriscv64.efi,也是超出了 8.3 的长度。

刚才查询了 UEFI 规范之后,发现在UEFI Specification Version 2.9 (March 2021)13.3 File System Format 章节部分,对于所使用的文件系统有如下说明:

EFI encompasses the use of FAT32 for a system partition, and FAT12 or FAT16 for removable media. 
...
The file system supported by EFI includes support for long file names.

就是说 UEFI 既支持 FAT12/16/32 文件系统,也支持长文件名。

唯一可能存在问题的是,如果使用 FAT12/FAT16 (如在可移动磁盘上)的话,由于它们的目录项只支持 8.3 格式的文件名,会导致固件找不到默认 efi 文件,除非使用能支持长文件名的 FAT32 文件系统。

@kilaterlee 看看这个问题,我们是否要考虑将默认的 efi 文件名缩短,以支持 FAT12/FAT16 文件系统?

@driver1998
Copy link

按理说FAT16也是支持VFAT长文件名的,毕竟Windows 95首次支持长文件名的时候,FAT32还没出现

@driver1998
Copy link

FAT12的话,一般是用在软盘,可能光盘El Torito的启动镜像会受影响。

Copy link

非常好的科普好文

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants