Adding Solus and other punk linux boot sequence in GRUB (UEFI only)

sorry, gohlip for late reply. there is simply no data of solus in the grub.cfg. I had to check multiple times for the verification.
I my entry lets me boot solus but after grub update my manual data entry goes away. I may have made mistake in path. Will fix it.

No, the path is right. Solus doesn’t use grub. it uses goofiboot.

Okay, if you find it, let us know.
Normally, any OS detected by grub will boot, even if that OS does not have grub.
Can’t say that for any other bootloader.

If you need help with the path, you’ll have to show the contents of /boot down to the solus.efi file. Look at the $esp partition only, no need to look elsewhere. Oh… the search line is for that fat32 partition. You can use UUID instead, of course, if you do not have labels. I always label all my partitions.

Try use UUID, do not use /dev/sdxy

1 Like

This is my modified entry:

    ### BEGIN /etc/grub.d/40_custom ###
    menuentry "Solus" --class recovery{
            insmod part_gpt
            insmod fat
            search --no-floppy --label --set=root 422A-74D4
            chainloader /EFI/goofiboot/goofibootx64.efi
    }
    ### END /etc/grub.d/40_custom ###

I am giving you the info available in EFI:

/boot/efi/EFI]ls                                                                                   
Boot  com.solus-project  goofiboot  Manjaro  Microsoft

/boot/efi/EFI/com.solus-project]ls                                                                 
initrd-com.solus-project.lts.4.9.20-12  kernel-com.solus-project.lts.4.9.20-12

/boot/efi/EFI/goofiboot]ls                                                                         
goofibootx64.efi

Quikly this is wrong. When using uuid, it shhould be

search --no-floppy --fs-uuid --set=xxxxxxxxxxxxxxxxxxx

Depending on whether your $esp is /boot or /boot/efi (we don’t know- only you will know) the path is one of

/efi/EFI/goofiboot/goofibootx64.efi

/EFI/goofiboot/goofibootx64.efi

ps: manjaro grub entry for solus should point to kernel kernel-com.solus-project.lts.4.9.20-12 and use initrd initrd-com.solus-project.lts.4.9.20-12 and path is /EFI/com.solus-project/ or /efi/EFI/com.solus-project/

my path is /boot/efi.
I am saying again. i am not facing problem booting solus. The problem is after each update-grub my custom grub entry goes away. According to different sources, after ### BEGIN /etc/grub.d/40_custom ### my inserted entries should not go away after grub update.

Right. That’s because you ‘grub-install’ And that’s where kainonergon post is all about.
And that’s why I always say (search it out here in this forum) use custom.cfg instead.

So do this.
create a custom.cfg

sudo touch /boot/grub/custom.cfg

Open this created file

kdesu kate /boot/grub/custom.cfg

or gksu gedit /boot/grub/custom.cfg
or sudo leafpad /boot/grub/custom.cfg
or…nano, vim… others (not mousepad or libreoffice, please)

Put in this (these entries in it and save file.
That’s it. no need to update-grub and it won’t been shown in update-grub or os-prober.
But the entries will be there at bottom of grub menu when you boot up.

ps: I still want to know why you think goofiboot is better than grub and yet use Manjaro grub to boot solus.

If i found the creator of goofiboot right now. i would kill him, that much i love it. Solus developers are bunch of idiots or don’t want people to use multiple distros. I use and love grub. I don’t know how i gave the opposite impression.

Are you sure that exec tail line is still there?

i don’t know what exec tail means.

There were several lines in the 40_custom file. That command was on the second line. You should keep it.

EDIT. Here:

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.

If you have deleted the lines, put them back

You sure?

Hmm… I don’t know about goofiboot.
But when using gummiboot and bootctl, the $esp should be /boot, not /boot/efi.

note: just to be complete for other readers, in refind, it can be either /boot or /boot/efi
and $esp size for /boot/efi can be 150 MB and for /boot it is better to be more than 350 MB.preferably 500 MB (depending on how many kernels you want to keep or move to). Whatever, for /boot/efi, 150 MB is good for all.

Oh… for grub2, $esp is always /boot/efi

so, should i create a .sh file like gohlip said or include this in the grub.cfg?

I think update-grub did not keep your custom entry because you deleted exec tail... line. If you want to use 40_custom, keep the lines that were there. Or do it as @gohlip suggests.

@gohlip @kainonergon
The funny thing is Gohlip’s solution worked for me after adding the code of kainonergon and chmoding that. Thank a lot guys for your times and penitence. It has been a nice learning curve for me.

1 Like

Are you sure? :grinning:

penitence: a feeling of deep sadness because you have done something wrong

Siuld have been patience
Damn autocorrect!

1 Like

Looks like we’re here as absolution for our sins, kainonergon.
Not too far off as an idea.

Cheers. Take care everybody.

3 Likes

Forum kindly sponsored by Bytemark