[Buildroot] [PATCH] grub2: fix a few minor issues in help text

Jérôme Pouiller jezz at sysmic.org
Wed Jul 2 06:09:25 UTC 2014


On Tuesday 01 July 2014 19:39:16 Thomas Petazzoni wrote:
> The help text of grub2 explains the detailed steps to create a disk
> image with grub2 installed on it. However, the steps for the
> BIOS-based systems have a few minor issues fixed by this patch:
> 
>  - When calling partx to get the partitions detected, we should do it
>    on the /dev/loop0 block device, and not on the underlying disk.img
>    image file.
>  - The grub-bios-setup utility must be called as root to work properly
>    on /dev/loop0.
>  - The steps to cleanup the partx and loop device were missing.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
> ---
>  boot/grub2/Config.in | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/boot/grub2/Config.in b/boot/grub2/Config.in
> index b37e024..c6c47b7 100644
> --- a/boot/grub2/Config.in
> +++ b/boot/grub2/Config.in
> @@ -24,17 +24,20 @@ config BR2_TARGET_GRUB2
>  		store Grub2. Leaving 1 MB of free space is safe.
>  	  3. Setup loop device and loop partitions
>  	     sudo losetup -f disk.img
> -	     sudo partx -a disk.img
> +	     sudo partx -a /dev/loop0
>  	  4. Prepare the root partition
>  	     sudo mkfs.ext3 -L root /dev/loop0p1
>  	     sudo mount /dev/loop0p1 /mnt
>  	     sudo tar -C /mnt -xf output/images/rootfs.tar
>  	     sudo umount /mnt
>  	  5. Install Grub2
> -	     ./output/host/usr/sbin/grub-bios-setup \
> +	     sudo ./output/host/usr/sbin/grub-bios-setup \
>  			-b ./output/host/usr/lib/grub/i386-pc/boot.img \
>  			-c ./output/images/grub.img -d . /dev/loop0
> -	  6. Your disk.img is ready!
> +	  6. Cleanup loop device
> +	     sudo partx -d /dev/loop0
> +	     sudo losetup -d /dev/loop0
> +	  7. Your disk.img is ready!
> 
>  	  To test your BIOS image in Qemu:
Just a remark for people who dislike to call sudo in their build 
scripts:

genimage can be used to create disk image. Installing grub using 
genimage is the tricky part. It can be done using :

        partition boot {
                in-partition-table = "no"
                image = "path_to_boot.img"
                offset = 0
                size = 512
        }
        partition grub {
                 in-partition-table = "no"
                 image = "path_to_grub.img"
                 offset = 512
        }

The result is not byte to byte identical to result using 
grub-bios-setup (why?) but it seems it does not matter.



-- 
Jérôme Pouiller, Sysmic
Embedded Linux specialist
http://www.sysmic.fr


More information about the buildroot mailing list