2010-03-17 23 views
6

我已经写为Linux内核的虚设(RAM盘)块设备驱动程序。 加载驱动程序时,我可以将其视为/ dev/mybd。安装而不-o环

我可以用dd命令成功传送数据到其上,比较所复制的数据成功地 。

问题是,当我在它上面创建ext2/3文件系统时,我必须使用-o循环 选项和mount命令。否则,安装失败,结果如下:

挂载:错误的财政司司长类型,坏的选择,在mybd坏的超级, 缺失的代码页或辅助程序或其他错误

可能是什么问题呢?请帮忙。

谢谢。

+0

发布您的驱动程序单元和请求例程?我有一个ramdisk驱动程序,但没有看到这个错误,也许看到代码会有帮助。 – 2010-03-17 12:48:15

+0

啊..刚崩溃我的Linux系统..在错误的设备上做了一个DD! 需要从安装linux重新开始...... 如果我能重现问题,我会回到这里。 谢谢。 – user295631 2010-03-17 12:54:34

+0

看看: http://user-mode-linux.sourceforge.net/ 您可以在Linux系统上运行一个Linux操作系统。这将允许您快速构建和“部署”新版本的插件。所有你要做的改变(比如'dd')将在客户操作系统中完成,所以它不会破坏你的本地操作系统。正如我记得,甚至有可能在一个单独的文件中更改文件系统的“delta”,这样您可以轻松地恢复guest文件系统的初始状态。 – 2010-03-17 14:49:36

回答

0

在安装之前在设备上创建一个filesytem:

mkfs -t ext2 /dev/mybd

mke2fs /dev/mybd
+0

我已经这样做了。 – user295631 2010-03-17 12:28:09

+1

尝试检查dmesg或/var/log/messages....有时,内核在那里写入诊断信息。 – Doug 2010-03-17 12:43:02

+0

啊..刚刚崩溃了我的Linux系统..在错误的设备上做了一个DD! 需要从安装linux重新开始...... 如果我能重现问题,我会回到这里。 谢谢。 – user295631 2010-03-17 12:54:56

0

回路装置用于安装在Linux文件系统模拟它们作为块设备块特殊文件。因此,挂载抛出错误。

1

我看到你又重新开始。随着对你的一次尝试一个便条,你要确保你的设备出现在/ dev下一个设备,而不是一个字符一个?

3

嗯,如果它与-o loop一起使用,并且没有工作,那么我对你有坏消息:你的“设备”实际上只是/ dev中的一个纯文件。 ls -l /dev/mybd显示什么?如果其文件大小不为零,则它是一个常规文件,并且与您的驱动程序无关。

使用mknod创建如果需要设备文件自己。

相关问题