LinuxQuestions.org
Help answer threads with 0 replies.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 10-02-2014, 11:23 AM   #1
fsLeg
Member
 
Registered: Dec 2013
Location: Moscow, Russia
Distribution: Slackware, EndeavourOS
Posts: 91

Rep: Reputation: Disabled
ELILO only boots stock kernel on Slackware64-14.1


I recently bought a new laptop, MSI CX61 2OD-062. It had Windows 8 pre-installed, but I had very little trouble installing Slackware once I figured out how to boot into the installer under UEFI. By the way, this laptop is my very first experience with UEFI.

This laptop is pretty good, but for some weird reason Slackware on it doesn't want to recognize my Logitech MX570 trackball, which uses Logitech Unifying Receiver. On my other laptop (Lenovo B550) with the exact same system (Slackware64-14.1) trackball worked out of the box. Both systems use stock generic unmodified kernels. MSI laptop does recognize the receiver properly, but the trackball doesn't want to work. But it works when I boot in Windows or Parted Magic (uses kernel 3.14.4). I googled a bit and it turns out there's a regression in 3.10 kernel that causes Logitech Unifying Receiver not to work properly. So I decided to use a different kernel.

This is where things get confusing. ELILO is a simple program, and its config also has very simple syntax. My current elilo.conf:

Code:
chooser=simple
delay=50
timeout=50
default=Slackware
#
image=vmlinuz-3.14.18
        label=SlackNew
        initrd=initrd-3.14.18.gz
        root=/dev/cryptvg/root
        read-only
        append="resume=/dev/cryptvg/swap vga=normal"
image=vmlinuz-generic-3.10.17
        label=Slackware
        initrd=initrd-3.10.17.gz
        read-only
        root=/dev/cryptvg/root
        append="resume=/dev/cryptvg/swap quiet"
3.14.18 kernel is a huge kernel from Slackware64-current. I tested it on my other laptop and it worked flawlessly. But if I choose "SlackNew" at ELILO prompt, I get nothing. The kernel doesn't load. There're no messages from kernel itself (otherwise I would know what to do), but ELILO sports a few errors for a brief moment before rebooting. I managed to take a photo of them, and here they are:

Code:
elilo.c(line 276):
ExitBootSvcs: failed, memory map has changed.

elilo.c(line 279):Main_Loop: Retrying.... have to rebuild boot params
After that the laptop reboots. Googling didn't reveal any solution. Most interesting thing, these errors appear even when I load 3.10.17 kernel, but the system still loads.

I tried compiling my own kernel, I tried generic and huge kernels from -current, I reinstalled ELILO, but nothing helped, I can only boot the stock 3.10.17, both huge and generic. Other kernels don't produce any output, no kernel panic or whatever, the laptop seems to reboot even before the kernel actually tries to load.

I don't want a workaround like switching to grub or some other boot manager, I want to solve this problem (it's more fun that way). But I have no clue where to start. Any ideas?
 
Old 10-02-2014, 11:57 AM   #2
keefaz
LQ Guru
 
Registered: Mar 2004
Distribution: Slackware
Posts: 6,552

Rep: Reputation: 872Reputation: 872Reputation: 872Reputation: 872Reputation: 872Reputation: 872Reputation: 872
Quote:
Originally Posted by fsLeg View Post

I don't want a workaround like switching to grub or some other boot manager, I want to solve this problem (it's more fun that way). But I have no clue where to start. Any ideas?
There is a Changelog entry in elilo v. 3-16 about Memory map changes:
http://sourceforge.net/p/elilo/mailman/elilo-announce/

Unfortunately, I don't think you can solve this issue without changing bootloader, eg use new elilo v. 3-16 or maybe use kernel EFI stub feature (which means recompile the kernel with EFI stub and with kernel boot parameters, root= etc... built in the kernel, embed the initrd into the kernel and add kernel to EFI boot entries with efibootmgr)
http://wiki.gentoo.org/wiki/EFI_stub_kernel

Last edited by keefaz; 10-02-2014 at 12:02 PM. Reason: initrd can not be built into CONFIG_CMDLINE
 
1 members found this post helpful.
Old 10-02-2014, 12:28 PM   #3
fsLeg
Member
 
Registered: Dec 2013
Location: Moscow, Russia
Distribution: Slackware, EndeavourOS
Posts: 91

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by keefaz View Post
There is a Changelog entry in elilo v. 3-16 about Memory map changes
Yeah, I thought about upgrading ELILO, but I thought maybe I did something wrong and there was some way to fix it. And other people who had that error couldn't boot any kernel at all, while I was able to boot a stock one just fine.

Quote:
Originally Posted by keefaz View Post
I don't think you can solve this issue without changing bootloader, eg use new elilo v. 3-16
Using a newer version of ELILO isn't exactly changing a bootloader. It's about upgrading a package that had bugs in it.

