Kirk Schnable
January 9th, 2013, 11:20 PM
Earlier this week, I started this thread:
http://ubuntuforums.org/showthread.php?p=12447070
I have determined now what the issue is at least, and now I am ready to start troubleshooting it.
Here are the steps to reproduce this issue:
1. Start with a fresh image of Xubuntu 12.04, with GRUB 1.99-21ubuntu3.4
Our fresh image installed on all of our computers is Xubuntu 12.04.1 LTS with grub-common 1.99-21ubuntu3.4 selected in DPKG.
2. Have an old-style partition setup.
We have never had a problem with this traditional partition layout before, but it doesn't seem to comply with the new UEFI standards. Most of our hardware here is very old, and the thought of UEFI support hasn't been a priority for us.
# fdisk -l /dev/sda
WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.
Disk /dev/sda: 40.0 GB, 40020664320 bytes
255 heads, 63 sectors/track, 4865 cylinders, total 78165360 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000ca480
Device Boot Start End Blocks Id System
/dev/sda1 1 78165359 39082679+ ee GPT
http://binaryimpulse.com/wp-content/uploads/2013/01/gparted.png
3. Attempt to update all packages with cron-apt.
# /etc/cron.d/cron-apt
0 * * * * root test -x /usr/sbin/cron-apt && /usr/sbin/cron-apt /etc/cron-apt/config2
# /etc/cron-apt/action.d/0-update
update -o quiet=2
# /etc/cron-apt/action.d/3-download
autoclean -y
dist-upgrade -y -o APT::Get::Show-Upgraded=true
4. Cron-Apt Upgrades GRUB to 1.99-21ubuntu3.7
After the upgrade (automated by cron-apt) to GRUB 1.99-21ubuntu3.7, if the computer is restarted, it never boots again. Instead, you see a blinking cursor on the upper-left corner of a black screen.
So far, our only success was finding a Super GRUB boot CD, which scanned the drive for Linux kernels, and allowed us to choose to boot into the latest one. When using GRUB from the CD, the computer booted, which confirmed our belief that there was a GRUB problem.
After a successful boot, we found a command to fix the problem:
sudo grub-install --boot-directory=/boot /dev/sda --force
If this command is run without the --force, GRUB doesn't succeed in installing because of our partition layout. This causes the next boot to fail, the same way as the cron-apt update did.
# Failed Output (without --force)
# grub-install --boot-directory=/boot /dev/sda
/usr/sbin/grub-setup: warn: This GPT partition label has no BIOS Boot Partition; embedding won't be possible!.
/usr/sbin/grub-setup: warn: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged..
/usr/sbin/grub-setup: error: will not proceed with blocklists.
My suspicion is that cron-apt is not using the --force option when updating GRUB. Changing the partition layout on 800 computers is not a preferred option, so I need to come up with a way to have the cron-apt GRUB updates succeed, now and in the future.
Do you think this is a problem with GRUB 1.99-21ubuntu3.7, or a common part of all future GRUB updates?
We have not been able to find anyone else who has had this issue... sifting through Google for countless hours, and working a 16 hour shift on Monday. We feel very victorious today for finding out how to fix the problem, but now we'd like to determine the best way to create a patch to keep our machines updating and running for the foreseeable future.
We'd appreciate any information or suggestions anyone might have!
Thanks,
Kirk
http://ubuntuforums.org/showthread.php?p=12447070
I have determined now what the issue is at least, and now I am ready to start troubleshooting it.
Here are the steps to reproduce this issue:
1. Start with a fresh image of Xubuntu 12.04, with GRUB 1.99-21ubuntu3.4
Our fresh image installed on all of our computers is Xubuntu 12.04.1 LTS with grub-common 1.99-21ubuntu3.4 selected in DPKG.
2. Have an old-style partition setup.
We have never had a problem with this traditional partition layout before, but it doesn't seem to comply with the new UEFI standards. Most of our hardware here is very old, and the thought of UEFI support hasn't been a priority for us.
# fdisk -l /dev/sda
WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.
Disk /dev/sda: 40.0 GB, 40020664320 bytes
255 heads, 63 sectors/track, 4865 cylinders, total 78165360 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000ca480
Device Boot Start End Blocks Id System
/dev/sda1 1 78165359 39082679+ ee GPT
http://binaryimpulse.com/wp-content/uploads/2013/01/gparted.png
3. Attempt to update all packages with cron-apt.
# /etc/cron.d/cron-apt
0 * * * * root test -x /usr/sbin/cron-apt && /usr/sbin/cron-apt /etc/cron-apt/config2
# /etc/cron-apt/action.d/0-update
update -o quiet=2
# /etc/cron-apt/action.d/3-download
autoclean -y
dist-upgrade -y -o APT::Get::Show-Upgraded=true
4. Cron-Apt Upgrades GRUB to 1.99-21ubuntu3.7
After the upgrade (automated by cron-apt) to GRUB 1.99-21ubuntu3.7, if the computer is restarted, it never boots again. Instead, you see a blinking cursor on the upper-left corner of a black screen.
So far, our only success was finding a Super GRUB boot CD, which scanned the drive for Linux kernels, and allowed us to choose to boot into the latest one. When using GRUB from the CD, the computer booted, which confirmed our belief that there was a GRUB problem.
After a successful boot, we found a command to fix the problem:
sudo grub-install --boot-directory=/boot /dev/sda --force
If this command is run without the --force, GRUB doesn't succeed in installing because of our partition layout. This causes the next boot to fail, the same way as the cron-apt update did.
# Failed Output (without --force)
# grub-install --boot-directory=/boot /dev/sda
/usr/sbin/grub-setup: warn: This GPT partition label has no BIOS Boot Partition; embedding won't be possible!.
/usr/sbin/grub-setup: warn: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged..
/usr/sbin/grub-setup: error: will not proceed with blocklists.
My suspicion is that cron-apt is not using the --force option when updating GRUB. Changing the partition layout on 800 computers is not a preferred option, so I need to come up with a way to have the cron-apt GRUB updates succeed, now and in the future.
Do you think this is a problem with GRUB 1.99-21ubuntu3.7, or a common part of all future GRUB updates?
We have not been able to find anyone else who has had this issue... sifting through Google for countless hours, and working a 16 hour shift on Monday. We feel very victorious today for finding out how to fix the problem, but now we'd like to determine the best way to create a patch to keep our machines updating and running for the foreseeable future.
We'd appreciate any information or suggestions anyone might have!
Thanks,
Kirk