Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
(SOLVED) "booting pivot-root no such file or directory"
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
Kasumi_Ninja
Veteran
Veteran


Joined: 18 Feb 2006
Posts: 1825
Location: The Netherlands

PostPosted: Wed May 09, 2007 3:45 pm    Post subject: (SOLVED) "booting pivot-root no such file or directory& Reply with quote

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
View user's profile Send private message
wynn
Advocate
Advocate


Joined: 01 Apr 2005
Posts: 2421
Location: UK

PostPosted: Wed May 09, 2007 4:26 pm    Post subject: Reply with quote

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
View user's profile Send private message
Kasumi_Ninja
Veteran
Veteran


Joined: 18 Feb 2006
Posts: 1825
Location: The Netherlands

PostPosted: Wed May 09, 2007 5:07 pm    Post subject: Reply with quote

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:
$ ls /boot/

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
View user's profile Send private message
wynn
Advocate
Advocate


Joined: 01 Apr 2005
Posts: 2421
Location: UK

PostPosted: Wed May 09, 2007 6:07 pm    Post subject: Reply with quote

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
View user's profile Send private message
Kasumi_Ninja
Veteran
Veteran


Joined: 18 Feb 2006
Posts: 1825
Location: The Netherlands

PostPosted: Wed May 09, 2007 6:19 pm    Post subject: Reply with quote

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 :wink:. 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
View user's profile Send private message
wynn
Advocate
Advocate


Joined: 01 Apr 2005
Posts: 2421
Location: UK

PostPosted: Wed May 09, 2007 7:01 pm    Post subject: Reply with quote

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
View user's profile Send private message
Kasumi_Ninja
Veteran
Veteran


Joined: 18 Feb 2006
Posts: 1825
Location: The Netherlands

PostPosted: Thu May 10, 2007 7:47 am    Post subject: Reply with quote

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
View user's profile Send private message
wynn
Advocate
Advocate


Joined: 01 Apr 2005
Posts: 2421
Location: UK

PostPosted: Thu May 10, 2007 8:38 am    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum