LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Linux From Scratch
User Name
Password
Linux From Scratch This Forum is for the discussion of LFS.
LFS is a project that provides you with the steps necessary to build your own custom Linux system.

Notices


Reply
  Search this Thread
Old 12-22-2013, 10:34 AM   #1
stoa
Member
 
Registered: Dec 2013
Posts: 54

Rep: Reputation: Disabled
Problem Booting with LILO - Inconsistent partition table


Hi all:

I've recently completed installing LFS v. 7.4 on a Slackware host. I decided to not have LFS's GRUB do the booting but have the current LILO do the honors. Problem is, after configuring lilo.conf for the second OS, an error is thrown:

Code:
root@slack:~# lilo
Warning: LBA32 addressing assumed
Added Slackware  +  *
Warning: Device 0x0800: Inconsistent partition table, 3rd entry
  CHS address in PT:  61:32:36  -->  LBA (45149)
  LBA address in PT:  50333696  -->  CHS (68202:206:3)
Fatal: Either FIX-TABLE or IGNORE-TABLE must be specified
If not sure, first try IGNORE-TABLE (-P ignore)
I tried the -P ignore option without success. In addition, the LILO manual does not directly address this issue. Also, while this error seems fairly common on the interwebz, the solutions are not; usually "use GRUB" or something similar.

Here's my block structure:

Code:
root@slack:~# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0  74.5G  0 disk 
|-sda1   8:1    0    20G  0 part /
|-sda2   8:2    0     4G  0 part [SWAP]
`-sda3   8:3    0    15G  0 part 
sr0     11:0    1  1024M  0 rom
Not sure why there are verticle lines before /sda1 and /sda2 and a tick before /sda3 (/sda3 is where LFS is installed.) Possibly has to do with mounting, which shouldn't affect LILO at this point, should it?

Here's the relevant parts of lilo.conf:

Code:
# Linux (Slackware) bootable partition config begins
image = /boot/vmlinuz
  root = /dev/sda1
  initrd = /boot/initrd.gz  # added this line when changing from huge to generic
  label = Slackware
  read-only
# Linux (Slackware) bootable partition config ends

# LFS bootable partition begins

other = /dev/sda3
  table = /dev/sda
  label = LFS

#LFS bootable partition config ends.
Any help is greatly appreciated.
 
Old 12-22-2013, 11:01 AM   #2
ReaperX7
LQ Guru
 
Registered: Jul 2011
Location: California
Distribution: Slackware64-15.0 Multilib
Posts: 6,558
Blog Entries: 15

Rep: Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097
Are you using Lilo or eLilo? At truth Grub2 would be easier to help manage your booting though.

Last edited by ReaperX7; 12-22-2013 at 11:05 AM.
 
Old 12-22-2013, 11:20 AM   #3
stoa
Member
 
Registered: Dec 2013
Posts: 54

Original Poster
Rep: Reputation: Disabled
Thanks, ReaperX7. I'm using regular LILO installed during a regular install of Slackware - no EFI here.

I'm also not partial to LILO, but I have had problems in the past with GRUB2 properly "finding" other installed operating systems - especially in the configuration posted above, i.e., "original" OS on sda1, swap on sda2, then new OS on sda3. I just don't want to get locked out of my Slackware.
 
Old 12-22-2013, 03:43 PM   #4
ReaperX7
LQ Guru
 
Registered: Jul 2011
Location: California
Distribution: Slackware64-15.0 Multilib
Posts: 6,558
Blog Entries: 15

Rep: Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097
Grub2 requires os-prober to be installed to detect other systems. Did you install 14.0 or earlier or 14.1? 14.0 has packages for Grub2 on Slackbuilds.org that may be of assistance.
 
Old 12-22-2013, 04:16 PM   #5
stoa
Member
 
Registered: Dec 2013
Posts: 54

Original Poster
Rep: Reputation: Disabled
I'm using Slackware 14.1 - I installed it just for the purpose of building LFS, as I was having problems with using Arch and LMDE as hosts. The Slack worked fine for that purpose, but now I've found I really like the Slack (in fact, its all I use at this point), so I'd prefer not to lose it or have to re-install.

If I were to use GRUB, I would probably run it from the LFS partition, as it's already installed, and osprober is in /etc/grub.d. I suppose I may have to take the chance, but I'd really rather figure out what's wrong with LILO, if for no other reason than to solve the riddle.
 
Old 12-23-2013, 02:22 AM   #6
Lennie
Member
 
Registered: Aug 2012
Location: Sweden
Distribution: LFS, built with pacman
Posts: 374

Rep: Reputation: 85
I don't think lilo can boot from another partition. Grub is better for multiboot.
I think it's easier to edit /boot/grub/grub.cfg manually. It's really not that difficult, and you get better control. You can see an example here . (Don't worry about the stupid warning. The only reason it's not recommended to change directly in /boot/grub/grub.cfg in some distros is if they run 'update-grub' or similar automatically at updates. Not relevant in LFS or Slackware.)
 
Old 12-23-2013, 10:34 AM   #7
stoa
Member
 
Registered: Dec 2013
Posts: 54

Original Poster
Rep: Reputation: Disabled
Thanks, Lennie - I'm pretty much resigned to going with GRUB2. The problem with that, though, is I don't see where os-prober was installed. Without that, the LFS GRUB2 will not see my Slackware partition and I won't be able to boot it. (There is an os-prober script in /etc/grub.d, but that is apparently not enough. I just solved that issue on another box with an OS on /dev/sda1, swap on /dev/sda2, and Gentoo freshly installed on /dev/sda3 - the same set-up I have on the LFS box. Gentoo's GRUB2 did not see the OS on /sda1; I had to install os-prober on the /sda3 partition and reconfigure GRUB2, which then recognized the OS on /sda1. Apparently Gentoo does not ship with os-prober, even though the os-prober script is in /etc/grub.d.)

I haven't had time to check yet, but is anyone else having problems dual-booting from the GRUB2 installed on MBR from the LFS distro (i.e., following the LFS instructions for GRUB2 explicitly)?
 
Old 12-23-2013, 12:29 PM   #8
Lennie
Member
 
Registered: Aug 2012
Location: Sweden
Distribution: LFS, built with pacman
Posts: 374

Rep: Reputation: 85
Just add Slackware manually to /boot/grub/grub.cfg. You don't need os-prober for that.
 
Old 12-23-2013, 02:23 PM   #9
/dev/random
Member
 
Registered: Aug 2012
Location: Ontario, Canada
Distribution: Slackware 14.2, LFS-current, NetBSD 6.1.3, OpenIndiana
Posts: 319

Rep: Reputation: 112Reputation: 112
Quote:
Originally Posted by stoa View Post
Hi all:

I've recently completed installing LFS v. 7.4 on a Slackware host. I decided to not have LFS's GRUB do the booting but have the current LILO do the honors. Problem is, after configuring lilo.conf for the second OS, an error is thrown:

Code:
root@slack:~# lilo
Warning: LBA32 addressing assumed
Added Slackware  +  *
Warning: Device 0x0800: Inconsistent partition table, 3rd entry
  CHS address in PT:  61:32:36  -->  LBA (45149)
  LBA address in PT:  50333696  -->  CHS (68202:206:3)
Fatal: Either FIX-TABLE or IGNORE-TABLE must be specified
If not sure, first try IGNORE-TABLE (-P ignore)
I tried the -P ignore option without success. In addition, the LILO manual does not directly address this issue. Also, while this error seems fairly common on the interwebz, the solutions are not; usually "use GRUB" or something similar.

Here's my block structure:

Code:
root@slack:~# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0  74.5G  0 disk 
|-sda1   8:1    0    20G  0 part /
|-sda2   8:2    0     4G  0 part [SWAP]
`-sda3   8:3    0    15G  0 part 
sr0     11:0    1  1024M  0 rom
Not sure why there are verticle lines before /sda1 and /sda2 and a tick before /sda3 (/sda3 is where LFS is installed.) Possibly has to do with mounting, which shouldn't affect LILO at this point, should it?

Here's the relevant parts of lilo.conf:

Code:
# Linux (Slackware) bootable partition config begins
image = /boot/vmlinuz
  root = /dev/sda1
  initrd = /boot/initrd.gz  # added this line when changing from huge to generic
  label = Slackware
  read-only
# Linux (Slackware) bootable partition config ends

# LFS bootable partition begins

other = /dev/sda3
  table = /dev/sda
  label = LFS

#LFS bootable partition config ends.
Any help is greatly appreciated.
If they use the same physical hard drive, then this do this?
image = /boot/vmlinuz
root = /dev/sda1
initrd = /boot/initrd.gz # added this line when changing from huge to generic
label = Slackware
read-only

image = /boot/<LFS Kernel>
root = /dev/sda3
initrd = /boot/initrd.gz # added this line when changing from huge to generic
label = LFS
read-only
 
Old 12-23-2013, 05:40 PM   #10
stoa
Member
 
Registered: Dec 2013
Posts: 54

Original Poster
Rep: Reputation: Disabled
Lennie - yes, that's what I'll try before messing with os-prober. Of course, given my luck (skills) so far in editing lilo.conf...

/dev/random, nice try, but the loader would get confused, as both kernels are symlinked vmlinuz, and to two different kernels, albeit on two different partitions. I'm sure that was what you were getting at by specifically naming the "second" kernel, but the format above is directly out of the LILO manual, and I'll assume they know more than me. At any rate, the problem seems to be some issue with the way the partitions are aligned or how the table is read.

Code:
Disk /dev/sda: 80.0 GB, 80000000000 bytes
255 heads, 63 sectors/track, 9726 cylinders, total 156250000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x667ebfce

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048    41945087    20971520   83  Linux
/dev/sda2        41945088    50333695     4194304   82  Linux swap
/dev/sda3   *    50333696    81790975    15728640   83  Linux

Command (m for help): u
Changing display/entry units to cylinders (DEPRECATED!)

Command (m for help): p

Disk /dev/sda: 80.0 GB, 80000000000 bytes
255 heads, 63 sectors/track, 9726 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x667ebfce

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        2611    20971520   83  Linux
/dev/sda2            2611        3134     4194304   82  Linux swap
/dev/sda3   *        3134        5092    15728640   83  Linux

Command (m for help): u
Changing display/entry units to sectors

Command (m for help): p

Disk /dev/sda: 80.0 GB, 80000000000 bytes
255 heads, 63 sectors/track, 9726 cylinders, total 156250000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x667ebfce

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048    41945087    20971520   83  Linux
/dev/sda2        41945088    50333695     4194304   82  Linux swap
/dev/sda3   *    50333696    81790975    15728640   83  Linux
Notice when the partition tables are measured by cylinders, the last cylinder of /dev/sda1 overlaps with the first cylinder of /dev/sda2. I don't think this is the problem, but I don't know what else is meant by "inconsistent partition table."

Thanks to both for your help and ideas.
 
Old 12-23-2013, 05:52 PM   #11
/dev/random
Member
 
Registered: Aug 2012
Location: Ontario, Canada
Distribution: Slackware 14.2, LFS-current, NetBSD 6.1.3, OpenIndiana
Posts: 319

Rep: Reputation: 112Reputation: 112
Hey stoa,
That was the idea, here is what I had in mind, copy your LFS kernel to Slackware's boot directory (don't move it) but rename it so something like this lfs-vers-linux so now when you do what I told you to do in the previous post, it will load your LFS kernel from Slackware's boot partition, but use /sda3 as the root partition.

This works because that's how I have mine setup, the only issue to this is to update the bootloader you have to reboot into Slackware move over the new kernel and update it from Slackware.

EDIT:
I notice your lilo is using the older disk geometry, try turning it off. lba32 option will tell the BIOS to stop using the older MFM methiod and use Linear Block Addressing.

