Hi, I am working on a cross-architecture cleanup series that removes the arch specific headers from RISC-V, ARM, ARM64 and unifies the linux loader on ARM64 & Linux.
The v7 version can be found here. https://lists.gnu.org/archive/html/grub-devel/2023-02/msg00046.html It had a few bugs which are fixed and can be found here. Here are the patches https://github.com/atishp04/grub/commits/riscv_uefi_v8 Anybody with ARM64 and/or test setup: Can you please do a quick test to see if you see similar or any other failure ? I noticed a very strange error during ARM64 testing. I have probably done something stupid during the grub build as I can reproduce this with upstream grub as well. I was trying to boot an OpenSuse image in qemu virt machine for ARM64 as per the instructions[1]. The stock grub image works fine however my custom build fails to boot and drops to the grub command line. It seems the grub detects the disk but doesn't read the root partition correctly on my cross-compiled image. It has one additional directory ("@") which I don't see when I mount the disk. it doesn't list any files as well. ============= Cross compiled grub image ===================== grub> ls -l (hd0,gpt3)/ DIR 20230302080325 @/ grub> ls -l (hd0,gpt3)/@/ DIR 20230302080326 boot/ DIR srv/ DIR 20230302080326 usr/ DIR opt/ DIR 20230302080326 home/ DIR var/ DIR tmp/ DIR root/ grub> ls -l (hd0,gpt3)/@/boot/ DIR 20230302080326 grub2/ grub> ============= Stock grub image from the OpenSuse image===================== grub> ls (hd0,gpt3)/ dev/ run/ boot/ config.partids lib sbin srv/ usr/ opt/ config.bootoptions lib64 .snapshots/ bin home/ etc/ var/ tmp/ sys/ mnt/ proc/ root/ The same build steps works fine for RISC-V for OpenSuse image though. However, I couldn't figure out what it was. Any help is appreciated. [1] https://en.opensuse.org/openSUSE:AArch64 -- Regards, Atish _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel