不使用 grub-install 创建 GRUB 分区?

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

我需要做一些棘手的事情:我需要在文件中创建 GRUB 分区。 我的系统是用 buildroot (x86) 构建的,grub 不是为主机构建的,只是为目标构建的,所以我不能使用 grub-install

我的步骤(ATM):

GRUB=grub.partition
MOUNTPOINT=/tmp/bootloader
sudo umount -f ${MOUNTPOINT} 2>/dev/null

dd if=/dev/zero of=${GRUB} bs=1M count=32 # 32 MB partition

echo -e "g\nn\n\n\n\nx\nA\nr\nw" | fdisk ${GRUB} -n
mke2fs -t ext2 -F -L LOADER ${GRUB}

mkdir -p ${MOUNTPOINT}
sudo mount -o rw -t ext2 ${GRUB} ${MOUNTPOINT}
sudo mkdir -p ${MOUNTPOINT}/boot/grub/i386-pc
sudo mkdir -p ${MOUNTPOINT}/boot/grub/fonts


GRUB_BUILD_DIR=path_to_grub_inside_of_buildroot

# copying *.mod
sudo cp ${GRUB_BUILD_DIR}/build-i386-pc/grub-core/*.mod ${MOUNTPOINT}/boot/grub/i386-pc

# copy grub.cfg
sudo cp default_grub.cfg ${MOUNTPOINT}/boot/grub/grub.cfg

sudo chown -R root:root ${MOUNTPOINT}/boot

sync
sudo umount ${MOUNTPOINT}

问题是:当我用 dd 刷新 grub.partition 时,我的设备可以看到 grub.cfg 但是在启动时它说“找不到命令”linux”... 我错过了哪些步骤? Buildroot 还创建 ./images/grub.img,我应该以某种方式使用它吗? 需要您的建议,提前致谢

linux bootloader grub
© www.soinside.com 2019 - 2024. All rights reserved.