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

Re: lilo problem



On Sun, Jul 22, 2001 at 01:31:20AM -0700, Fallen Lord wrote:
> 1.)i just upgraded (force-overwrite) libc6-2.1.3 and
> libdb2 that comes with the debian 2.2r3 with the
> testing packages of libc6-2.2.3 and libdb2-2.7.

Be very careful with any of the --force options to dpkg, they're not
supposed to be needed, so if you use them, something is likely wrong
somewhere and you might be making it even worse only.

Use dselect for package management.  Learn to understand the concepts
behind the debian package management system and you'll find that dselect
is a fine tool.  Don't be scared by people who say that it is too hard
to use, they just don't understand the packaging system.  If you don't
understand the packaging system, you're likely to nuke your system
somehow some day anyway.

> after that i recompiled kernel 2.4.7pre3. when i ran
> lilo, it flashed out a message "open /vmlinuz - no
> such file or directory" when i used whereis open -
> open was still there. I couldn't use lilo because of

Perhaps this was only an error message by lilo that the call to "open
/vmlinuz" failed (i.e. "open" returned with a failure).  The "open" 
that it complains about is probably not the "open" that you find when
you use "which".  Check out the differences between the open(1), the
open(2) and the fopen(3) manual pages.

If your /etc/lilo.conf lists an image with the name "/vmlinuz", and
that file does not actually exist in your filesystem, lilo cannot
setup the boot block to point to a place on your disk where that file
is supposed to be (but isn't).  If /vmlinuz is a symbolic link, eg.
to /boot/vmlinuz-2.2.19, then the file, that the link is pointing to,
must also exist.

Read the lilo.conf manual page to find how to setup the right boot image
for your system.

> this. Then i made the mistake of uninstalling lilo, so

No need to remove lilo from your system, I would think?  Unless you want
to switch to grub as your bootloader, but I don't expect so and it would
only create more confusion.

> when i rebooted the pc, LI instead of LILO: appeared
> (meaning LILO is damaged?). i'm triple-booting QNX4,

You rebooted the machine whilst it did not have a valid lilo bootloader.
Hmmmm...  One way of getting back in is to boot from a installation
floppy with the boot parameters:

  rescue root=/dev/<"your debian root partition">
  
Then login as root and reinstall lilo, fix the /etc/lilo.conf and this
time, run "lilo -v -v" (I always do that) so you can see more exactly what
is going on.  After all, the results of little mistakes are relatively
large, so a little more attention is appropriate.

You also need to understand the difference between /sbin/lilo, which
is also called the "boot block installer", and the little piece of code
called the "boot block", which is installed by /sbin/lilo onto special
places on your harddisk.  The boot block is what actually gets executed
by the bios when your pc boots and it in turn loads the linux kernel.
When /sbin/lilo is run, it updates the boot block's notion of where to
find the kernels listed in /etc/lilo.conf.

> Win98 and Debian GNU/Linux 2.2r3 on my system. i went
> to the point of ridding lilo from the mbr just to use
> an OS (Win98 then loadlin-ing the kernel). How do I
> fix this? 

If you do a lot of rebooting and os switching, then loadlin.exe might not
be such a bad idea after all, as long as you are diligent in making sure
that a bootable kernel is always available as a file in the windows98
filesystem.

Use the debian rescue floppy to boot into your system and read the lilo
documentation (there's an awful lot of good details in /usr/doc/lilo if
you care) and fix the boot loader.

Alternatively, create a simple bootfloppy:

  cat /vmlinuz > /dev/fd0
  rdev /dev/fd0 $( rdev | awk '{ print $1 }' )

Voila, you have a bootdisk that always works, if the disk is any good,
that is, and if you make it read-only.  Make two if you want to be sure.
And make sure that /vmlinuz is indeed the kernel that you want to boot.
Use another filename if you like, there is nothing that says that your
kernel must always be named "vmlinuz" or be in places like / or /boot.
After all, if you cat it to a raw floppy, it doesn't have a name or a
place either, since there is no filesystem.

BTW, the rescue disk does have a "FAT" filesystem, so it can be read
by windows as well, and the linux kernel is named "linux".  Be careful
when you replace it, because it needs to be a kernel that can do special
tricks, called "initrd", so the installer can read the basic programs it
needs from another file on the floppy.  You do not need those for your
own simple bootfloppy created by cat'ting your current kernel to /dev/fd0.

> 2.)Also, how do i install a kernel 2.4.x in potato? i
> hear that one needs to make kpkg the kernel source.
> can't i just copy the kernel image and install the
> sources (make bzImage; make modules; make
> modules_install) or do I really need to make kpkg the
> source just to make the system detect the modules? if
> so, how do i do it and what do i need? 

You can always do it manually like the above.  But you can also use the
tools in kernel-package.  When you select kernel-package in dselect,
it will suggest, recommend or depend on all of the required tools
for building a custom kernel.  Install kernel-package and read the
documentation in /usr/doc/kernel-package and the manpages that come
with the package (which you should do for all installed packages,
of course).  ;-)

> 3.)Do i need to upgrade pppd if i use kernel 2.4.x?
> wvdial won't connect - something like "invalid
> argument" reflects in the /var/logs/message file. what
> do i need to do? is there a better way to connect via
> dial-up than wvdial? if so, how?

Some other people on the list may want to address these issues.

Cheers,


Joost



Reply to: