调用“grub-mkrescue”时出错 - 调用失败

调用“grub-mkrescue”时出错 - 调用失败

我正在按照编写操作系统的教程操作,但无法创建可启动的 iso 文件。该教程使用 grub-legacy,但我使用 grub 2,因为 legacy 已经过时了。makefile 的重要部分如下所示:

mykernel.iso: mykernel.bin
    mkdir iso
    mkdir iso/boot
    mkdir iso/boot/grub
    cp mykernel.bin iso/boot/mykernel.bin
    echo 'set timeout=0'                      > iso/boot/grub/grub.cfg
    echo 'set default=0'                     >> iso/boot/grub/grub.cfg
    echo ''                                  >> iso/boot/grub/grub.cfg
    echo 'menuentry "My Operating System" {' >> iso/boot/grub/grub.cfg
    echo '  multiboot /boot/mykernel.bin'    >> iso/boot/grub/grub.cfg
    echo '  boot'                            >> iso/boot/grub/grub.cfg
    echo '}'                                 >> iso/boot/grub/grub.cfg
    grub-mkrescue --output=mykernel.iso iso
    rm -rf iso

整个目录及其文件如下所示:https://github.com/AlgorithMan-de/wyoos/tree/b440da72b6403d6cde728b6657e61aed8fd3c682

在我的终端上出现错误:

(commands above grub-mkrescue --output=mykernel.iso iso)...

grub-mkrescue --output=mykernel.iso iso
grub-mkrescue: error: `mformat` invocation failed
.
make: *** [makefile:34: mykernel.iso] Error 1

我有 xorriso 1.5.4 版(我读到需要它),但没有 grub-legacy,因为教程中说它是必需的,因为它已经过时了。有人知道我需要做什么才能从这个 iso 映像启动吗?谢谢!我在谷歌上找到的唯一内容是: https://bbs.archlinux.org/viewtopic.php?id=219955 我执行了“sudo apt install pacman -S mtools”,但错误消息仍然相同。

答案1

如果您还没有安装可用的程序 mformat:

可能你对 Archlinux 的提议理解得太字面化了。“pacman”是他们的包管理器。尝试:

sudo apt install mtools

相关内容