2013-03-13 2 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, ... 

마운트 포인트는/미디어는 확실히 존재하고 mmcblk0p3는 Win95는 FAT32 파티션에 FAT32의 FS가있을 때 $ mount /dev/mmcblk0p3 /media 잘 작동합니다. FAT32 파티션 3은이 임베디드 Linux 타겟 (전원주기, USB 대용량 저장 장치 연결 해제 등)에 너무 쉽게 연결되어 있기 때문에 FAT32에서 ext2로 변경해야합니다. 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

+0

@pmod 오늘은 사무실에 없지만'mk2fs'는'mkfs.ext2 '와 같지 않습니다. 어느 쪽이든 월요일에 lsmod에 확인하겠습니다. – jacknad

+0

문제 외에도 ext2가 실제로 관심사에 비추어 선택의 폭이 뛰어나다는 사실이 명확하지 않습니다. 저널링이나 플래시 최적화가 필요한 것이 있습니까? –

답변

2

는/dev/mmcblk0p3/미디어가 마운트 원인 마운트 $ 않는 이유 :/미디어 설치 는/dev/mmcblk0p3 실패 : 잘못된 인수?

커널은 아마도 파일 시스템을 마운트 할 수 있지만 그 유형을 잘못 추측합니다./미디어에 는/dev/mmcblk0p3 설치 실패 :

왜 -t EXT2는/dev/mmcblk0p3/미디어 원인 마운트 마운트하지 않습니다 이러한 장치를?

-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 

당신은 기본의 conf의 파일 시스템과 mke2fs 형식을 만드는 명령에 -t 옵션을 놓쳤다.

+0

특히 임베디드 커널의 경우, ext2 드라이버가 모듈로로드되거나 심지어 모듈로 빌드되었거나 모듈이 마운트 된 파일 시스템에서 사용 가능한 장치를로드 할 수있는 것은 아닙니다. 또한 모듈이 아닌 커널에 컴파일되었을 수도 있습니다. 빌드 설정 찾기 (/ proc/config).gz 가능하다면 또는 다른 곳에서) 좋은 시작이 될 것입니다. 또 다른 테스트는 아주 작은 ext2 파일 시스템 이미지를 만들고 루프 마운트를 시도하는 것입니다. –

+0

감사합니다. modprobe ext2가'modprobe : modules ext2를 modules.dep에서 찾을 수 없습니다. '를 반환했습니다. 나는'CONFIG_MKFS_EXT2 = y'을 가졌지 만'CONFIG_EXT2_FS = y'는 가지고 있지 않습니다. CONFIG_MKFS_EXT2가 비지 박스 구성 설정에 있지만 CONFIG_EXT2_FS가 커널 구성 설정에 있습니다. 나는이 두 가지 세트를 모두 가지고 있다고 확신했지만 분명히하지 않았다. ext2가 내 fs 문제를 개선하지만 그렇게되기를 바랍니다. 이 버전의 busybox에는 mkfs ext3 또는 mkfs jffs2가 없으므로 ext2가 현재 FAT32에 대한 유일한 대안입니다. 이 타겟은 3 번째 파티션을 mkfs 할 수 있어야합니다. – jacknad