Live installer improvement

Questions about SolydX and SolydK installation.
User avatar
ilu
Posts: 2363
Joined: 09 Oct 2013 12:45

Live installer improvement

Postby ilu » 07 Feb 2019 02:46

Another laptop, that also has Win8, doesn't boot into SolydXEE (Dec 18 ISO, EFI, encrypted root with separate /boot) - only the previously installed SolydX8 or Win8. It seems that the efi doesn't find the correct boot partition.
grub.cfg on the /boot partition has SolydX10 and SolydX8 but no Windows.
grub.cfg in the /boot directory of SolydX8 has SolydX8 and Windows but errs out on SolydX10 with "unknown filesystem type crypto_luks".
If I don't get this fixed in the next some hours I'll open a separate support thread.
Details follwo.

User avatar
Arjen Balfoort
Site Admin
Posts: 9163
Joined: 26 Jan 2013 19:36
Location: Netherlands
Contact:

Re: grub trouble again

Postby Arjen Balfoort » 07 Feb 2019 07:06

I've never tested encryption with a windows install. Debugging multi-boot systems cost a lot of time which is very hard to find lately.

It would help if I have the live-installer log, blkid and fdisk output and fstab content. However, the only way I can debug those setups are in a VM and I'd also need to find a windows setup :cry:


SolydXK needs you!
Development | Testing | Translations

User avatar
ilu
Posts: 2363
Joined: 09 Oct 2013 12:45

Re: grub trouble again

Postby ilu » 07 Feb 2019 09:00

Sorry I forgot to delete this thread before I went to sleep. All solved, it was a firmware issue.

User avatar
Arjen Balfoort
Site Admin
Posts: 9163
Joined: 26 Jan 2013 19:36
Location: Netherlands
Contact:

Re: (solved) grub trouble again

Postby Arjen Balfoort » 07 Feb 2019 10:50

Something we could solve in the live-installer?


SolydXK needs you!
Development | Testing | Translations

User avatar
ilu
Posts: 2363
Joined: 09 Oct 2013 12:45

Re: (solved) grub trouble again

Postby ilu » 07 Feb 2019 23:56

I'm not sure. I had to find the right grubx64.efi to boot into the right grub.

Does the installer influence how that system file is going to be named in EFI? There was a file from SolydX8 on that laptop and it was called "Linux". And another one called "SolydX". The new install ended in a file called "SolydXK" but I did not know that. And there were several other files called "Boot" or nothing from previous other systems and of course from Win8 ... it took me a long time to figure out which was which. Only the Win file was obvious. If there is any way to attach a SolydX# number or some other identifier to that file that would be really great. But I have no idea how.

This is a real problem on machines with a long installtion history. In the end I managed to name them using efibootmgr and then try one after the other as first boot, also using efibootmgr.

Other than that encryption and everything else went fine. Nouveaux complained about something but I just ignored it. :-)

User avatar
Arjen Balfoort
Site Admin
Posts: 9163
Joined: 26 Jan 2013 19:36
Location: Netherlands
Contact:

Re: (solved) grub trouble again

Postby Arjen Balfoort » 08 Feb 2019 07:33

ilu wrote:
07 Feb 2019 23:56
Does the installer influence how that system file is going to be named in EFI?
I'm afraid not. The installer simply runs grub-install to install EFI. On EFI machines I use the --efi-directory parameter for grub-install and that's about everything you can do (usually /boot/efi) but you cannot force a custom path below that directory. That is handled by grub-install.


SolydXK needs you!
Development | Testing | Translations

User avatar
ilu
Posts: 2363
Joined: 09 Oct 2013 12:45

Re: (solved) grub trouble again

Postby ilu » 08 Feb 2019 20:12

I'm wondering how that is done. I can read up that Ubuntu uses /boot/efi/EFI/ubuntu/grubx64.efi so there is a way to name that prefix "ubuntu". https://www.dedoimedo.com/computers/gru ... overy.html says "Every operating system is stored into a folder of its own, e.g. /boot/efi/EFI/<os version>/. " Where does it get <os-version> from?

