安装 GRUB 时缺少 riscv32-efi/modinfo.sh

问题描述 投票:0回答:0

我想创建一个可引导的 GRUB 映像,由 QEMU 的 riscv 32 位虚拟机运行。这是制作图像的脚本。

qemu-img create -q -f raw "$IMAGE_NAME" "$IMAGE_SIZE"k
chown "$SUDO_UID":"$SUDO_GID" "$IMAGE_NAME"
dev=$(losetup --find --partscan --show "$IMAGE_NAME")
part="p1"
parted -s "${dev}" mklabel msdos mkpart primary ext2 32k 100% -a minimal set 1 boot on
mke2fs -q -I 128 -b 1024 "${dev}${part}"
mkdir -p mnt/
mount "${dev}${part}" mnt/
grub-install --target=riscv32-efi --boot-directory=mnt/boot --modules="ext2 part_msdos" "${dev}"

脚本创建一个正确大小的原始图像,设置一个环回设备,创建一个分区表,为 ext2 文件系统格式化磁盘,在设备上安装文件系统,并将图像安装到设备上。然而,当我跑步时

grub-install --target=riscv32-efi --boot-directory=mnt/boot --modules="ext2 part_msdos" "${dev}"

我得到错误

grub-install: error: /usr/lib/grub/riscv32-efi/modinfo.sh doesn't exist. Please specify --target or --directory.
[ERROR] Couldn't install grub.

我的

/usr/lib/grub
文件夹看起来像

grub-mkconfig_lib  grub-multi-install  i386-pc  x86_64-efi  x86_64-efi-signed

如何安装丢失的

riscv32-efi
文件夹?

qemu boot grub riscv32
© www.soinside.com 2019 - 2024. All rights reserved.