Grub doesn't generate boot entry for Archlinux after changing theme

I installed and rebooted the menu did not show my Arch install.

$ blkid
/dev/sda1: LABEL="Manjarobootroot" UUID="3650a7ac-7a9b-4a26-9bd5-7644698e8b8e" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="fbf7c5f4-01"
/dev/sda2: UUID="a8c14a59-c43c-4b65-b117-7bca052bb7f2" TYPE="swap" PARTUUID="fbf7c5f4-02"
/dev/sda5: LABEL="Arch_rolling" UUID="ad7990d5-bf4c-4bf6-a0c3-d4dfabdf64a8" BLOCK_SIZE="4096" TYPE="ext4" PTTYPE="dos" PARTUUID="fbf7c5f4-05"
/dev/sda6: LABEL="EndeavourOS" ="b4665bd1-9534-4268-a082-24221efa13df" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="fbf7c5f4-06"

Showed the Manjaro and EndeavourOS ones.

re-read : Grub: how to fix booting of other Arch based systems .
I had had to do this when I first installed EOS.
Did commands:


sudo pacman -Syu
sudo pacman -S grub-tools
sudo pacman -S grub os-prober
sudo grub-mkconfig -o /boot/grub/grub.cfg
reboot

Still no Arch choice… sorry i’m to dense to figure it out. :man_shrugging:

I very much like the change of the grub background image. Thanks @Root and @northernlass for the great work.

1 Like

Sorry to hear that @kmartin I’ve never dual+booted, but this issue is happening despite e.g. this (ignore my previous background edit):

#GRUB_BACKGROUND="/home/wellspring/Pictures/GRUB.png"
GRUB_THEME=/boot/grub/themes/endeavouros-nix/theme.txt

and copying over the endeavouros-nix folder (within the zip file) into boot/grub/themes?

If we look a t this with the logic glasses - then every installation is done on a separate partition and is having the following /boot tree

➜  ~ tree /boot -L 3
/boot
├── efi [shared between installs]
├── grub
│   ├── fonts
│   │   └── unicode.pf2
│   ├── grub.cfg
│   ├── grubenv
│   ├── themes
│   │   ├── pacbang
│   │   └── starfield
│   ├── unicode.pf2
│   └── x86_64-efi
│       ├── acpi.mod
│       ├── ...
│       └── zstd.mod
├── initramfs-linux-fallback.img
├── initramfs-linux.img
├── initramfs-linux-lqx-fallback.img
├── initramfs-linux-lqx.img
├── intel-ucode.img
├── memtest86+
│   └── memtest.bin
├── vmlinuz-linux
└── vmlinuz-linux-lqx

Since the theme is installed to /usr/shared/themes/grub/endeavourous-galleon it will only be the actual Endeavours grub which will display the galleon theme.

You can verify this by cloning the git repo and edit the PKGBUILD and the theme.install script - change

/usr/shared/grub/themes

to

/boot/grub/themes

bump the pkgrel and run

 makepkg -i

This will move the theme files from /usr to /boot - then check if it makes a difference.

1 Like

Ah! maybe I need to explain more fully. I first installed EOS back in July . I then had to “fix” with Grub: how to fix booting of other Arch based systems

That all worked well and impressed me. EOS’s grub ran all 3 distros. As I mentioned to @jonathon some where I had lost the Manjaro grub menu that had been in command but oh well… I had had a nice background image but this will do that too. I just want to see this EndeavourOS grub theme work! It should. What info can I give you to help?

ftab:

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a device; this may
# be used with UUID= as a more robust way to name devices that works even if
# disks are added and removed. See fstab(5).
#
# <file system>             <mount point>  <type>  <options>  <dump>  <pass>
UUID=b4665bd1-9534-4268-a082-24221efa13df /              ext4    defaults,noatime 0 1

That’s just the EOS partition.

Sorry I don’t understand this more…

