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.
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.
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?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With