Linux - SoftwareThis forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I create a initrd with mkinitrd, and add the initrd to my grub.conf file
But on bootup, my system never gets as far as to run the initrd before trying to mount the root volume
Since my root volume is an LVM partition, it can't root and the kernel panics ... any ideas why my initrd is not running first? Not that I expect anyone to know, just looking for suggestions
When you create the initrd, do a mkinitrd -v so that you get verbose information during the creation of the initrd. Look at that output and make sure that the information concerning your LVM stuff is being included in the initrd. It could be that you are in fact loading the initrd at boot time, but the LVM stuff just isn't in it.
Hrm. Do you have a boot partition that is not a part of the LVM? It seems to me that grub is getting confused on exactly where the initrd file actually is, though I am not sure why it would continue if it never found the initrd in the first place. I seem to remember kernel boots going nuts when the boot process couldn't find the initrd file in the first place.
Something you may want to look at is exactly what is listed in the boot configuration when you actually boot. Take a look at what is stated there before the machine is even booted and make sure that they match what you expect them to say.
By default, grub doesn't actually look at grub.conf in /boot/grub/grub.conf. It actually looks at /boot/grub/menu.lst, and the grub.conf file tends to be a symbolic link to that file (or the other way around...depends on the distribution). If this symbolic link is broken and there are two different files, you will tend to get a disparity in what you expect and what you actually get.
I'm getting closer, my initrd is now running, it mounts /proc, and then it scans for logical volumes as it should, but then i get:
Code:
Scanning logical volumes
/bin/vgscan.lvm1: execvp failed: No such file or directory
ERROR: /bin/vgscan exited abnormally!
Activating logical volumes
/bin/vgchange.lvm1: execvp failed: No such file or directory
ERROR: /bin/vgchange exited abnormally!
it seems like execvp doesn't know where to look for those particular files. You may have to do some symbolic linking or something so that when execvp looks for them, it actually finds them. Either that, or figure out where execvp is being run from and change the default places it looks to where things really are during that portion of the boot process.
is it looking for /bin/vgscan.lvm1 and /bin/vgchange.lvm1?
Heres another question, I only have lvm2 installed, and the vgscan/vgchange that gets inserted into the initrd is lvm2 ... do i need to install old lvm1 stuff?
Are those programes dynamic link or static link. If they are dynamic link, you will have to move the libraries too. Compiling the programs as static to put on a initrd makes it a lot easier, but they take a lot of space and memory.
the static versions of dmsetup and lvm are like 2 years old, which is what is put into the initrd, however my libraries are newer, how do i include the libraries or statically link? either or is fine with me
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.