Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Slackware 14 and 13.1 dual boot

109 views
Skip to first unread message

Chuck Coffee

unread,
Jan 20, 2013, 2:48:40 PM1/20/13
to
Need to bother the newsgroup again with another question..........

I have Slackware 13.1 on dev/sda10 and I have loaded Slackware 14.0 (64)
on /dev/sda1 (was old XP Partition).

The Lilo config file reads as follows (only the important parts)
============
# LILO configuration file
# generated by 'liloconfig'
#
# Start LILO global section
# Append any additional kernel parameters:
append=" vt.default_utf8=0"
boot = /dev/sda
lba32 #Allows going beyond 1024 limit

#
#
#

# End LILO global section
# Slack-13.1 bootable partition config begins
image = /boot/vmlinuz
root = /dev/sda10
label = Slack-13.1
read-only
# Slack-13.1 bootable partition config ends
# Slack-14 bootable partition config begins
image = /boot/vmlinuz
root = /dev/sda1
label = Slack-14
read-only
# Slack-14 bootable partition config ends
==============
The problem is that when I run LILO each time (depending upon which
version I run LILO from) I get the following output using lilo -v
(below is from Slack 13.1)
===
LILO version 22.8, Copyright (C) 1992-1998 Werner Almesberger
Development beyond version 21 Copyright (C) 1999-2006 John Coffman
Released 19-Feb-2007 and compiled at 14:44:48 on Feb 16 2010

Reading boot sector from /dev/sda
Using BITMAP secondary loader
Calling map_insert_data
Mapping bitmap file /boot/slack.bmp
Calling map_insert_file

Boot image: /boot/vmlinuz -> vmlinuz-huge-smp-2.6.33.4-smp
Added Slack-13.1 *

Boot image: /boot/vmlinuz -> vmlinuz-huge-smp-2.6.33.4-smp
Added Slack-14

Writing boot sector.
/boot/boot.0800 exists - no boot sector backup copy made.
===

If I load and run LILO from Slackware 14.0 then it get the vmlinz for
3.2.29 in both Slack 13.1 and Slack 14 and only 14 will boot.

Right now I can not get rid of 13.1 since I need to move a large amount
of data and programs.

Thanks for the bandwidth

--
Chuckels

Auric__

unread,
Jan 20, 2013, 3:11:59 PM1/20/13
to
Chuck Coffee wrote:

> Need to bother the newsgroup again with another question..........
>
> I have Slackware 13.1 on dev/sda10 and I have loaded Slackware 14.0 (64)
> on /dev/sda1 (was old XP Partition).
>
> The Lilo config file reads as follows (only the important parts)
[snip]
> # Slack-13.1 bootable partition config begins
> image = /boot/vmlinuz

