代码之家  ›  专栏  ›  技术社区  ›  Cristián Romo

允许GRUB从内核自动启动

  •  13
  • Cristián Romo  · 技术社区  · 16 年前

    我正在为操作系统开发内核。为了执行它,我决定使用GRUB。目前,我有一个脚本附加到GRUB的 stage1 , stage2 一个pad文件和内核本身结合在一起,使得它可以启动。唯一的问题是,当我运行它时,您必须让GRUB知道内核在哪里以及它有多大,然后手动引导它,如下所示:

    kernel 200+KERNELSIZE
    boot

    KERNELSIZE 是以块为单位的内核大小。这是一个很好的开始,但有可能在二进制文件中获取这些值,并使GRUB自动启动内核吗?关于如何实现这一点有什么建议吗?

    2 回复  |  直到 8 年前
        1
  •  2
  •   Sean    16 年前

    我可以想象您只需创建自己的menu.lst conf文件,在grub shell中加载“configfile/path/to/menu.lst”,然后根据需要执行“setup(hd0)”替换值。不过我猜……不知道您的自定义设置有什么不同。

        2
  •  3
  •   user29480    16 年前

    http://www.gnu.org/software/grub/manual/grub.html#Embedded-data 给出了一些关于GRUB中块列表存储的一般信息。最重要的是,它提到块列表存储在阶段2中定义良好的位置。

    您可能需要查看GRUB源代码以确定确切的位置。