LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Slackware 15.0 64 - ELILO freezes after improper upgrade via slackpkg (https://www.linuxquestions.org/questions/slackware-14/slackware-15-0-64-elilo-freezes-after-improper-upgrade-via-slackpkg-4175720391/)

glupa4e 01-01-2023 02:43 AM

Slackware 15.0 64 - ELILO freezes after improper upgrade via slackpkg
 
Hello and HNY!
I dared to do
Code:

slackpkg upgrade-all
-> it went without any issues
and then let config files be overwritten. I assume also kernel files were upgraded and now i cannot boot. I think i have ELILO. I was able to boot from installation media where i think it was possible via grub. So now "normal boot" is not possible. Please help me fix that. Some more information:
Code:

root@slackware:/boot/efi/EFI/Slackware# ls -lrt /boot/
total 40829
drwxr-xr-x  3 root root    1024 Jan  1  1970 efi/
-rw-r--r--  1 root root    15634 Mar 27  2011 slack.bmp
-rwxr-xr-x  1 root root  216219 Jun 12  2018 elilo-ia32.efi*
-rwxr-xr-x  1 root root  238531 Jun 12  2018 elilo-x86_64.efi*
-rw-r--r--  1 root root      423 Feb 13  2021 tuxlogo.dat
-rw-r--r--  1 root root    33192 Feb 13  2021 tuxlogo.bmp
-rw-r--r--  1 root root      424 Feb 13  2021 onlyblue.dat
-rw-r--r--  1 root root    6878 Feb 13  2021 onlyblue.bmp
-rw-r--r--  1 root root      432 Feb 13  2021 inside.dat
-rw-r--r--  1 root root    22578 Feb 13  2021 inside.bmp
drwxr-xr-x  3 root root    4096 Jan  4  2022 grub/
-rw-r--r--  1 root root  239586 Nov 27 19:27 config-huge-5.15.80.x64
-rw-r--r--  1 root root  239617 Nov 27 19:27 config-generic-5.15.80.x64
-rw-r--r--  1 root root  6867212 Nov 27 21:54 System.map-huge-5.15.80
-rw-r--r--  1 root root 11585536 Nov 27 21:54 vmlinuz-huge-5.15.80
-rw-r--r--  1 root root  5100705 Nov 27 21:57 System.map-generic-5.15.80
-rw-r--r--  1 root root  7768960 Nov 27 21:58 vmlinuz-generic-5.15.80
lrwxrwxrwx  1 root root      38 Dec 31 09:52 README.initrd -> /usr/doc/mkinitrd-1.4.11/README.initrd
drwxr-xr-x 14 root root    4096 Dec 31 10:00 initrd-tree/
-rw-r--r--  1 root root  9425920 Dec 31 10:00 initrd.gz
lrwxrwxrwx  1 root root      23 Dec 31 15:06 vmlinuz-generic -> vmlinuz-generic-5.15.80
lrwxrwxrwx  1 root root      23 Dec 31 15:06 System.map -> System.map-huge-5.15.80
lrwxrwxrwx  1 root root      23 Dec 31 15:06 config -> config-huge-5.15.80.x64
lrwxrwxrwx  1 root root      20 Dec 31 15:06 vmlinuz -> vmlinuz-huge-5.15.80
lrwxrwxrwx  1 root root      20 Dec 31 15:06 vmlinuz-huge -> vmlinuz-huge-5.15.80

elilo.conf looks like that - partition for / is properly configured
Code:


chooser=simple
delay=1
timeout=1
#
image=vmlinuz
        label=vmlinuz
        initrd=initrd.gz
        read-only
        append="root=/dev/nvme0n1p3 vga=normal ro"

Please let me know what else you need as information in order to fix it, thanks!

rkelsen 01-01-2023 04:19 AM

If you can boot the installed system using the installation media, then you should be able to run "eliloconfig" and follow the bouncing ball to fix everything.

glupa4e 01-01-2023 09:38 AM

2 Attachment(s)
Quote:

Originally Posted by rkelsen (Post 6401565)
If you can boot the installed system using the installation media, then you should be able to run "eliloconfig" and follow the bouncing ball to fix everything.

Hello @rkelsen, i tried running
Code:

eliloconfig
, all went without errors, an entry was replaced but i still cannot boot.
In the attached files you can see where bootloader freezes and which entries are available for selection via installation usb. The system gets loaded when i select /boot/vmlinuz-huge-5.15.80 (although not sure if this should be the proper choice).

camorri 01-01-2023 12:31 PM

Could you post your elilo.conf file? That should help us figure out what is wrong.

It appears from your fist pic pasted, the huge kernel is loading, and there is an ititrd.gz file.

Did you create a new one after the upgrade to the 5.15.80 kernel?

If in fact you are trying to loade huge, you shoud not need an initrd.gz file. I rare situations, one can be needed.

glupa4e 01-01-2023 12:42 PM

Quote:

Originally Posted by camorri (Post 6401645)
Could you post your elilo.conf file? That should help us figure out what is wrong.

It appears from your fist pic pasted, the huge kernel is loading, and there is an ititrd.gz file.

Did you create a new one after the upgrade to the 5.15.80 kernel?

If in fact you are trying to loade huge, you shoud not need an initrd.gz file. I rare situations, one can be needed.

Contents of boot folder
Code:

root@slackware:/boot# ls -la
total 40837
drwxr-xr-x  5 root root    4096 Dec 31 15:06 ./
drwxr-xr-x 23 root root    4096 Jan  1 11:28 ../
lrwxrwxrwx  1 root root      38 Dec 31 09:52 README.initrd -> /usr/doc/mkinitrd-1.4.11/README.initrd
lrwxrwxrwx  1 root root      23 Dec 31 15:06 System.map -> System.map-huge-5.15.80
-rw-r--r--  1 root root  5100705 Nov 27 21:57 System.map-generic-5.15.80
-rw-r--r--  1 root root  6867212 Nov 27 21:54 System.map-huge-5.15.80
lrwxrwxrwx  1 root root      23 Dec 31 15:06 config -> config-huge-5.15.80.x64
-rw-r--r--  1 root root  239617 Nov 27 19:27 config-generic-5.15.80.x64
-rw-r--r--  1 root root  239586 Nov 27 19:27 config-huge-5.15.80.x64
drwxr-xr-x  3 root root    1024 Jan  1  1970 efi/
-rwxr-xr-x  1 root root  216219 Jun 12  2018 elilo-ia32.efi*
-rwxr-xr-x  1 root root  238531 Jun 12  2018 elilo-x86_64.efi*
drwxr-xr-x  3 root root    4096 Jan  4  2022 grub/
drwxr-xr-x 14 root root    4096 Dec 31 10:00 initrd-tree/
-rw-r--r--  1 root root  9425920 Dec 31 10:00 initrd.gz
-rw-r--r--  1 root root    22578 Feb 13  2021 inside.bmp
-rw-r--r--  1 root root      432 Feb 13  2021 inside.dat
-rw-r--r--  1 root root    6878 Feb 13  2021 onlyblue.bmp
-rw-r--r--  1 root root      424 Feb 13  2021 onlyblue.dat
-rw-r--r--  1 root root    15634 Mar 27  2011 slack.bmp
-rw-r--r--  1 root root    33192 Feb 13  2021 tuxlogo.bmp
-rw-r--r--  1 root root      423 Feb 13  2021 tuxlogo.dat
lrwxrwxrwx  1 root root      20 Dec 31 15:06 vmlinuz -> vmlinuz-huge-5.15.80
lrwxrwxrwx  1 root root      23 Dec 31 15:06 vmlinuz-generic -> vmlinuz-generic-5.15.80
-rw-r--r--  1 root root  7768960 Nov 27 21:58 vmlinuz-generic-5.15.80
lrwxrwxrwx  1 root root      20 Dec 31 15:06 vmlinuz-huge -> vmlinuz-huge-5.15.80
-rw-r--r--  1 root root 11585536 Nov 27 21:54 vmlinuz-huge-5.15.80

Contents of elilo.conf
Code:

root@slackware:/boot/efi/EFI/Slackware# cat elilo.conf
chooser=simple
delay=1
timeout=1
#
image=vmlinuz
        label=vmlinuz
        initrd=initrd.gz
        read-only
        append="root=/dev/nvme0n1p3 vga=normal ro"

I did not create a new elilo.conf after doing upgrade-all via slackpkg. I just told the script to overwrite the new config files after it was done. What it did, i do not know. I also tried to run eliloconfig which ran without any issues but my system still cannot boot.

camorri 01-01-2023 03:13 PM

Clearly, you are trying to load the huge kernel, and an initrd.gz of unknown contents.

Edit the elilo.conf file by hand. Comment out the initrd= line, place at least one # sign at teh beginning of the line. See if it will boot then.

I can post a working elilo.conf file if you would like.

Could you also post an ls -l of your /boot/efi/EFI/Slackware directory.

glupa4e 01-02-2023 01:50 AM

Quote:

Originally Posted by camorri (Post 6401667)
Clearly, you are trying to load the huge kernel, and an initrd.gz of unknown contents.

Edit the elilo.conf file by hand. Comment out the initrd= line, place at least one # sign at teh beginning of the line. See if it will boot then.

I can post a working elilo.conf file if you would like.

Could you also post an ls -l of your /boot/efi/EFI/Slackware directory.

Code:

root@slackware:/boot/efi/EFI/Slackware# ls -l
total 17026
-rwxr-xr-x 1 root root    166 Jan  2 09:35 elilo.conf*
-rwxr-xr-x 1 root root  238531 Jun 12  2018 elilo.efi*
-rwxr-xr-x 1 root root 9425920 Dec 31 10:00 initrd.gz*
-rwxr-xr-x 1 root root 7768960 Nov 27 21:58 vmlinuz


root@slackware:/boot/efi/EFI/Slackware# cat elilo.conf
chooser=simple
delay=1
timeout=1
#
image=vmlinuz
        label=vmlinuz
#        initrd=initrd.gz
        read-only
        append="root=/dev/nvme0n1p3 vga=normal ro"

Hello even, with commented out line before initrd booting is not possible, also please see above desired output of directory. Thanks for trying to help me.

camorri 01-02-2023 05:53 AM

Please post the contents of your /boot/efi/EFI/Slackare/ directory. A ls -al command should do.

Here, for reference is nine. Things to check, do you see in yours the correct kernel you wna to boot to in in yours? Does the elilo.efi file look to be the same size as the one in boot? It should match elilo-x86_64.efi in /boot. The initrd.gz file, have you generated another one and copied to /boot/efi/EFI/Slackare/ after the kernel upgrade? Check the size for comparison.

Quote:

ls -al
total 41M
drwxr-xr-x 2 root root 1.0K Nov 29 17:38 ./
drwxr-xr-x 7 root root 512 Aug 8 14:18 ../
-rwxr-xr-x 1 root root 594 Nov 29 17:37 elilo.conf*
-rwxr-xr-x 1 root root 233K Jun 12 2018 elilo.efi*
-rwxr-xr-x 1 root root 11M Nov 29 17:36 initrd-80.gz*
-rwxr-xr-x 1 root root 2.2K Jan 16 2021 textmenu-message.msg*
-rwxr-xr-x 1 root root 7.5M Nov 29 17:36 vmlinuz-generic-5.15.80*
-rwxr-xr-x 1 root root 12M Nov 29 17:37 vmlinuz-huge-5.15.80*
-rwxr-xr-x 1 root root 12M Nov 22 10:41 vmlinuz-huge-5.19.17*
Also for comparison, here is the contents of my elilo.conf file. The main thing to look at are lines 9 to 12. You will see I use the full name of the kernel I want to boot, rather than the sym link. This is not mandatory, but for me takes any confusion as to what will happen; with the minor problem when I change kernels, I have to edit this file by hand.


Quote:

1 chooser=textmenu
2 default=generic
3 delay=50
4 timeout=50
5 prompt
6 #
7 message=textmenu-message.msg
8 #
9 image=vmlinuz-generic-5.15.80
10 label=generic
11 initrd=initrd-80.gz
12 read-only
13 append="root=/dev/nvme0n1p3 vga=0x034c rcu-nocbs=0-11 ro nvidia-drm.modeset=1 resume=UUID=f0256f8b-7a1d-46e0-b8cd-228182c
14
15 image=vmlinuz-huge-5.15.80
16 label=huge
17 read-only
18 append="root=/dev/nvme0n1p3 vga=791 rcu-nocbs=0-11 ro nvidia-drm.modeset=1"
19
20 image=vmlinuz-huge-5.19.17
21 label=rusty
22 read-only
23 append="root=/dev/sda3 vga=791 ro nvidia-drm.modeset=1"
Hope this helps.

BTW, if you realy have the generic kernel copied, and you need it to boot, you will need an initrd.gz file, so you can un-comment the line for it in this case.

keefaz 01-02-2023 07:33 AM

I would try a quick grub bootlader swap just to discard an elilo bug

Copy EFI/bootx64.efi from usb installer to /boot/efi/EFI/Slackware/grub.efi

create a simple /boot/efi/EFI/Slackware/grub.cfg config file:
Code:

set default="0"
set timeout="5"
set hidden_timeout_quiet=false

menuentry "Slackware 15.0" {
  echo "Loading vmlinuz.  Please wait..."
  linux /EFI/BOOT/vmlinuz root=/dev/nvme0n1p3 ro
  initrd /EFI/BOOT/initrd.gz
}

Then use efibootmgr and add an entry for /EFI/Slackare/grub.efi

Petri Kaukasoina 01-02-2023 07:51 AM

The size of /boot/efi/EFI/Slackware/vmlinuz is the same as /boot/vmlinuz-generic-5.15.80, so it's the generic one which needs initrd. The symbolic links in /boot, for example vmlinuz-generic, are dated 'Dec 31 15:06', so the kernel was upgraded then. But initrd.gz is older 'Dec 31 10:00'. You need to build a new initrd.gz after upgrading kernel, and copy it to /boot/efi/EFI/Slackware.

jayjwa 01-02-2023 09:38 AM

What's in /boot is of no matter when the system is booting with EFI, since the root partition isn't even loaded at that point. elilo, by your configs, is grabbing /efi/EFI/Slackware/vmlinuz and trying to run that with /efi/EFI/Slackware/initrd.gz. By the dates (Nov, Dec) of those files, that might not be what you want. You can use 'file' to tell you the version of a kernel bootable image. Your initrd better match it. You might also want to check 'efibootmgr' to make sure it has an entry that actually points to elilo.efi like so:

Code:

Boot0001* Slackware    HD(1,GPT,1d39afc6-46db-4550-b122-74c8381926f3,0x800,0x82000)/File(\EFI\SLACKWARE\ELILO.EFI)

arfon 01-02-2023 07:59 PM

When this happens to me, I boot with a USB stick and pass "mount root=/dev/sda1" as a boot parameter to get the machine up...


...and then I 'eliloconfig' to fix elilo

To fix this in the future, I have started running updates with my little script:

Code:

#!/bin/bash
slackpkg update
slackpkg install-new
slackpkg upgrade-all
lilo
eliloconfig


glupa4e 01-05-2023 10:04 AM

Thanks to all who posted!
What i did was that i found that sample script

/usr/share/mkinitrd/mkinitrd_command_generator.sh

i ran it and whatever was suggested i ran that command. After that i was able to boot without USB disk.


All times are GMT -5. The time now is 09:19 AM.