Under 14, mount the 13.1 partition somewhere (if you don't normally have it
mounted, just put it somewhere temporary -- let's call it /mnt/slack13).
Change the above line to this:

image = /mnt/slack13/boot/vmlinuz

Save, then rerun lilo.

> # Slack-14 bootable partition config begins
> image = /boot/vmlinuz

Alternately, do the same as above, but do it from within 13.1, mounting 14
and then changing the above line like so:

image = /mnt/slack14/boot/vmlinuz

> The problem is that when I run LILO each time (depending upon which
> version I run LILO from) I get the following output using lilo -v
> (below is from Slack 13.1)
[snip]
> If I load and run LILO from Slackware 14.0 then it get the vmlinz for
> 3.2.29 in both Slack 13.1 and Slack 14 and only 14 will boot.

I used to have a dedicated /boot partition, back when I used multiple
distros. hda was plain ext2, and I just kept each system's kernel, etc. in
its own subdirectory. That way I didn't have to bother with remembering where
each system's /boot was, and I could use the same lilo.conf on all distros.

> Right now I can not get rid of 13.1 since I need to move a large amount
> of data and programs.

I don't see why not. Boot 14, mount the 13.1 partition as above, copy what
you need over, umount 13.1 and erase it... if that's what you want.

--
The owner bought a 'laser hair removal system' roughly two or three
years ago. If you want any laser hairs removed, you know where to go.

Grant

unread,
Jan 20, 2013, 5:10:17 PM1/20/13
to
The problem is how lilo works, it references the mounted filesystem at
lilo run time, so your above lines tell lilo to use the very same
/boot/vmlinuz each time.

I use lilo's chain loader to run two entirely separate slackware installs,
this is not the only method, but it avoids some issues and also works for
booting windows.

Only one of the slack installs into the MBR, the other is installed to
boot from its root partition.

I'm installing slack-14 to an x64 box now, can post the working lilo.conf
files if you'd like an example.

Grant.

Grant

unread,
Jan 20, 2013, 7:08:42 PM1/20/13
to
On Mon, 21 Jan 2013 09:10:17 +1100, Grant <o...@grrr.id.au> wrote:

...
Replying to self to add info...

>I use lilo's chain loader to run two entirely separate slackware installs,
>this is not the only method, but it avoids some issues and also works for
>booting windows.
>
>Only one of the slack installs into the MBR, the other is installed to
>boot from its root partition.

Going through the dual boot exercise, I remember why I prefer the
independent OS option.

I always compile recent custom kernel for slackware, so it is easier
to keep everything separate. If you are happy with distro kernel, try
mount the other root partition on /mnt prior to running lilo, it works!

Slack64-14.0 on /dev/sda1 controls the MBR:
root@pooh86:~# mount /dev/sda1 /mnt/
root@pooh86:~# cat /mnt/etc/lilo.conf
# /etc/lilo.conf for slackware64-14.0 on pooh -- 2012-09-29
#
ignore-table
append=" vt.default_utf8=1 video=1024x768"
#
boot = /dev/sda
root = /dev/sda1
read-only
compact
lba32
prompt
timeout = 30

default = 3.7.3a

image = /boot/bzImage-3.7.3a
label = 3.7.3a

image = /boot/bzImage-3.6.11a
label = 3.6.11a

image = /boot/vmlinuz
label = Slack64-14.0

other = /dev/sda2
table = /dev/sda
label = Slack-14.0

# alternate method, mount /dev/sda2 -> /mnt prior to running lilo
#image = /mnt/boot/vmlinuz
# root = /dev/sda2
# label = Slack-14.0

# end

Slack-14.0 on /dev/sda2 is chain loaded:
grant@pooh86:~$ cat /etc/lilo.conf
# /etc/lilo.conf for slackware-14.0 on pooh86 -- 2012-01-21
#
ignore-table
append=" vt.default_utf8=1 video=1024x768"
#
boot = /dev/sda2
root = /dev/sda2
read-only
compact
lba32
prompt
timeout = 30

default = 3.7.3a

image = /boot/bzImage-3.7.3a
label = 3.7.3a

image = /boot/vmlinuz
label = Slack-14.0

# end

Grant.

Chuck Coffee

unread,
Jan 21, 2013, 5:22:26 PM1/21/13
to
On Sun, 20 Jan 2013 20:11:59 +0000, Auric__ wrote:

> Chuck Coffee wrote:
>
>> Need to bother the newsgroup again with another question..........
>>
>> I have Slackware 13.1 on dev/sda10 and I have loaded Slackware 14.0
>> (64) on /dev/sda1 (was old XP Partition).
>>
>> The Lilo config file reads as follows (only the important parts)
[snip]



>> # Slack-14 bootable partition config begins image = /boot/vmlinuz
>
> Alternately, do the same as above, but do it from within 13.1, mounting
> 14 and then changing the above line like so:
>
> image = /mnt/slack14/boot/vmlinuz
[snip]
[snip]
>
> I used to have a dedicated /boot partition, back when I used multiple
> distros. hda was plain ext2, and I just kept each system's kernel, etc.
> in its own subdirectory. That way I didn't have to bother with
> remembering where each system's /boot was, and I could use the same
> lilo.conf on all distros.

> I don't see why not. Boot 14, mount the 13.1 partition as above, copy
> what you need over, umount 13.1 and erase it... if that's what you want.

Thanks Auric__ but I am still having a problem trying this method from
Slack 13.1 -- I added the "image = /mnt/Slack-14/boot/vmlinuz" and in the
lilo.conf file I added "mount -t ext3 /dev/sda1 /mnt/Slack-14" but then
lilo give me an error message about unrecognized token "mount". Not
sure how I mount the partition for Slack-14 right now. I did add the
'/mnt/Slack-14' under the Slack 13.1 /mnt directory.

Since I seem to be getting dense between ears, where am I going wrong here?
Figured I would need to mount the Slack-14 partition somewhere so Lilo
know where the image is located.

Thank again to you and Grant for the replies.....

Michael Black

unread,
Jan 21, 2013, 5:58:28 PM1/21/13
to
LILO the loader knows where on the disk the kernel is, it has the track
and sector for it. It doesnt' know about pathways and partitions.

It gets that information when lilo is run when you are running linux (yes
it's confusing, two things with the same name, since that's basically an
installer, while the lilo installed on the hard drive is the loader.

In order to get that informatin, lilo, the installer, has to be able to
see the kernel you want to boot when lilo the installer is run. It can't
interpret things like /dev/sda2/boot/vmlinuz. It has to be able to see
the kernel and then turn that path into the track and sector for the
"hardcoding" into the lilo loader.

So the secondary kernel has to be mounted somewhere before you run lilo
the installer, and you have to tell lilo the installer where that
secondary kernel is by editing lilo.conf

It doesn't matter where you mount the secondary kernel (or rather where
you mount the partition where the secondary kernel resides), it's not for
any use except for lilo the installer to find where it is on the hard
disk.

So you can mount it in /mnt or really anywhwere, so long as something else
isn't already using that mount point. So if you aren't using /mnt/hd,
then mount it there.

Then you edit lilo.conf to point to /mnt/hd/boot/vmlinuz and then run
lilo the installer. It should be fine. The path in lilo.conf is only
there for the moment lilo the installer is run, once everything is fine
you can and likely should umount the partition mounted at /mnt/hd

I'm not sure I've explained it, but here's another way of looking at it.
For a while, I put /boot in a separate partition, and actually put
multiple kernels there (just making sure they had distinctive names). The
only time I needed to mount that /boot partition was when I was running
lilo the loader, since it had to see the kernel and figure out it's track
and sector on the hard drive. The rest of the time, I never mounted
/boot. When I booted linux, lilo the loader knew where the kernel was, so
the partition it was in never had to be mounted.

Another way of looking at it is until you mount the partition with the
sceondary kernel, lilo will not be able to see it.

Michael

Grant

unread,
Jan 21, 2013, 6:07:40 PM1/21/13
to
You run the mount command prior to running lilo ;)