Since the original EOS grub took over (as explaned above) and showed and started all 3 other grubs , this should not be the issue , right?

Sorry I can’t add any more. As far as I understand, the original Endeavour theme is in /boot/grub/themes/, as I saw it when copying over the endeavouros-nix folder? And I made sure /etc/default/grub’s lines pointed to that folder:

#GRUB_BACKGROUND="/home/wellspring/Pictures/GRUB.png"
GRUB_THEME=/boot/grub/themes/endeavouros-nix/theme.txt

Haven’t a clue about multi-boots, lol, but, if things are set up exactly as the original EOS grub was, where it spanned other grubs, you should be good to go. I’m sure someone who does have a clue will add further. :+1:t2:

Yup - that was the initial goto. Then I was reading up on the proper way to install files using the package manager - which encouraged to use the /usr/ structure - and as grub has the themes folder there - I figured - since I pushed it to AUR - I better adhere to the standard.

There is nothing from with your install @northernlass


@kmartin
I am thinking - are you by any chance using BIOS boot - you know it is possible to combine BIOS and GPT.

The reason I ask is because the BIOS method requires the grub files to be written to either the MBR part of the disk or to a GPT partition with the partition type of bios-boot (0xEF02).

If you are indeed using the BIOS boot this would explain why certain files are not shown because grub is only written once - on grub-install - and that entry will point to - as I understand it - some kind of chain load sequense for the entries discovered by os-proper.

Now - I am out in the deep on this - because I have zero to none knowledge on the inner workings of a boot loader - so I may be talking nonsense - and anyone knowledgeable should feel free to enlighten me.

1 Like

Good to know, @Root :slight_smile: I’d installed the theme manually, just copying over the folder then editing grub. UEFI, not bios etc. Exciting that Galleon Grub is in the AUR! You’ve just got a vote. :+1:t2:

1 Like

@Root
@northernlass

Thankyou both for your fine work and helping me out. I should have posted my inxi first thing, sorry:

System:    Kernel: 5.8.7-arch1-1 x86_64 bits: 64 Desktop: Xfce 4.14.2 Distro: EndeavourOS 
Machine:   Type: Laptop System: Dell product: Latitude E6410 v: 0001 serial: <superuser/root required> 
           Mobo: Dell model: 0667CC v: A01 serial: <superuser/root required> BIOS: Dell v: A05 date: 08/10/2010 
Battery:   ID-1: BAT0 charge: 44.2 Wh condition: 44.2/62.2 Wh (71%) 
CPU:       Info: Dual Core model: Intel Core i5 M 520 bits: 64 type: MT MCP L2 cache: 3072 KiB 
           Speed: 1463 MHz min/max: 1199/2400 MHz Core speeds (MHz): 1: 1463 2: 1463 3: 1463 4: 1463 
Graphics:  Device-1: Intel Core Processor Integrated Graphics driver: i915 v: kernel 
           Device-2: Ricoh HD Webcam type: USB driver: uvcvideo 
           Display: x11 server: X.Org 1.20.9 driver: intel unloaded: fbdev,modesetting,vesa resolution: 1280x800~60Hz 
           Message: Unable to show advanced data. Required tool glxinfo missing. 
Audio:     Device-1: Intel 5 Series/3400 Series High Definition Audio driver: snd_hda_intel 
           Sound Server: ALSA v: k5.8.7-arch1-1 
Network:   Device-1: Intel 82577LM Gigabit Network driver: e1000e 
           IF: eno1 state: down mac: 5c:26:0a:1e:93:cd 
           Device-2: Intel Centrino Advanced-N 6200 driver: iwlwifi 
           IF: wlan0 state: up mac: 58:94:6b:3e:de:c4 
Drives:    Local Storage: total: 232.89 GiB used: 9.21 GiB (4.0%) 
           ID-1: /dev/sda vendor: Western Digital model: WD2500BEKT-75A25T0 size: 232.89 GiB 