Anyway, I upgraded ELILO to 3.16 (had to add one more sed string to Pat's SlackBuild) and it seems to work. Right now I'm on 3.14.18 from -current and my trackball finally works. So my problem is solved.

I saw somewhere here a post asking why ELILO-3.14 was not just in 14.1, but also still in -current. Now I agree that this is a good question.
 
Old 10-03-2014, 10:42 AM   #4
urka58
Member
 
Registered: Nov 2003
Distribution: slackware 15
Posts: 546

Rep: Reputation: 43
Quote:
Anyway, I upgraded ELILO to 3.16 (had to add one more sed string to Pat's SlackBuild) and it seems to work. Right now I'm on 3.14.18 from -current and my trackball finally works. So my problem is solved.
Which sed string did you add, I guess in the slackbuild, just to help other people, like me
Thanks
 
Old 10-03-2014, 10:57 AM   #5
fsLeg
Member
 
Registered: Dec 2013
Location: Moscow, Russia
Distribution: Slackware, EndeavourOS
Posts: 91

Original Poster
Rep: Reputation: Disabled
urka58, here's a diff for more convenience.
Code:
--- a/elilo.SlackBuild       2013-10-29 08:53:28.000000000 +0400
+++ b/elilo.SlackBuild    2014-10-02 21:12:33.214319934 +0400
@@ -60,10 +60,11 @@
 tar xvf elilo-${VERSION}-source.tar.gz || exit 1
 chown -R root:root .
 chmod -R u+w,go+r-w,a-s .
-cd elilo
+cd elilo-$VERSION-source
 
 sed -i "s,/usr/lib,/usr/lib${LIBDIRSUFFIX},g" Make.defaults
 sed -i "s,EFICRT0.*= /usr/lib${LIBDIRSUFFIX},EFICRT0    = /usr/lib${LIBDIRSUFFIX}/gnuefi,g" Make.defaults
+sed -i "s,dpkg-architecture -qDEB_BUILD_ARCH,uname -m,g" Make.defaults
 
 # We will build this from source.
 # However, we will package the pre-built EFI binaries, since we would
 
1 members found this post helpful.
Old 10-03-2014, 11:54 AM   #6
AlleyTrotter
Member
 
Registered: Jun 2002
Location: Coal Township PA
Distribution: Slackware64-15.0
Posts: 793

Rep: Reputation: 485Reputation: 485Reputation: 485Reputation: 485Reputation: 485
[QUOTE=fsLeg;5248063]

Code:
chooser=simple
delay=50
timeout=50
default=Slackware
#
image=vmlinuz-3.14.18
        label=SlackNew
        initrd=initrd-3.14.18.gz
....
I was always of the belief that when using the huge kernel that an initial ramdisk was not required. Have you tried to remove the "initrd=initrd-3.14.18.gz" line from your elilo.conf?
Just a wild guess.
Thought I would mention this since stock 14.1 boots all huge (.config) kernels up to 3.16.3 without problems here.
John

Last edited by AlleyTrotter; 10-03-2014 at 12:00 PM.
 
Old 10-03-2014, 12:05 PM   #7
fsLeg
Member
 
Registered: Dec 2013
Location: Moscow, Russia
Distribution: Slackware, EndeavourOS
Posts: 91

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by AlleyTrotter View Post
I was always of the belief that when using the huge kernel that an initial ramdisk was not required.
That is correct. But if you look at the name of the root partition, you'll see /dev/cryptvg/root, which is an encrypted LVM. In order to mount this partition it has to be there, and for that the kernel needs initrd which puts all needed devices where they belong in the filesystem. Ramdisk isn't just for modules only, which in the case of huge kernel don't even need to be added. With no initrd I would get a kernel panic.

Anyway, the ramdisk definitely wasn't the culprit. If it was, I would get some message from the kernel, not a boot manager.
 
Old 10-03-2014, 03:26 PM   #8
urka58
Member
 
Registered: Nov 2003
Distribution: slackware 15
Posts: 546

Rep: Reputation: 43
@fsLeg
Many thanks
Ciao
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] ELILO and kernel upgrade cgorac Slackware 3 01-26-2016 12:59 AM
Kernel Not Starting in 14.1 with EFI/elilo Skazi Slackware 1 11-21-2013 10:53 PM
Dual boot OS X and Slackware64-current (Thu Jun 27 23:56:34 UTC 2013) with elilo? janucaria Slackware 2 07-03-2013 07:56 AM
Slackware64, v 13 no long boots after update. JamesGT Slackware 5 12-14-2009 07:47 PM
Upgrading stock 2.4.22 kernel to 2.5.x then to 2.6.6 with existing stock .config file Kyl3 Slackware 8 06-09-2004 05:34 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 07:27 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration