Linux - GeneralThis Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.
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.
I had opensuse 11.2 with kernel 2.6.32 that I complied myself and that work as charm. I have upgraded to 11.3 but preinstalled kernel didn't work well, while my old kernel also work as a charm.
Now, I have compiled myself new kernel, but I get:
Could not mount root fs. Inappropriate IOCTL for device.
and it doesnt boot, of course. I checked ext4 is included in kernel. What I am doing wrong?
offending one stops at that only error, and that is it. Just stops.
Grub entry was made as all others (make install). I suspect there something inside kernel config file, that is set or unset.
I can't fault any of that. Have you a module tree for both kernels in /lib/modules?
Now WHEN exactly do you get that error? Does kernel & initrd load? Does init start?
It's on very beginning on the initialization. Since /boot is ext2 and / is ext4, it loads init and kernel (as I reckon), but can't mount root fs. I tried selecting ext4 both as module or in kernel.
I know it is some setting inside kernel config I didn't compiled in, or I compiled too much...
Let's go through this in detail
1. Grub shows a screen, & you select something.
2. That kernel is loaded, usually from /boot
3. That kernel boots.
4. That kernel mounts the root filesystem specified by 'root=' on the command line read only
5. It then goes looking for /sbin/init on the root directory
6. Init starts up.
At which exact point does it barf? A number, please.
Stop is just after pass 3. It does boot kernel from /boot which is on ext2, and then show me that error and root FS is not mounted due to IOCTL problem.
Well, the usual error there is: "Unable to mount root fs" or something like that.
Inappropriate IOCTL makes me think the device is being addressed the wrong way - like looking for the ignition key on your horse, or the reins in your car. :-). Google tells me it's a common enough disk error. The difference between reading the disk in 2. & 4. is that 2. is started by the bios but 4. is done by the kernel, so the kernel has to be capable of reading the disk.
Check that kernel .config. If it is ok, run
make clean && make > make.err 2>&1
without any parallel builds, and you can check if the 2 kernels are the same with md5sum. Read over make.err and check for errors - ignore warnings. It's probably a m/b chipset error, or a driver error, or a driver/chipset problem. Read the help.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.