Partition: ID-1: / size: 66.79 GiB used: 9.21 GiB (13.8%) fs: ext4 dev: /dev/sda6 
Swap:      Alert: No Swap data was found. 
Sensors:   System Temperatures: cpu: 58.0 C mobo: N/A sodimm: 42.0 C 
           Fan Speeds (RPM): cpu: 0 
Info:      Processes: 180 Uptime: 1h 16m Memory: 3.64 GiB used: 731.7 MiB (19.6%) Shell: Bash inxi: 3.1.06 

Yes.
I thought the blkid post above implied that ? Again my failure on omitting an inxi.
That is not the issue. I have booted MX on this setup as well, 3 ways, menage e twa … and at first EOS, Arch and Manjaro all showed in the grub menu.
Installing endeavouros-galleon-grub showed the galleon and menu panel the text just omited one install Arch. That may point to os-probber? :man_shrugging:

It may be this old bios and/or how os-prober implements???

Sooo I uninstalled : `$ sudo pacman -Rns endeavouros-galleon-grub

`
grub rebuilt

Generating grub configuration file ...
Found linux image: /boot/vmlinuz-linux
Found initrd image: /boot/initramfs-linux.img
Found fallback initrd image(s) in /boot: initramfs-linux-fallback.img
Found Manjaro Linux (20.1) on /dev/sda1
Found Arch Linux (rolling) on /dev/sda5
Found memtest86+ image: /boot/memtest86+/memtest.bin
done

and all entries are back, on a black background… :laughing:
No biggie.

Sorry I don’t want to spend a lot of time on this right now, got a lot on my plate.

Thanks again

1 Like

Wish I could suggest more. Maybe there’ll be someone along with a similar setup or who can advise. :slight_smile:

EDIT: roughly searched ‘bios/grub/latitude’ in the Arch Wiki and tbh no idea if this next bit will help, but incase it does …

" In addition to the UEFI firmware workaround (without which GRUB isn’t launched), the Dell Latitude seems to require to have the EFI system partition mounted on /boot . When ESP is mounted on /efi , GRUB fails to find the configuration files and launches the rescue console."

Dell/grub section

Not sure exactly how this would work on your system, but if all else fails, get the image from the Galleon thread https://forum.endeavouros.com/t/endeavour-galleon-wallpaper/2332/15 , put it in Pictures and e.g. name it GRUB.png, then, in /etc/default/grub do the following:

Uncomment one of them for the gfx desired, a image background or a gfxtheme
GRUB_BACKGROUND="/home/your username/Pictures/GRUB.png"
#GRUB_THEME="/path/to/gfxtheme"
Then refresh grub.

I can bet you already know that though! :+1:t2:

1 Like

well I finally got back to this convoluted issue. Convoluted due to Manjaro forcing linux-latest on me. I deleted all that mess a while back but it reappeared? Any way after cleaning out some kernel fragments and re building the grubs I massaged a pic of Endeavor landing.

put it in /usr/share/grub/ as grub_background.png.
rebuilt grub…
done and done:

$ update-grub
[sudo] password for martin: 
Generating grub configuration file ...
Found background: /usr/share/grub/grub_background.png
Found linux image: /boot/vmlinuz-linux
Found initrd image: /boot/initramfs-linux.img
Found fallback initrd image(s) in /boot: initramfs-linux-fallback.img
Found Manjaro Linux (20.1) on /dev/sda1
Found Arch Linux (rolling) on /dev/sda5
Found memtest86+ image: /boot/memtest86+/memtest.bin
done

It all works Manjaro shows 2 kernels etc all accurate now…
I don’t need or use Manjaro just an exercise in what ever
thanks for the help. :wink:

6 Likes

Can’t believe I just realised, lol, that it might be useful to add a colour and black and white of the Galleon, without the logo (as that would cover the grub text) incase you want to run something near to the Galleon Grub.

Lower resolution colour and bw

5 Likes