boot/grub2/readme.txt: don't specify /dev/loop0
losetup -f returns the next free loop device, which may not be /dev/loop0. If you blindly follow the readmy you may end up destroying an existing device. Make it more robust with a variable to store the loop device. Signed-off-by: Cherniaev Andrei <dungeonlords789@naver.com> [Arnout: keep the actual losetup atomic] Signed-off-by: Arnout Vandecappelle <arnout@mind.be> (cherry picked from commit 7dd56b6cd928ee36c96a697075e3fa47b0c52d5e) Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
parent
b3fad7e105
commit
511a6157e2
@ -10,20 +10,20 @@ Notes on using Grub2 for BIOS-based platforms
|
||||
is enough free space *before* the first partition to
|
||||
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 /dev/loop0
|
||||
loop_dev=$(sudo losetup -f disk.img)
|
||||
sudo partx -a "$loop_dev"
|
||||
4. Prepare the root partition
|
||||
sudo mkfs.ext3 -L root /dev/loop0p1
|
||||
sudo mount /dev/loop0p1 /mnt
|
||||
sudo mkfs.ext3 -L root "${loop_dev}p1"
|
||||
sudo mount "${loop_dev}p1" /mnt
|
||||
sudo tar -C /mnt -xf output/images/rootfs.tar
|
||||
sudo umount /mnt
|
||||
5. Install Grub2
|
||||
sudo ./output/host/sbin/grub-bios-setup \
|
||||
-b ./output/host/lib/grub/i386-pc/boot.img \
|
||||
-c ./output/images/grub.img -d . /dev/loop0
|
||||
-c ./output/images/grub.img -d . "$loop_dev"
|
||||
6. Cleanup loop device
|
||||
sudo partx -d /dev/loop0
|
||||
sudo losetup -d /dev/loop0
|
||||
sudo partx -d "$loop_dev"
|
||||
sudo losetup -d "$loop_dev"
|
||||
7. Your disk.img is ready!
|
||||
|
||||
Using genimage
|
||||
@ -65,22 +65,22 @@ Notes on using Grub2 for x86/x86_64 EFI-based platforms
|
||||
- Create a second partition, type 8300, for the root
|
||||
filesystem.
|
||||
3. Setup loop device and loop partitions
|
||||
sudo losetup -f disk.img
|
||||
sudo partx -a /dev/loop0
|
||||
loop_dev=$(sudo losetup -f disk.img)
|
||||
sudo partx -a "$loop_dev"
|
||||
4. Prepare the boot partition
|
||||
sudo mkfs.vfat -n boot /dev/loop0p1
|
||||
sudo mount /dev/loop0p1 /mnt
|
||||
sudo mkfs.vfat -n boot "${loop_dev}p1"
|
||||
sudo mount "${loop_dev}p1" /mnt
|
||||
sudo cp -a output/images/efi-part/* /mnt/
|
||||
sudo cp output/images/bzImage /mnt/
|
||||
sudo umount /mnt
|
||||
5. Prepare the root partition
|
||||
sudo mkfs.ext3 -L root /dev/loop0p2
|
||||
sudo mount /dev/loop0p2 /mnt
|
||||
sudo mkfs.ext3 -L root "${loop_dev}p2"
|
||||
sudo mount "${loop_dev}p2" /mnt
|
||||
sudo tar -C /mnt -xf output/images/rootfs.tar
|
||||
sudo umount /mnt
|
||||
6 Cleanup loop device
|
||||
sudo partx -d /dev/loop0
|
||||
sudo losetup -d /dev/loop0
|
||||
sudo partx -d "$loop_dev"
|
||||
sudo losetup -d "$loop_dev"
|
||||
7. Your disk.img is ready!
|
||||
|
||||
To test your i386/x86-64 EFI image in Qemu
|
||||
|
Loading…
Reference in New Issue
Block a user