help-grub
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

grub-install fails when image is 64 meg and succeeds when image is 256 m


From: Andrew Stuart
Subject: grub-install fails when image is 64 meg and succeeds when image is 256 meg
Date: Sun, 4 Oct 2015 21:17:45 +1100

This question is also asked here without response: 
http://unix.stackexchange.com/questions/233748/grub-install-fails-when-image-is-64-meg-and-succeeds-when-image-is-256-meg


In the two scenarios below the tst.sh script is exactly the same, except that 
dd creates a 64 meg image in the first case and a 256 meg image in the second 
case. (image size is defined by the count argument on the first dd line of the 
script).

grub installs without error when the image size is 256 meg and fails when the 
image size is 64 meg.

Any guesses as to why?

First, the version:

(venv3.4)address@hidden:/home/ubuntu/ubuntucore# grub-install -V
grub-install (GRUB) 2.02~beta2-22ubuntu1.1

SCENARIO 1: GRUB FAILS WHEN dd count=64

(venv3.4)address@hidden:/home/ubuntu/ubuntucore# cat tst.sh
sudo dd if=/dev/zero of=./test.img oflag=direct bs=1M count=64
sudo mkdir -p /mnt/build
sudo parted -s test.img mklabel msdos
sudo parted -s -a optimal test.img mkpart primary ext2 '0%' '100%'
sudo parted -s test.img set 1 boot on
sudo kpartx -av test.img
sudo mke2fs -L '/' -t ext2 /dev/mapper/loop0p1
sudo mount /dev/mapper/loop0p1 /mnt/build
sudo grub-install --root-directory=/mnt/build /dev/loop0

# release mount
sudo umount -l /mnt/build
# release loopback
sudo dmsetup remove loop0p1
sudo losetup -d /dev/loop0

(venv3.4)address@hidden:/home/ubuntu/ubuntucore# . tst.sh
64+0 records in
64+0 records out
67108864 bytes (67 MB) copied, 0.15139 s, 443 MB/s
Warning: The resulting partition is not properly aligned for best performance.
add map loop0p1 (252:2): 0 131071 linear /dev/loop0 1
mke2fs 1.42.12 (29-Aug-2014)
Discarding device blocks: done
Creating filesystem with 65532 1k blocks and 16384 inodes
Filesystem UUID: 2a52b053-c671-428d-bc13-6b967e0781c5
Superblock backups stored on blocks:
    8193, 24577, 40961, 57345

Allocating group tables: done
Writing inode tables: done
Writing superblocks and filesystem accounting information: done

Installing for i386-pc platform.
grub-install: warning: this msdos-style partition label has no post-MBR gap; 
embedding won't be possible.
grub-install: warning: Embedding is not possible.  GRUB can only be installed 
in this setup by using blocklists.  However, blocklists are UNRELIABLE and 
their use is discouraged..
grub-install: error: will not proceed with blocklists.

SCENARIO 2: GRUB SUCCEEDS WHEN dd count=256

(venv3.4)address@hidden:/home/ubuntu/ubuntucore# cat tst.sh
sudo dd if=/dev/zero of=./test.img oflag=direct bs=1M count=256
sudo mkdir -p /mnt/build
sudo parted -s test.img mklabel msdos
sudo parted -s -a optimal test.img mkpart primary ext2 '0%' '100%'
sudo parted -s test.img set 1 boot on
sudo kpartx -av test.img
sudo mke2fs -L '/' -t ext2 /dev/mapper/loop0p1
sudo mount /dev/mapper/loop0p1 /mnt/build
sudo grub-install --root-directory=/mnt/build /dev/loop0

# release mount
sudo umount -l /mnt/build
# release loopback
sudo dmsetup remove loop0p1
sudo losetup -d /dev/loop0

(venv3.4)address@hidden:/home/ubuntu/ubuntucore# . tst.sh
256+0 records in
256+0 records out
268435456 bytes (268 MB) copied, 0.637421 s, 421 MB/s
add map loop0p1 (252:2): 0 522240 linear /dev/loop0 2048
mke2fs 1.42.12 (29-Aug-2014)
Discarding device blocks: done
Creating filesystem with 261120 1k blocks and 65280 inodes
Filesystem UUID: 1bf70e68-8f27-426d-b66e-c9c90aaa01b4
Superblock backups stored on blocks:
    8193, 24577, 40961, 57345, 73729, 204801, 221185

Allocating group tables: done
Writing inode tables: done
Writing superblocks and filesystem accounting information: done

Installing for i386-pc platform.
Installation finished. No error reported.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]