Slackware - InstallationThis forum is for the discussion of installation issues with Slackware.
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.
This is maybe a grub/lilo Q but since both are affected I guess it's Slackware that is the problem. This could be false
I got one linux installed on my hda2 and then I installed slackware on hda6 from packages I downloaded to hda7.
The prob is that when I try to boot with Grub or Lilo it won't work.
Lilo tells me:
Fatal: open /boot/initrd.gz: No such file or directory
For this entry:
image=/boot/initrd.gz
label=Slackware
root=/dev/hda6
read-only
In GRUB I can install, but I can't boot anyway.
Both GRUB and Lilo are installed on the linux on hda2.
Here's some misc facts:
dsl@box:/etc$ lilo -v
LILO version 22.5.7.2, Copyright (C) 1992-1998 Werner Almesberger
Development beyond version 21 Copyright (C) 1999-2003 John Coffman
Released 20-Aug-2003, and compiled at 23:02:13 on Aug 26 2003
Compiled for Debian GNU/Linux.
I have the file, but on /dev/hda6 and not on /dev/hda2
I don't want to mix the filesystems.
I don't understand how you could mix the filesystems.
You only need one working lilo.conf file on a system to boot any system on your machine, just mount all the boot directories before doing the lilo -v command (as I have to mount my /mnt/suse10.1 partition for the boot directory in there to be available when installing lilo)
I'm posting my office machine's lilo.conf file, it boots some different kernels, a memory testing application, and a SuSE system on a different partition; I hope it serves as a guide for you:
Quote:
# LILO configuration file
# generated by 'liloconfig'
#
# Start LILO global section
boot = /dev/sda
message = /boot/boot_message.txt
timeout = 50
prompt
# Override dangerous defaults that rewrite the partition table:
compact
lba32
change-rules
reset
vga=792
# VESA framebuffer console @ 1024x768x64k
#vga = 791
# Normal VGA console
# vga = normal
# End LILO global section
# Linux bootable partition config begins
image = /boot/vmlinuz
root = /dev/sda1
label = Slack_2.6.17.11
read-only
image = /boot/vmlinuz_2.6.17.8
root = /dev/sda1
label = Slack_2.6.17.8
read-only
image = /mnt/suse10.1/boot/vmlinuz
root = /dev/sda3
label = SuSE10.1
initrd = /mnt/suse10.1/boot/initrd
append = " splash=silent resume=/dev/sda5 showopts desktop"
read-only
image = /boot/memtest.bin
root = /dev/sda1
label = memtest
read-only
# Linux bootable partition config ends
When booting /mnt/hda6 isn't mounted so it shouldn't be possible to give that as a path.
In fact, nothing should be mounted, not even /dev/hda2
When booting, lilo asks for an image to load and mounts the corresponding root partition at the root directory ( / ) and then checks and mounts the needed filesystems for that OS found in a fstab file (likely /etc/fstab). So when you boot from hda6, it is not at /mnt/hda6, but it is the root ( / ) partition of the system installed there.
Basically, for lilo, it is only important to give the proper image and the corresponding root partition (check again my lilo.conf), everything else should fall in place by itself.
I hope this had helped you more than do worse.
So, it is already working fine right?
When booting, lilo asks for an image to load and mounts the corresponding root partition at the root directory ( / ) and then checks and mounts the needed filesystems for that OS found in a fstab file (likely /etc/fstab). So when you boot from hda6, it is not at /mnt/hda6, but it is the root ( / ) partition of the system installed there.
Exactly, then I should give relative paths to it, like /boot/vmlinuz
Quote:
Originally Posted by raska
I hope this had helped you more than do worse.
So, it is already working fine right?
Yes it works, but I want to undestand why and how.
....Exactly, then I should give relative paths to it, like /boot/vmlinuz...
No because the given configuration on /etc/lilo.conf is only used then you install the loader, i.e. when you type lilo -v.
That's why in my former post I started with "When booting...".
When booting, right after the BIOS seeks for something to boot in a disk's MBR, the bootloader is started and uses the installed information on the MBR or the root partition, wherever you said to install itself, to load the given image(s) (which is not in the MBR but near after it) or an arbitrary partition (i.e. when booting something else than linux). The bootloader doesn't care for your configuration on /etc/lilo.conf (it can see it anyway), only when you install it -- That's why you need to reinstall lilo when you change kernel version, because the new image in /boot/vmlinuz is different than the one installed for the bootloader, if you change kernel without reinstalling lilo and reboot you shall get the old-already-there kernel.
No because the given configuration on /etc/lilo.conf is only used then you install the loader, i.e. when you type lilo -v.
That's why in my former post I started with "When booting...".
When booting, right after the BIOS seeks for something to boot in a disk's MBR, the bootloader is started and uses the installed information on the MBR or the root partition, wherever you said to install itself, to load the given image(s) (which is not in the MBR but near after it) or an arbitrary partition (i.e. when booting something else than linux). The bootloader doesn't care for your configuration on /etc/lilo.conf (it can see it anyway), only when you install it -- That's why you need to reinstall lilo when you change kernel version, because the new image in /boot/vmlinuz is different than the one installed for the bootloader, if you change kernel without reinstalling lilo and reboot you shall get the old-already-there kernel.
I'm not sure if lilocopies it all to the MBR or just notes where the kernel image(s) is lying on the disk. It depends with 32-bit LBA BIOS compatibility and such things.
OK, there we have it, it takes note of where it lies on the disk.
One problem with that though.
What if I move the kernel image to a temporary dir, and then move it back. Then it could be on another place on the drive and then it's easy to forget to run lilo again...
OK, it's not a prob, but rather a design oddity...
mmmmm..... I hadn't tried to move the kernel image, I don't know if that would screw up the system... well I'm aware that when being root there are innumerable ways to easily screw up a linux system.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.