View previous topic :: View next topic |
Author |
Message |
Kasumi_Ninja Veteran
Joined: 18 Feb 2006 Posts: 1825 Location: The Netherlands
|
Posted: Wed May 09, 2007 3:45 pm Post subject: (SOLVED) "booting pivot-root no such file or directory& |
|
|
I get this error message when booting. It's no showstopper but I wonder how to fix that message? I am using Genkernel.
Code: | bootingpivot-root no such file or directory |
$ cat /boot/grub/grub.conf
Code: | default 0
timeout 5
splashimage=(hd0,0)/grub/splash.xpm.gz
title=Gentoo Linux (2.6.20-gentoo-r7)
root (hd0,0)
kernel /kernel-genkernel-x86-2.6.20-gentoo-r7 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/hda3 vga=791
initrd /boot/initrd-genkernel-x86-2.6.20-gentoo-r7
title=Gentoo Linux
root (hd0,0)
kernel /kernel-genkernel-x86-2.6.17-gentoo-r7 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/hda3 vga=791
initrd /initramfs-genkernel-x86-2.6.17-gentoo-r7 |
_________________ Please add [solved] to the initial post's subject line if you feel your problem is resolved. Help answer the unanswered
Last edited by Kasumi_Ninja on Wed May 09, 2007 6:21 pm; edited 1 time in total |
|
Back to top |
|
|
wynn Advocate
Joined: 01 Apr 2005 Posts: 2421 Location: UK
|
Posted: Wed May 09, 2007 4:26 pm Post subject: |
|
|
The stock genkernel only produces initramfs, not initrd.
You have what appears, from its name, to be a genuine initrd in your default boot and this will expect to run pivot_root when it has mounted the root filesystem.
linuxrc, however, is for initramfs and, although it has some legacy code for initrd, may no longer provide pivot_root: the initramfs equivalent is switch_root. _________________ The avatar is jorma, a "duck" from "Elephants Dream": the film and all the production materials have been made available under a Creative Commons Attribution 2.5 License, see orange.blender.org for details. |
|
Back to top |
|
|
Kasumi_Ninja Veteran
Joined: 18 Feb 2006 Posts: 1825 Location: The Netherlands
|
Posted: Wed May 09, 2007 5:07 pm Post subject: |
|
|
wynn wrote: | The stock genkernel only produces initramfs, not initrd.
You have what appears, from its name, to be a genuine initrd in your default boot and this will expect to run pivot_root when it has mounted the root filesystem.
linuxrc, however, is for initramfs and, although it has some legacy code for initrd, may no longer provide pivot_root: the initramfs equivalent is switch_root. |
Thanks for the answer. I remember I had to adjust grub.conf because it refused to boot (and that was because genkernel installed initrd instead of initramfs). Has something changed in the default genkernel or is an option that I passed to genkernel? I used this line: Code: | # genkernel --kernel-config=/usr/src/config --bootsplash --menuconfig --install --bootloader=grub all
|
Code: | System.map-genkernel-x86-2.6.20-gentoo-r7
boot
grub
initramfs-genkernel-x86-2.6.17-gentoo-r7
initrd-genkernel-x86-2.6.20-gentoo-r7
kernel-genkernel-x86-2.6.17-gentoo-r7
kernel-genkernel-x86-2.6.20-gentoo-r7
lost+found |
_________________ Please add [solved] to the initial post's subject line if you feel your problem is resolved. Help answer the unanswered |
|
Back to top |
|
|
wynn Advocate
Joined: 01 Apr 2005 Posts: 2421 Location: UK
|
Posted: Wed May 09, 2007 6:07 pm Post subject: |
|
|
When I saw the line Code: | initrd /boot/initrd-genkernel-x86-2.6.20-gentoo-r7 | I assumed you had generated the initrd by some other means than genkernel like mkinitrd.
The stable genkernel on all arch's is 3.4.6 which creates initramfs by default.
BTW if you are using initramfs you don't need Code: | root=/dev/ram0 init=/linuxrc ramdisk=8192 | on the command line. As initramfs runs in ramfs which doesn't have a backing store, it is just kept in the kernel's filesystem cache, it is not copied to ramdisk and /linuxrc (actually a symlink to /init) is run by default. _________________ The avatar is jorma, a "duck" from "Elephants Dream": the film and all the production materials have been made available under a Creative Commons Attribution 2.5 License, see orange.blender.org for details. |
|
Back to top |
|
|
Kasumi_Ninja Veteran
Joined: 18 Feb 2006 Posts: 1825 Location: The Netherlands
|
Posted: Wed May 09, 2007 6:19 pm Post subject: |
|
|
Thanks for the answer! I have solved this problem by using genkernel with these options:
Code: | # genkernel --menuconfig --install --bootloader=grub all
|
This generated an initramfs file. I suspect genkernel behaved diffirent then before because of the missing bootsplash option.
I will remove the line
Code: | root=/dev/ram0 init=/linuxrc ramdisk=8192 |
Please note that I didn't edit grub.conf. Genkernel did that for me . Maybe something for a bugreport? _________________ Please add [solved] to the initial post's subject line if you feel your problem is resolved. Help answer the unanswered |
|
Back to top |
|
|
wynn Advocate
Joined: 01 Apr 2005 Posts: 2421 Location: UK
|
Posted: Wed May 09, 2007 7:01 pm Post subject: |
|
|
Thanks for the information, I hadn't realized that --bootsplash caused an initrd to be created.
As genkernel does create an initrd on occasion, the parameters I said weren't needed are in this particular case.
But you have found that it doesn't work anyway ... _________________ The avatar is jorma, a "duck" from "Elephants Dream": the film and all the production materials have been made available under a Creative Commons Attribution 2.5 License, see orange.blender.org for details. |
|
Back to top |
|
|
Kasumi_Ninja Veteran
Joined: 18 Feb 2006 Posts: 1825 Location: The Netherlands
|
Posted: Thu May 10, 2007 7:47 am Post subject: |
|
|
wynn wrote: | Thanks for the information, I hadn't realized that --bootsplash caused an initrd to be created.
As genkernel does create an initrd on occasion, the parameters I said weren't needed are in this particular case.
But you have found that it doesn't work anyway ... |
Just to be clear. I have removed the line:
Code: | root=/dev/ram0 init=/linuxrc ramdisk=8192 |
for my kernel with the initramfs file, it boots fine so I guess it's ok? |
|
Back to top |
|
|
wynn Advocate
Joined: 01 Apr 2005 Posts: 2421 Location: UK
|
Posted: Thu May 10, 2007 8:38 am Post subject: |
|
|
Sorry, I didn't make myself clear.
The instructions for genkernel or the way that it creates a kernel command line with Code: | root=/dev/ram0 init=/linuxrc ramdisk=8192 | can't be faulted as (as you have discovered) genkernel can create an initrd and initrd needs these parameters to function.
Adding these to the command line is a safe option: it won't affect initramfs which ignores them (/linuxrc is a symlink to /init â which is what the kernel runs by default with initramfs) so they do no harm but they are there for initrd.
Removing them from the kernel command line when you know that you have an initramfs is OK. _________________ The avatar is jorma, a "duck" from "Elephants Dream": the film and all the production materials have been made available under a Creative Commons Attribution 2.5 License, see orange.blender.org for details. |
|
Back to top |
|
|
|