Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

mounting without -o loop

I have written a dummy (ram disk) block device driver for linux kernel. When the driver is loaded, I can see it as /dev/mybd.

I can successfully transfer data onto it using dd command, compare the copied data successfully.

The problem is that when I create ext2/3 filesystem on it, I have to use -o loop option with the mount command. Otherwise mount fails with following result:

mount: wrong fs type, bad option, bad superblock on mybd, missing codepage or helper program, or other error

What could be the problem? Please help.

Thanks.

like image 729
user295631 Avatar asked Mar 17 '10 12:03

user295631


2 Answers

Hmm, if it works with -o loop and doesn't work without, then I have bad news for you: your "device" is actually just a plain file in /dev. What does ls -l /dev/mybd show? If its filesize is non-zero, it's a regular file, and has nothing to do with your driver.

Use mknod to create the device file yourself if needed.

like image 141
apenwarr Avatar answered Jan 03 '23 15:01

apenwarr


I see you're starting over again. As a quick note about your previous attempt, did you make sure your device appeared in /dev as a block device and not a character one?

like image 45
Luke404 Avatar answered Jan 03 '23 15:01

Luke404