[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.
- grub-install fails when image is 64 meg and succeeds when image is 256 meg,
Andrew Stuart <=