SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I've been trying to get 14.2 (64 bit) installed onto a blank 500Gb SSD but running into problems with LILO. The install says "Installing the Linux loader" and never gets past that point. Hitting enter lets me continue but when trying to boot the LILO prompt only says "boot error". How do I go about troubleshooting this? Google isn't much help with a phrase that vague. Thanks.
I've been trying to get 14.2 (64 bit) installed onto a blank 500Gb SSD but running into problems with LILO. The install says "Installing the Linux loader" and never gets past that point. Hitting enter lets me continue but when trying to boot the LILO prompt only says "boot error". How do I go about troubleshooting this? Google isn't much help with a phrase that vague. Thanks.
Are you duel booting with windows on a separate drive, and if so which version of windows? how old/new is this system, it wouldn't happen to have uefi bios firmware?. What is your partition layout, do you have a separate /boot partition?
The system does not use UEFI, it's a Lenovo Thinkstation S20 (Xeon x5650 16Gb ram). There is one other 6Tb hard drive installed but without an operating system. I created a 450Gb / partition formatted xfs and then a 16Gb swap partition. Those are the only two on the SSD. I tried slackware64-current and had the same problem.
Ok this is definitely a LILO problem. I reformatted the drive as ext4 and get the same result. It hangs when trying to install LILO. With only the one drive connected I was able to install and run LILO from the command line. It recognized and added the partition and allowed me to boot successfully.
However with the second 6Tb drive connected it bumps the SSD to /dev/sdb. Alright so I edit /etc/lilo.conf and make the changes then try and run LILO to write to the MBR. Here is the problem. No matter what options I pick it comes up with /dev/sda as the reference drive. That drive has an NTFS partition with data. It finds the Windows volume ID and then stops, asking me to overwrite it.
lilo -b /dev/sdb -C /etc/lilo.conf
That command should make LILO write to the MBR of /dev/sdb but it still gives me an error about the signature of /dev/sda! I disconnected the second drive and tried the command but it sees the config as invalid and refuses to work.
Specify the drive by UUID or label. The /dev/sda designations are generated by the kernel at boot and are not persistent across hardware changes such as plugging in a USB device before boot.
You can get the uuid using the command lsblk -f when booted.
...although your last reply sounds like something else may be going on at first look.
Alright to close this thing out, some observations.
1. Boot error was not coming from LILO. That was my BIOS saying the disk was not bootable because LILO was failing to install
2. Having any other hard drives plugged in would cause the lilo command to want to overwrite /dev/sda no matter what arguments were passed. The only safe way was to disconnect any extra drives.
3. Changing /etc/fstab and /etc/lilo.conf to use UUID worked. However the syntax is different in these two files
4. The steps above worked until a second drive was plugged in and then I get a kernel panic on boot about not finding root
5. Using the mkinitrd script in /usr/share to make a new initrd image fixed this problem. Of course you have to replace /dev with UUID= in the command
Maybe its time LILO moves to using UUID by default?
Alright to close this thing out, some observations.
1. Boot error was not coming from LILO. That was my BIOS saying the disk was not bootable because LILO was failing to install
2. Having any other hard drives plugged in would cause the lilo command to want to overwrite /dev/sda no matter what arguments were passed. The only safe way was to disconnect any extra drives.
3. Changing /etc/fstab and /etc/lilo.conf to use UUID worked. However the syntax is different in these two files
4. The steps above worked until a second drive was plugged in and then I get a kernel panic on boot about not finding root
5. Using the mkinitrd script in /usr/share to make a new initrd image fixed this problem. Of course you have to replace /dev with UUID= in the command
Maybe its time LILO moves to using UUID by default?
If UUID is done correctly it should always work (assuming the issue is actually in LILO), but LABEL also works which I prefer because the labels, chosen by me have meaning to me that UUID doesn't. It has been exceedingly rare that I don't have multiple drives with dozens of partitions and several bootable systems for roughly 30 years now.
For multiple disk systems I like redundancy and first install LILO to the root partition of every distro I have installed and then run lilo again to install to the MBR of any and all disks and write in both direct boot and chainload entries. If worse comes to worst I may copy the bootable kernel and config from one remote partition to the default /boot directory if there is any difficulty in seeing the proper kernel on a different partition. Even if I never have to use it I can always boot anything without having to resort to a boot disc or the Slackware install CD/DVD initial boot utility, though that sweet Slackware feature is by no means slow or complicated just a little less "visibility". The redundant LILO installs each give me labeled selections so any doubts about which partition has what on it are instantly visible and negated.
As for initrd, I avoid those as unneeded complexity since I don't yet encrypt disks. One checkbox for ext4 in kernel config usually solves that perceived "need".
One more thing, the LILO man page is incorrect about the usage of the -b flag. The man page says
Code:
-b /dev/sdb
which is what gave me the problem of it always wanting to write to the incorrect drive. An ancient man page https://www.netadmintools.com/html/8lilo.man.html shows the correct syntax at the bottom. It's
Code:
-b boot=/dev/sdb
!
Guess I'm the first person to use that command in 19 years...
Yes I know -b is a command line option, and how the man page says to use it is wrong.
Look at the attached screenshots and see for yourself. You'll see that it also thinks /dev/sdc is a RAID drive but it is not. That is a different matter.
In post #6 colorpurple21859 asked you to post your lilo.conf. I was also waiting for it, didn't see it ...
Then, in pots #7, you got confused:
Quote:
That command should make LILO write to the MBR of /dev/sdb but it still gives me an error about the signature of /dev/sda!
Well, the -b switch doesn't override the boot= entry from your lilo.conf https://linux.die.net/man/8/lilo
In post #11 you got again confused, the link you posted, specifies at the bottom:
Code:
The above command line options correspond to the key words in the config file indicated below.
And not the "correct syntax ".
You either define boot= in your /etc/lilo.conf and issue a simple "lilo", or you comment it in the /etc/lilo.conf and use "lilo -b /dev/whatever"
I'm not confused in the least. From the beginning the installer was not able to write to the MBR correctly and all my attempts with two drives connected have not been successful. Did you even look at the screenshots?
Here is my lilo.conf
Code:
# LILO configuration file
# generated by 'liloconfig'
#
# Start LILO global section
# Append any additional kernel parameters:
append="raid=noautodetect"
boot = /dev/disk/by-uuid/5deb019e1da6dcf5
#compact # faster, but won't work on all systems.
# Boot BMP Image.
# Bitmap in BMP format: 640x480x8
bitmap = /boot/slack.bmp
# Menu colors (foreground, background, shadow, highlighted
# foreground, highlighted background, highlighted shadow):
bmp-colors = 255,0,255,0,255,0
# Location of the option table: location x, location y, number of
# columns, lines per column (max 15), "spill" (this is how many
# entries must be in the first column before the next begins to
# be used. We don't specify it here, as there's just one column.
bmp-table = 60,6,1,16
# Timer location x, timer location y, foreground color,
# background color, shadow color.
bmp-timer = 65,27,0,255
# Standard menu.
# Or, you can comment out the bitmap menu above and
# use a boot message with the standard menu:
#message = /boot/boot_message.txt
# Wait until the timeout to boot (if commented out, boot the
# first entry immediately):
prompt
# Timeout before the first entry boots.
# This is given in tenths of a second, so 600 for every minute:
timeout = 1200
# Override dangerous defaults that rewrite the partition table:
change-rules
reset
# VESA framebuffer console @ 1024x768x64k
vga = 791
# End LILO global section
# Windows bootable partition config ends
# Linux bootable partition config begins
image = /boot/vmlinuz
root = /dev/disk/by-uuid/cdece66d-ea2a-4ca3-982c-9c0ee82b3f7f
initrd = /boot/initrd.gz
label = Linux
read-only
# Linux bootable partition config ends
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.