2013-03-13 38 views
0

fdisk用於在64G SD卡上創建mmcblk0p3。如何安裝ext2 fs?

Disk /dev/mmcblk0: 63.8 GB, 63864569856 bytes 
255 heads, 63 sectors/track, 7764 cylinders 
Units = cylinders of 16065 * 512 = 8225280 bytes 

     Device Boot  Start   End  Blocks Id System 
/dev/mmcblk0p1 *   2   6  40162+ c Win95 FAT32 (LBA) 
/dev/mmcblk0p2    7   130  996030 83 Linux 
/dev/mmcblk0p3    131  7764 61320105 83 Linux 

的FS,然後格式如下:

$ mke2fs -L media /dev/mmcblk0p3 
Filesystem label=media 
OS type: Linux 
Block size=4096 (log=2) 
Fragment size=4096 (log=2) 
3833856 inodes, 15330026 blocks 
766501 blocks (5%) reserved for the super user 
First data block=0 
Maximum filesystem blocks=16777216 
468 block groups 
32768 blocks per group, 32768 fragments per group 
8192 inodes per group 
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, ... 

掛載點/媒體肯定存在,$ mount /dev/mmcblk0p3 /media正常工作時mmcblk0p3是一個Win95的FAT32分區FAT32 FS。我需要從FAT32更改爲ext2,因爲在這個嵌入式Linux目標(電源循環,USB大容量存儲斷開連接等)中FAT32分區3太容易被佔用了。已經使用Ubuntu 10.04桌面系統來驗證分區類型是ext2並且能夠安裝SD卡分區,但是這需要在嵌入式Linux目標上工作。內核版本是BusyBox v1.18.2的2.6.32-17-ridgerun。

  • 爲什麼$ mount /dev/mmcblk0p3 /media原因mount: mounting /dev/mmcblk0p3 on /media failed: Invalid argument?
  • 爲什麼mount -t ext2 /dev/mmcblk0p3 /media原因mount: mounting /dev/mmcblk0p3 on /media failed: No such device?
+0

你是否檢查過你是否有lsmod的ext2模塊? – pmod 2013-03-15 22:01:05

+0

@pmod我今天不在辦公室,但是'mke2fs'和'mkfs.ext2'不一樣嗎?'無論哪種方式,我都會在星期一與lsmod聯繫。 – jacknad 2013-03-16 14:28:59

+0

除了你的問題,還不清楚ext2實際上是所有優越的選擇,因爲你的擔心 - 你可能想要一些日誌記錄或閃存優化? – 2013-03-17 18:11:00

回答

2

爲什麼$設置/ dev/mmcblk0p3 /媒體事業安裝:在/ media安裝 的/ dev/mmcblk0p3失敗: 無效的論點?

內核可能會掛載文件系統,但它錯誤地猜測它的類型。

爲什麼安裝-t ext2的的/ dev/mmcblk0p3 /媒體事業安裝:安裝 的/ dev/mmcblk0p3在/ media失敗:沒有這樣的設備?

如果在指定-t後出現類似的問題,那麼內核很可能無法爲您安裝所需的文件系統。檢查是否有該文件系統的模塊並加載它。

lsmod   # show modules 
modprobe ext2 # load module 

來源:http://www.silas.net.br/doc.notes/unix/linux/busybox-troubleshooting.html

據我所知ext2模塊已經默認加載。但檢查並不會造成傷害。 這裏的問題我認爲是由於mke2fs而引起的模糊性。 mke2fs可用於創建ext2/ext3/ext4文件系統。您必須通過-t選項指定文件系統。試着這樣做:

#mkfs -t ext2 /dev/hda1 
#mkfs.ext2 /dev/hda1 

你在你的命令錯過了-t選項使mke2fs在默認的conf文件系統格式化。

+0

特別是對於嵌入式內核,ext2驅動程序不是作爲模塊加載的,或者甚至是作爲模塊構建的,或者該模塊在裝入的文件系統上可供加載的運行設備使用。它也可能被編譯到內核而不是作爲一個模塊。查找構建配置(/ proc/config。gz如果可用或其他地方)將是一個好的開始。另一個測試是製作一個小小的ext2文件系統映像,並嘗試循環掛載它。 – 2013-03-17 18:09:18

+0

非常感謝! modprobe ext2返回'modprobe:在modules.dep中找不到模塊ext2。我有'CONFIG_MKFS_EXT2 = y',但不是'CONFIG_EXT2_FS = y'。 CONFIG_MKFS_EXT2處於busybox配置設置中,但CONFIG_EXT2_FS處於內核配置設置中。我確信我有這兩套,但顯然沒有。不知道ext2是否會改善我的FS問題,但希望如此。 busybox的這個版本沒有mkfs ext3或mkfs jffs2,因此ext2是我現在唯一的FAT32替代品。這個目標需要能夠mkfs它的第三個分區。 – jacknad 2013-03-18 16:05:17