Bugzilla – Bug 1154809
[Build 20191021] openQA test fails in boot_to_desktop
Last modified: 2021-09-23 18:43:36 UTC
openQA test in scenario opensuse-Tumbleweed-DVD-x86_64-zdup-Leap-42.3-gnome@64bit_cirrus fails in
error: symbol 'grub_file_filters' not found
## Test suite description
Fails since (at least) Build (https://openqa.opensuse.org/tests/1062846) (current job)
## Expected result
Last good: (https://openqa.opensuse.org/tests/1062028) (or more recent)
## Further details
Always latest result in this scenario: [latest](https://openqa.opensuse.org/tests/latest?arch=x86_64&distri=opensuse&flavor=DVD&machine=64bit_cirrus&test=zdup-Leap-42.3-gnome&version=Tumbleweed)
Copy from submit request comment.
"Would you please check where grub got installed to ? Looks like grub was installed to partition boot record but the master boot record also had another copy of grub. After update only the partition boot record updated and unfortunately it was not booted from there as master boot record was in control of the boot process. Then the boot error occurred as new grub modules in 2.04 couldn't find symbols in outdated version 2.02 used in master boot record.
You could check 'cat /etc/default/grub_installdevice' for the install device and 'hexdump -C /dev/sda -n 512' for review the MBR status."
I will try to reproduce by upgrading from Leap-42.3 to grub in Base:System.
In https://openqa.opensuse.org/tests/1062727/file/serial0.txt we could find the error in the event of running grub2-install ...
> Output of grub2-i386-pc-2.04-1.1.noarch.rpm %posttrans script:
> update-bootloader: 2019-10-22 10:49:59 <3> update-bootloader-1062 run_command.294: '/usr/lib/bootloader/grub2/install' failed with exit code 1, output:
> target = i386-pc
> + /usr/sbin/grub2-install --target=i386-pc --force --skip-fs-probe /dev/vda2
> Installing for i386-pc platform.
> /usr/sbin/grub2-install: warning: your core.img is unusually large. It won't fit in the embedding area.
> /usr/sbin/grub2-install: error: filesystem `btrfs' doesn't support blocklists.
The failure resulted in grub boot image in btrfs partition stayed with version 2.02 from which the new 2.04 modules couldn't find new symbols.
The error is valid, as I could see after upgrading from 2.02 to 2.04, the size of core.img grows from 41KB to 75KB which couldn't fit into the size of btrfs bootloader area in 64kB. I will find out why the size could increase so much.
The significant size is contributed by btrfs RAID5/6 support, which pulls new dependent modules to the core.img.
The quick workaround would be disabling btrfs RAID5/6 for i386-pc to have 2.04 released in time. In the long run we could make the btrfs RAID 5/6 support as separate module that could be loaded dynamically wherever grub tools detects it to be necessary for accessing files.
(In reply to Michael Chang from comment #4)
> The significant size is contributed by btrfs RAID5/6 support, which pulls
> new dependent modules to the core.img.
No, It turns out zstd compression support contributed more size than btrfs RAID5/6. I am working on testing patch, ETA is next Tuesday.
Removing zstd compression support for btrfs reduced the image size to 56KB.
The patch disabling btrfs zstd support on pc-bios platform has been submitted to openSUSE:Factory. Please verify again in openQA. Thanks.