2010-03-17 25 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創建如果需要設備文件自己。

相關問題