Author Topic: Initrd and Mounting root file system -- hows it work?  (Read 1009 times)

Offline joeham

  • Jr. Member
  • **
  • Posts: 13
Initrd and Mounting root file system -- hows it work?
« on: November 15, 2009, 05:22:00 PM »
I had problems installing PClinuxos LXDE.

The initrd failed and displayed the booting has failed message.

I have my own Grub multi boot partition which I manually edit.  In the installer it only gives an option to install the boot loader somewhere.  Either to a partition or an MBR.  Normally in debian and slackware distros you just cancel out at that point and you edit your menu.lst to point to the kernel and initrd.

What seems to be the case in PClinuxOS is the install script modifies the initrd to contain the UUID of the target partition and writes it into /boot.  If you don't complete the installer to the very end and cancel at the grub screen (like I did) you get a bogus UUID in the initrd.

Does anybody on this board know how this works and could they explain it to me?

This is the first time I have seen this.  I am a returning PClinuxos user having used it in the "big daddy" days of .93 etc.  I left it because the KDE desktop was leaving my ancient desktops groaning.  Now the LXDE version of PClinuxOS seems to be drawing me back.

Any takers?

Offline Texstar

  • Administrator
  • Super Villain
  • *****
  • Posts: 12501
Re: Initrd and Mounting root file system -- hows it work?
« Reply #1 on: November 15, 2009, 05:58:56 PM »
You should finish the installer and if you don't want to install grub to the mbr you can install it to the installed partition then chainload it from your existing grub.


Thanks to everyone who donates. You keep the servers running.

Offline Old-Polack

  • Administrator
  • Super Villain
  • *****
  • Posts: 11545
  • ----IOFLU----
Re: Initrd and Mounting root file system -- hows it work?
« Reply #2 on: November 15, 2009, 06:28:26 PM »

Does anybody on this board know how this works and could they explain it to me?

The initrd has modules and instructions for the kernel as to proper loading order for those modules, in an internal init file, that also loads certain temporary devices and handles the switch root process. It does not store the UUID of the partition you want to boot to. That is written to the file /boot/grub/menu.lst, along with instructions on how to find the kernel and the initrd.

You failed to finish the installation, so there is no proper initrd or entries in /boot/grub/menu.lst. These are created by the installation process you aborted, custom made for your particular installation. Try again, and this time do as Texstar said and install grub to the / partition of the new installation. Later you can either chainload to that grub, or copy the boot stanza from the newly installed /boot/grub/menu.lst to the master /grub/menu.lst on your boot partition, and boot directly without chainloading.

This is neither Debian, nor Slackware. It's PCLinuxOS, and follows it's own, different, rules.
« Last Edit: November 15, 2009, 06:32:51 PM by old-polack »
Old-Polack

Of what use be there for joy, if not for the sharing thereof?



Lest we forget...

Offline joeham

  • Jr. Member
  • **
  • Posts: 13
Re: Initrd and Mounting root file system -- hows it work?
« Reply #3 on: November 15, 2009, 08:54:15 PM »
Like I said, I figured out I didn't finish, so it made sense that there was a problem.  I think I need to finally learn the ways of chain loading.  Right now I hard code the loading for each distro in one menu.lst.

I guess I will have to take a look inside a working init contained in the initrd and see what the script part that makes the root file system is doing.

Thanks kindly for the information.  I learn something new every day with Linux.