grub-install: warning: your core.img is unusually large. It won't fit in the embedding area.
grub-install: error: filesystem 'Btrfs' doesn't support blocklists.
Apparently my MBR is too small to hold core.img from a BTRFS installation. I don’t need zstd compression, so if I could remove this module I wouldn’t have to alter my partitions. Is there a way to do it?
Could you share more information?
sudo parted -l
I’ve got BIOS + MBR setup, 4 partitions - Windows, main Manjaro installation, BTRFS Manjaro to play with and data partition.
I misunderstood the problem though. It’s not a problem with MBR, it’s a problem with the installation partition. Here’s more information about it: Grub install fails when using Btrfs / Installation / Arch Linux Forums
Basically if core.img is bigger than 64 kB (if you use BTRFS it’s about 70 kB), then you can’t install GRUB on the partition itself - you have to use MBR (it can’t be installed to /dev/sda3, you have to use /dev/sda).
So I could just install GRUB on /dev/sda, but that makes update-grub a little awkward for my main installation. Therefore my solution still applies - if I could build core.img without zstd support, then it would be smaller than 64 kB.
And I did - I edited /usr/lib/grub/i386-pc/moddep.lst to exclude zstd as btrfs dependency. Now core.img is 50~ kB and grub-install succeds. My main installation doesn’t see it though, now I have to figure out why.
Okay, I figured it out.
- Before installation, on the live system, I went to /usr/share/calamares/modules/fstab.conf and removed zstd compression from default fstab options.
- I installed Manjaro without the bootloader and rebooted.
- On my main system I edited /usr/lib/grub/i386-pc/moddep.lst to not include zstd as btrfs dependency (same thing has to be done on the btrfs system so that updates don’t break it).
- I did grub-install to btrfs partition, it reported no errors.
Now everything works as expected.
This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.