Bug 2181380 - Include High Risk Inhibitor In Leapp Report if Boot Disk's Embedding Area Too Small for grub2-install
Summary: Include High Risk Inhibitor In Leapp Report if Boot Disk's Embedding Area Too...
Keywords:
Status: NEW
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: leapp-repository
Version: 7.9
Hardware: Unspecified
OS: Unspecified
urgent
urgent
Target Milestone: rc
: ---
Assignee: Leapp Notifications Bot
QA Contact: upgrades-and-conversions
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-03-23 22:39 UTC by ckrell
Modified: 2023-07-31 07:12 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker OAMG-8747 0 None None None 2023-03-23 22:41:16 UTC
Red Hat Issue Tracker RHELPLAN-152948 0 None None None 2023-03-23 22:41:05 UTC

Description ckrell 2023-03-23 22:39:49 UTC
Description of problem:

If you attempt a leapp upgrade and the boot disk's embedded area is too small (ie. the boot disk's first partition starts on a low sector number such as 63) for the core.img file then the grub2-install fails during the upgrade kernel portion of the upgrade. Normally the first partition starts on 2048.

grub2-install error example during upgrade kernel:
~~~
2023-03-21 10:18:41.722 INFO     PID: 70738 leapp.workflow.RPMUpgrade.update_grub_core: GRUB is installed on /dev/sda
2023-03-21 10:18:41.728 DEBUG    PID: 70738 leapp.workflow.RPMUpgrade.update_grub_core: External command has started: ['grub2-install', u'/dev/sda']
2023-03-21 10:18:41.753 DEBUG    PID: 70738 leapp.workflow.RPMUpgrade.update_grub_core: Installing for i386-pc platform.
2023-03-21 10:18:42.728 DEBUG    PID: 70738 leapp.workflow.RPMUpgrade.update_grub_core: grub2-install: warning: ../grub-core/partmap/msdos.c:401:your core.img is unusually large.  It won't fit in the embedding a
rea.
2023-03-21 10:18:42.735 DEBUG    PID: 70738 leapp.workflow.RPMUpgrade.update_grub_core: grub2-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..
2023-03-21 10:18:42.741 DEBUG    PID: 70738 leapp.workflow.RPMUpgrade.update_grub_core: grub2-install: error: will not proceed with blocklists.
2023-03-21 10:18:42.747 DEBUG    PID: 70738 leapp.workflow.RPMUpgrade.update_grub_core: Command ['grub2-install', u'/dev/sda'] failed with exit code 1.
2023-03-21 10:18:42.759 DEBUG    PID: 70738 leapp.workflow.RPMUpgrade.update_grub_core: External command has finished: ['grub2-install', u'/dev/sda']
2023-03-21 10:18:42.766 WARNING  PID: 70738 leapp.reporting: Stable Key report entry not provided, dynamically generating one - 54ba8c51e17b2088df653f3df0f1ae490f9ead88
2023-03-21 10:18:42.779 WARNING  PID: 70738 leapp.workflow.RPMUpgrade.update_grub_core: GRUB core update on /dev/sda failed
~~~

After rebooting this leads to a can't boot scenario where it fails to boot at the grub rescue shell with a message:
~~~
error: symbol 'grub_calloc' not found. 
Entering rescue mode...
grub rescue>
~~~
or
~~~
error: symbol 'grub_real_boot_time' not found.
~~~

Version-Release number of selected component (if applicable):
leapp-0.15.0-2.el7_9.noarch

How reproducible:
Every time

Steps to Reproduce:
1. Make a RHEL 7 boot disk with the first partition starting on sector 75 or another early sector (to do this I had to create the partitions using a RHEL 6 version of fdisk).
2. leapp upgrade
3. Reboot to upgrade kernel, during this you may witness the grub2-install failure
4. Reboot again and see the boot failure to grub rescue shell

Actual results:
No inhibitor with messages about the boot device's embedded area being too small so the system fails to boot to grub rescue after the upgrade.

Expected results:
Inhibitor with message that the boot disk has insufficient space in the embedded area to perform grub2-install so that we can catch this before a can't boot scenario.


Note You need to log in before you can comment on or make changes to this bug.