LinuxQuestions.org
Support LQ: Use code LQ3 and save $3 on Domain Registration
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 09-08-2012, 04:16 PM   #1
luvr
LQ Newbie
 
Registered: May 2005
Posts: 24

Rep: Reputation: 0
LILO confusion when both 64-Bit and 32-Bit Slackware are installed


I’m using an AMD64 computer, and I decided to try and install the 32-Bit and the 64-Bit versions of Slackware 13.37 next to each other (each on their own partition, of course). I installed 64-Bit first, then 32-Bit, and set up LILO on the MBR.

Result: 32-Bit runs fine, but 64-Bit will not boot. Instead, it hangs on the following on-screen messages:
Code:
Freeing unused kernel memory: 612k freed
Write protecting the kernel text: 10108k
Write protecting the kernel read-only data: 2540k
request_module: runaway loop modprobe binfmt-464c
request_module: runaway loop modprobe binfmt-464c
request_module: runaway loop modprobe binfmt-464c
request_module: runaway loop modprobe binfmt-464c
request_module: runaway loop modprobe binfmt-464c
Then, some time later, it displays:
Code:
INFO: taskswapper:1 blocked for more than 120 seconds
followed by a call trace, and a number of similar messages about blocked tasks, each time followed by a call trace.

I also found a work-around: If I set up LILO on the Root Blocks of my system partitions, and make the MBR chainload to them, then both installs work fine. Here is the list of boot options in my MBR LILO configuration:
Code:
image = /boot/vmlinuz
  root = /dev/sda2
  label = Slackware-32
  read-only
image = /boot/vmlinuz
  root = /dev/sda3
  label = Slackware-64
  read-only
other = /dev/sda2
  label = Chainload-32
other = /dev/sda3
  label = Chainload-64
The “Slackware-64” entry is the one that fails to boot, while the other three work fine.

After a little experimenting, I discovered that the “Slackware-64” entry appears to load the 32-Bit kernel (from the /dev/sda2 partition) instead of the 64-Bit one (which sits on /dev/sda3). It looks like it locates the “/boot/vmlinuz” file while the “/sbin/lilo” is being run to install the boot loader (i.e., when my root filesystem is /dev/sda2).

I could actually confirm my suspicion after I reinstalled the MBR LILO from the 64-Bit system instead; after that, the 32-Bit system could successfully boot, but it turned out to run the 64-Bit kernel, while its root filesystem was the 32-Bit Slackware system partition.

I’m not sure if this behaviour should be considered a bug; it may simply work “as designed,” given that the location of the kernel is determined when the “/sbin/lilo” command is run. I do know, however, that it is something to be aware of!
 
Old 09-08-2012, 04:23 PM   #2
kikinovak
Senior Member
 
Registered: Jun 2011
Location: Montpezat (South France)
Distribution: Slackware, Slackware64
Posts: 1,489

Rep: Reputation: 662Reputation: 662Reputation: 662Reputation: 662Reputation: 662Reputation: 662
I have a double-boot with Slackware-13.37 and Slackware64-13.37 here, using LiLO. It's installed on the MBR, with sda1 as common swap for both systems, sda2 and sda5 the respective /boot partitions and sda3 and sda6 the respective root partitions of both systems.

Here's my /etc/lilo.conf:

Code:
# Start LILO global section
# Append any additional kernel parameters:
append="nomodeset quiet ipv6.disable=1 vt.default_utf8=1"
boot = /dev/sda
compact
lba32
...
prompt
timeout = 100
change-rules
  reset
vga = 788
image = /boot/vmlinuz-generic-smp-2.6.37.6-smp
  initrd = /boot/initrd.gz
  root = /dev/sda3
  label = 13.37-32bit
  read-only
image = /mnt/sda5/vmlinuz-generic-2.6.37.6
  initrd = /mnt/sda5/initrd.gz
  root = /dev/sda6
  label = 13.37-64bit
  read-only
Don't forget to mount the partition of your other system(s) before issuing 'lilo'.

Cheers.
 
2 members found this post helpful.
Old 09-08-2012, 05:09 PM   #3
T3slider
Senior Member
 
Registered: Jul 2007
Distribution: Slackware64-14.0
Posts: 2,239

Rep: Reputation: 602Reputation: 602Reputation: 602Reputation: 602Reputation: 602Reputation: 602
GRUB uses the run-time location of the kernel and so you would specify /boot/vmlinuz for each installation. LILO, however, directly accesses inode locations and therefore you must specify the current location of the kernel on the running system. The other boot partition (or root (/) partition if /boot is not on its own partition) needs to be mounted when lilo is run but does not need to be mounted during everyday use.
 
1 members found this post helpful.
Old 09-09-2012, 04:55 AM   #4
luvr
LQ Newbie
 
Registered: May 2005
Posts: 24

Original Poster
Rep: Reputation: 0
Quote:
Originally Posted by kikinovak View Post
Code:
.
.
.
image = /mnt/sda5/vmlinuz-generic-2.6.37.6
.
.
.
Don't forget to mount the partition of your other system(s) before issuing 'lilo'.
Thanks a lot for this! These two bits of info are exactly what I was missing!
 
Old 09-09-2012, 09:43 AM   #5
kikinovak
Senior Member
 
Registered: Jun 2011
Location: Montpezat (South France)
Distribution: Slackware, Slackware64
Posts: 1,489

Rep: Reputation: 662Reputation: 662Reputation: 662Reputation: 662Reputation: 662Reputation: 662
Quote:
Originally Posted by luvr View Post
Thanks a lot for this! These two bits of info are exactly what I was missing!
Glad I could be of help. Mark this thread as "Solved" eventually.
 
Old 09-10-2012, 11:27 AM   #6
yenn
Member
 
Registered: Jan 2011
Location: Czech Republic
Distribution: Slackware, Gentoo
Posts: 152

Rep: Reputation: 21
I usually have shared /boot for multiple distributions and use symlinks, like vmlinuz-slackware, vmlinuz-gentoo, vmlinuz-salix, etc. Only drawback is that I have to make sure symlinks points to right kernel after any kernel upgrade.

Kikinovak's solution seems better for these situations. Thanks for sharing!
 
  


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] What if 32 bit software is installed on 64 bit os and vice versa? Piyush M Linux - Newbie 2 07-03-2012 11:29 AM
How do i tell if 32 bit or 64 bit ubuntu is installed on a machine? lel4866 Linux - Software 15 05-08-2012 12:18 AM
Have I installed 32 or 64 bit Slackware silverbird Slackware 2 03-25-2010 09:46 PM
32 bit packages installed in 64 bit system mewto Linux - Newbie 5 03-09-2010 06:42 PM


All times are GMT -5. The time now is 02:28 PM.

Main Menu
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
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration