LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (http://www.linuxquestions.org/questions/slackware-14/)
-   -   generic-smp kernel doesn't boot in 12.2 (http://www.linuxquestions.org/questions/slackware-14/generic-smp-kernel-doesnt-boot-in-12-2-a-690111/)

samac 12-12-2008 10:13 AM

generic-smp kernel doesn't boot in 12.2
 
Hi all

I have installed 12.2 and got it how I like it, but it only boots with the hugesmp kernel.

The generic crashes out with the following error.
Code:

mount: mounting /dev/root on /mnt failed: no such file or directory
ERROR: No /sbin/init found on rootdev (or not mounted).

I have generated an initrd.gz and modified lilo.conf and re-run lilo.

The root device is formatted with jfs and the initrd.gz loads jfs.ko from the smp-modules.

samac

gegechris99 12-12-2008 10:19 AM

Can you post your mkinitrd commmand?

I generated my initrd.gz image and had the same error as you. I just ran the wrong command options. OK I can be the only stupid guy out there but your detailed mkinitrd options would help in analyzing your issue.

samac 12-12-2008 10:26 AM

I tried to generate the initrd.gz three ways
Code:

mkinitrd -c -k 2.6.27.7-smp -m jfs
then
mkintrd jfs
then
mkinitrd

All three failed the same way.

EDIT mkinitrd -c -m jfs fails also.

samac

GazL 12-12-2008 10:33 AM

Quote:

Originally Posted by samac (Post 3373140)
I tried to generate the initrd.gz three ways
Code:

mkinitrd -c -k 2.6.27.7-smp -m jfs
then
mkintrd jfs
then
mkinitrd

All three failed the same way.

samac

Have you tried it without the mkintrd jfs ? Whatever that is for, I've never had to do that. (edit: doh, ignore that question, I see what you're saying now. I misunderstood).

Normally I just run the single command
Code:

mkinitrd -c -k 2.6.27.7-smp -m jfs -f jfs -r /dev/whatevertherootpartitionis
According to the man page -f and -r should be autodetected, but I figure it won't hurt to tell it.

also, worth checking that the entry in lilo points to the right initrd file.

samac 12-12-2008 10:38 AM

Quote:

Normally I just run the single command
Code:

mkinitrd -c -k 2.6.27.7-smp -m jfs -f jfs -r /dev/whatevertherootpartitionis
According to the man page -f and -r should be autodetected, but I figure it won't hurt to tell it.
Hi

I got there just as you were posting. It needed the the -f and -r modifiers to find a jfs filesystem on /dev/sda1

Thanks

samac

gegechris99 12-12-2008 10:38 AM

Maybe you can try the full options:

Code:

mkinitrd -c -k 2.6.27.7-smp -m jfs -f jfs -r /dev/hda1
This assumes that your root partition is in /dev/hda1. Please change accordingly.

bgeddy 12-12-2008 11:28 AM

Quote:

I got there just as you were posting. It needed the the -f and -r modifiers to find a jfs filesystem on /dev/sda1
I't not just jfs that needs the root option ( -r ) supplying to mkinitrd. The huge kernel creates a /dev/root symlink to the device the root file system is mounted on. Then mount returns /root/dev / for the root filesystem. This causes a file to be created at /boot/initrd-tree/rootdev containing /dev/root as this was the root filesystem device when the initrd was created. This goes into the initrd. This is because if a root filesystem device is not supplied mkinitrd will use the output of mount to find the root device and mount returns /dev/root as the mounted root filesystem device.

Then when the generic kernel boots it tries to use this entry to mount the root filesystem and fails.

This is a pain as previous versions missing out the -r to mkinitrd was ok. Once you know about it however it's not a problem.

Didier Spaier 12-12-2008 12:01 PM

I had the same problem and solved it in populating /etc/mkinitrd.conf cp'ed from /etc/mkinitrd.conf.sample and issuing a mkinitrd -F command, see:
http://www.linuxquestions.org/questi...0/#post3373248


All times are GMT -5. The time now is 11:36 PM.