Also what size are your partitions? If they are +2TiB in size you are going to need to ditch the mbr and move you root as GPT doesn't have those limitations.

Last edited by /dev/random; 12-23-2013 at 06:21 PM. Reason: Grammar and Adding content
 
Old 12-23-2013, 09:46 PM   #12
stoa
Member
 
Registered: Dec 2013
Posts: 54

Original Poster
Rep: Reputation: Disabled
/dev/random:

I'd like to hear more about LBA - how exactly does one turn it on? And where are you finding the MFM info? Maybe its too late in the day, but I don't see how you determined that.

BTW - I think the copying of the kernel method is way beyond my pay grade (read: skills.)

Thanks.
 
Old 12-24-2013, 12:23 AM   #13
/dev/random
Member
 
Registered: Aug 2012
Location: Ontario, Canada
Distribution: Slackware 14.2, LFS-current, NetBSD 6.1.3, OpenIndiana
Posts: 319

Rep: Reputation: 112Reputation: 112
Quote:
Originally Posted by stoa View Post
/dev/random:

I'd like to hear more about LBA - how exactly does one turn it on? And where are you finding the MFM info? Maybe its too late in the day, but I don't see how you determined that.

BTW - I think the copying of the kernel method is way beyond my pay grade (read: skills.)

Thanks.
I noticed this from the above: Warning: LBA32 addressing assumed

All recent BIOS's use LBA, however LILO sometimes unless you explicitly state to use lba32 can get confused about the geometry of the drive, by putting lba32 in the header of lilo.conf you are telling LILO to stop carring about cylinders and only look at the block level, by doing this you solve a bunch of problems, the biggest one is the whole 1024 above or below thing is thrown out the window because LILO no longer cares about cylinders or where they are mapped.

If LILO makes the mistake of thinking you want MFM addressing then any boot partition must be in the first 1024 cylinder range, which causes troubles specifically when your adding partitions to an existing partition table that are expected to be boot able.

If your hardware is not +10 years old assume it is using LBA as I have not seen a new motherboard or any add-on cards that still use the MFM method (cylinders, heads, sectors).
 
Old 12-24-2013, 05:43 AM   #14
stoa
Member
 
Registered: Dec 2013
Posts: 54

Original Poster
Rep: Reputation: Disabled
/dev/random:

Great! That's what I was loking for. Unfortunately, both enabling and unenabling lba32 in lilo.conf did not alter the output (error message.) I thought that was going to work. Somehow I need to decipher "CHS address in PT: 61:32:36 --> LBA (45149)
LBA address in PT: 50333696 --> CHS (68202:206:3)"; a gogle search turned up one result - mine.

So, at this point, I installed GRUB in Slackware (for some reason, it was already there; in true Slack fashion, the installation guide doesn't even mention GRUB, and I only found it was on the system by mistake) on my Slackware partition and was able to use it to boot LFS.

Thanks all for your help!
 
Old 12-24-2013, 08:00 PM   #15
ReaperX7
LQ Guru
 
Registered: Jul 2011
Location: California
Distribution: Slackware64-15.0 Multilib
Posts: 6,558
Blog Entries: 15

Rep: Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097
ELilo was included as the default as to why it's documented. Grub2 isn't documented but setting it up is really painless. If you need help with the /etc/default/grub file, feel free to ask. This should be the only file you edit for Grub2. I have a few LFS topics on it over in the LFS section to getting the most out of Grub2 including theme support, fonts, etc.
 
  


Reply



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
Lilo inconsistent partition table on current with ssd zux Slackware 7 03-30-2011 12:32 PM
[SOLVED] Can't install lilo --> Inconsistent partition table hedron Slackware 10 11-13-2010 10:11 PM
Inconsistent partition table w1k0 Slackware 12 01-07-2009 06:44 PM
lilo: Inconsistent partition table picobyte Linux - Hardware 3 10-26-2005 06:45 PM
Booting from an extended partition - need a partition table editor Ouch_Taser Linux - General 2 02-10-2004 06:22 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Linux From Scratch

All times are GMT -5. The time now is 07:14 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