Here https://www.dedoimedo.com/computers/gru ... overy.htmlI found this command:

Code: Select all

(sudo) grub-install --boot-directory=/mnt/system/boot --bootloader-id=ubuntu  --target=x86_64-efi --efi-directory=/mnt/system/boot/efi 
Also from https://unix.stackexchange.com/question ... -with-uefi:
If there are multiple UEFI Linux installations on a disk, they normally use the same EFI System Partition (ESP), but their respective EFI executables live in different subdirectories of the ESP, of the form EFI/bootloader-id.
You set

Code: Select all

--bootloader-id=grub
which is quite non-descriptive. Or is grub a variable you assigned somewhere? I could not find it. If it's not a variable one system might overwrite the other which is not good.
There's also the grub-install --label "xxx" option which you did not use.

I think ideally --bootloader-id and --label should be set to system-id which needs to be defined in the config file as solydx# or solydk#. I'm just wondering how to handle that it has no quotes in the case of --bootloader-id but you'll certainly know how

This is not something that urgently needs to be done but would improve things for multiboot systems. Reading up on it was quite interesting. Unfortunately my 2 EFI test objects travelled away.

User avatar
Arjen Balfoort
Site Admin
Posts: 9163
Joined: 26 Jan 2013 19:36
Location: Netherlands
Contact:

Re: Live installer improvement

Postby Arjen Balfoort » 09 Feb 2019 12:37

If we'd use --bootloader-id and --label than we'd also need to differentiate between stable and testing (enthusiast's edition). On the other hand we don't need to differentiate between SolydX and SolydK of the same version (stable or testing).

Stable:

Code: Select all

grub-install --efi-directory=/boot/efi --bootloader-id=solydxk9
Next stable:

Code: Select all

grub-install --efi-directory=/boot/efi --bootloader-id=solydxk10
EE:

Code: Select all

grub-install --efi-directory=/boot/efi --bootloader-id=solydxk9ee
This way you can have more than one version on the same system installed, but there would come a moment that the EFI partition will get full. Perhaps just keep id and label simple like: solydxk and solydxkee

[Edit]
I see that --label is not a parameter for grub-install but for efibootmgr.
Removed from the examples above.

We could either use

Code: Select all

lsb_release -is
or

Code: Select all

lsb_release -cs
for the id.


SolydXK needs you!
Development | Testing | Translations

User avatar
ilu
Posts: 2363
Joined: 09 Oct 2013 12:45

Re: Live installer improvement

Postby ilu » 09 Feb 2019 15:32

Code: Select all

lsb_release -cs
would be good - a version needs to be included.

My problem was that the machine constantly booted into SolydX8 and the SolydX8 system for some reason did not see the new EE install. Updating grub from SolydX8 did not help, don't know why, os-prober could not see SolydXEE. Updating grub from the SolydXEE live system also did nothing because this only updated the EE grub which did not get booted. Figuring out a way how to force boot into EE took a lot of trial and error. Updating grub from there worked.

Even switching off secure boot did not help. I know that it is traditionally recommended to switch secure boot off for Linux but that is not the case any more. Ubuntu already does secure boot ootb and debian is working on it. In this scenario - with signed boot files - always using the same grub directory for different installations is not a viable option any more.

EFI Partitions should be 512 MB minimum (although old Win installs created smaller ones). grubx86.efi is about 100kB as far as I remember. Only extreme distro hoppers should run into problems and they might be able to find out about efibootmgr.

User avatar
Arjen Balfoort
Site Admin
Posts: 9163
Joined: 26 Jan 2013 19:36
Location: Netherlands
Contact:

Re: Live installer improvement

Postby Arjen Balfoort » 09 Feb 2019 19:57

I've updated the live-installer.
It now uses bootloader-id with grub-install.


SolydXK needs you!
Development | Testing | Translations


Return to “Installation”

Who is online

Users browsing this forum: No registered users and 2 guests