Description of problem: During the installation of the latest (Jun 6) 6sta1 classic iso an error occurs at the bootloader installation stage. An error occurred installation failed. grub2-install failed: grub2-install: error: /usr/lib/grub/x86_efi/modinfo.sh does not exist. Please specify --target or --directory. ....propagated Version-Release number of selected component (if applicable): Mageia-6-sta1-x86_64-DVD How reproducible: Once, so far. Needs to be repeated without the nvidia configuration step. Steps to Reproduce: 1. USB UEFI install of Mageia-6-sta1-x86_64-DVD.iso 2. Configure nvidia graphics driver and continue 3.
Guessing this should be assigned to grub2, for now. @ Len As always with problems that occur during a classical install, attach the logs of the install, see https://wiki.mageia.org/en/Triage_guide#Traditional_installer
Keywords: (none) => 6sta1, NEEDINFOCC: sysadmin-bugs => ennael1, marja11, thierry.vignaud, tmb, zen25000Component: Release (media or process) => RPM PackagesAssignee: bugsquad => zen25000Summary: bootloader fails to install during installation of 6sta1 classic iso => grub2-install fails to install during installation of 6sta1 classic iso (/usr/lib/grub/x86_efi/modinfo.sh does not exist.)Source RPM: (none) => grub2
Sigh, I guess yet Another $random not-really-upstream sync somewhere... The efi one is actually in: /usr/lib/grub/x86_64-efi/modinfo.sh
Blocks: (none) => 416
Sorry, there is a typo there: error: /usr/lib/grub/x86_64-efi/modinfo.sh does not exist. I have tried this on another UEFI machine and also avoided the nvidia configuration step. No difference. Also tried another USB key to eliminate possible media problems. No difference. Same error always.
@Marja If I can get to a console before exit I shall attach the logs.
Created attachment 7941 [details] Install log for 6sta1 classic iso Mageia-6-sta1-x86_64-DVD install on UEFI machine which stalls on the bootloader install.
Ok, so the modifo.sh path was a typo.... The real breakage is: At start we want grub2 nowdays: * preferring grub2 over lilo,grub2-efi,grub * replacing bootloader with grub2 * selecting grub2-2.02-0.git10457.6.mga6.x86_64 * requiring grub2-common[== 2.02-0.git10457.6.mga6] for grub2-2.02-0.git10457.6.mga6.x86_64 * chosen grub2-common-2.02-0.git10457.6.mga6.x86_64 for grub2-common[== 2.02-0.git10457.6.mga6] * selecting grub2-common-2.02-0.git10457.6.mga6.x86_64 Then we detect UEFI * selecting grub2-efi because of needed for UEFI boot and poof: * no packages match grub2-efi (it is either in skip.list or already rejected) * ERROR: selection failed: grub2-efi-2.02-0.git10457.6.mga6.x86_64 (due to conflicts with grub2-2.02-0.git10457.6.mga6.x86_64)
So
Status: NEW => ASSIGNEDComponent: RPM Packages => InstallerAssignee: zen25000 => thierry.vignaud
...installer installs grub2 instead of grub2-efi on UEFI hardware.
(In reply to Barry Jackson from comment #8) > ...installer installs grub2 instead of grub2-efi on UEFI hardware. Yes, that's because of rpm deps. basesystem wants bootloader, wich gets defaulted to grub2... It's only later we detect uefi and the need for grub2-efi. this "bug" is because we started to deprecate grub legacy and installer has always lived with "grub legacy" is default until now... so some hiccups are expected when we adjust installer
commit e75a01510f0c0ac105d03d6e95f6aa046197e614 Author: Thierry Vignaud <thierry.vignaud@...> Date: Tue Jun 7 17:44:48 2016 +0200 fix selecting grub2-efi on UEFI (mga#18646) the issue is that we select basesystem which pulls bootloader -> grub2 then later grub2-efi b/c we're on UEFI which results in: we don't use the right API for selecting packages which results in: * preferring grub2 over lilo,grub2-efi,grub * replacing bootloader with grub2 * selecting grub2-2.02-0.git10457.6.mga6.x86_64 (...) * selecting grub2-efi because of needed for UEFI boot (...) * no packages match grub2-efi (it is either in skip.list or already rejected) * ERROR: selection failed: grub2-efi-2.02-0.git10457.6.mga6.x86_64 (due to conflicts with grub2-2.02-0.git10457.6.mga6.x86_64) the proper fix would be to use a better URPM API but it's just as simple to pick the bootloader before picking basesystem... --- Commit Link: http://gitweb.mageia.org/software/drakx/commit/?id=e75a01510f0c0ac105d03d6e95f6aa046197e614
Fixed
Status: ASSIGNED => RESOLVEDResolution: (none) => FIXED
Not really, you have a c/p error: + if (is_uefi()) { + log::l("selecting grub2-efi because it's needed for UEFI boot"); + $p = 'grub2-efi'; + } else { + log::l("defaulting to grub"); + $p = 'grub2-efi'; so now all get grub2-efi :)
Oh, and come to think of it... the above wont work on live medias as the image get grub2 installed on the squashfs image, and I need to be able to switch to efi when needed... But I think I can work around it for now with draklive doing "rpm -e -nodeps grub2" at end of install, before image creation, and it can the pull in correct grub2(-efi) from live core media during live install...
:) O/T Thomas,Thierry are you OK if I push updated grub2 now with fix for Bug 15846 (btrfs sector 63 bug)?
(In reply to Thomas Backlund from comment #12) That's what happen when one test only with OVMF after a bad baby night :-) (In reply to Barry Jackson from comment #14) yes go on
I just tested an EFI clean install using stage2-17.35. grub2-efi installs without issue. On re-boot system boots to a working desktop. Will test with 17.35.1 after next mirror sync.
CC: (none) => cae
Just tested with Stage2-17.35.1 Ran test on multi drive, multi OS system. Installed in both EFI and MBR mode, bootloader installs and performs flawlessly on both.
*** Bug 18656 has been marked as a duplicate of this bug. ***
CC: (none) => westel