Grant.

Chuck Coffee

unread,
Jan 21, 2013, 6:17:17 PM1/21/13
to

OK, think I finally got this somewhat..........

I just made lilo.conf read image = /mnt/Slack-14/boot/vmlinuz and
deleted the "mount" I had been using.

However for some reason I now get the following error when I run
Lilo -v
----------------------------
LILO version 22.8, Copyright (C) 1992-1998 Werner Almesberger
Development beyond version 21 Copyright (C) 1999-2006 John Coffman
Released 19-Feb-2007 and compiled at 14:44:48 on Feb 16 2010

Reading boot sector from /dev/sda
Using BITMAP secondary loader
Calling map_insert_data
Mapping bitmap file /boot/slack.bmp
Calling map_insert_file

Boot image: /boot/vmlinuz -> vmlinuz-huge-smp-2.6.33.4-smp
Added Slack-13.1 *

Boot image: /mnt/Slack-14/boot/vmlinuz -> vmlinuz-huge-3.2.29
Fatal: Setup length exceeds 31 maximum; kernel setup will overwrite boot
loader
-----------------------

This is after mounting the /mnt/Slack-14 directory before running "lilo -v"

Chuck Coffee

unread,
Jan 22, 2013, 7:14:40 AM1/22/13
to
Well I followed Auric's advise and made lilo load Slack 14(64) and in
the lilo.conf file I used the "image = /mnt/S13_1/boot/vmlinuz" and
mounted /mnt/S13_1 for the Slackware 13.1 FS.

It now runs fine when booting up with either system.

For some reason, did not work that way when using the Slack 14 mount
in the image (had Lilo errors).

Thanks again to all for the assistance and the bandwidth........

--
Chuckels

mikewd

unread,
Jan 22, 2013, 1:21:46 PM1/22/13
to
Just to add another data point. I installed Slack64 14 in parallel with
Slack64 13.37. I found that the lilo in Slack64 13.37 could not load
Slack64 14. I didn't try to trouble shoot that. Rather with Slack 14
running, its version of lilo had no problem loading both versions.

Mike
0 new messages