[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: lilo config is busted, need help fixing it



On Fri, 24 Sep 2010 10:10:53 -0400 (EDT), briand@aracnet.com wrote:
> 
> I deleted one of the older images and when it finished I got this mess:
> 
> Could not find postrm hook script [lilo-update].
> Looked in: '/bin', '/sbin', '/usr/bin', '/usr/sbin'
> Examining /etc/kernel/postrm.d .
> Purging configuration files for linux-image-2.6.18-6-amd64 ...
> Could not find postrm hook script [lilo-update].
> Looked in: '/bin', '/sbin', '/usr/bin', '/usr/sbin'
> Examining /etc/kernel/postrm.d .
> 
> clearly I did not follow Mr. Powells guide correctly.
> 
> Fun project for the weekend.
> 

Hello, Brian.  I have been following this thread, but I didn't want
to respond until I tried it myself.  There is an important difference
between specifying

   root=/dev/sda2

at the boot prompt versus supplying it in /etc/lilo.conf.  When you
supply it on the command line at a boot prompt, I'm fairly sure that
it passes that literal string to the kernel during boot.  But when
you specify it in /etc/lilo.conf, lilo's map installer translates it
into a four-digit hexadecimal number consisting of a two-digit major
number and a two-digit minor number.  It is that number which gets
passed to the kernel at boot time.  In your case it would be

   root=802

(The leading zero is suppressed.)  So it is theoretically possible
that something changed in the kernel so that it does not correctly
handle that type of root argument.  Having said that, however, I cannot
reproduce your results using the latest stock Debian kernel for
squeeze for the i386 architecture: linux-image-2.6.32-5-686, version
2.6.32-23.  Unless it is something specific to the amd64 architecture,
which I doubt, I suspect that lilo didn't get run during the upgrade,
as the above console log suggests.  The first thing to try is to
manually run lilo, shutdown and reboot, and see if it fixes the
problem.  If it does, then it's a pretty safe bet that lilo did not
get run during the upgrade, or at least not at the right time.

Due to changes in the way hook scripts are handled, I no longer
recommend using a hook script invoked from /etc/kernel-img.conf,
even when using stock kernels.  And the latest version of lilo
available for squeeze, 1:22.8-8.3, now includes its own hook scripts.
These hook scripts do not maintain symbolic links, however.  If you
are using only stock kernels, you can take care of getting
symlinks maintained by using

   do_symlinks = yes

in /etc/kernel-img.conf, but if you use custom kernels at all,
this won't cut it.  In that case, you need my zy-symlinks hook
scripts from my web site.  Also, I am using lilo 23.0, which is
available from upstream but not yet as an official Debian package;
so that also might possibly explain why I cannot reproduce your
problem.  But I doubt it.  Current stock Debian kernels for the
amd64 architecture are right on the ragged edge of being too
large for lilo to load below the 16M line; and lilo 23.0 contains
some important fixes for amd64 users; so you might want to give
lilo 23.0 a try.

I suggest that you review

   http://www.wowway.com/~zlinuxman/Kernel.htm#Customize

for a more complete treatment of the topic.

-- 
  .''`.     Stephen Powell    
 : :'  :
 `. `'`
   `-


Reply to: