임베디드 리눅스에서 root filesystem을 수정해야 할 경우가 발생합니다. Target board가 Nandflash 메모리를 사용할 경우 ext 파일 시스템을 사용하지 못하고, jffs2나 yaffs 파일 시스템을 사용해야만 합니다. 보통 많이 사용하는 jffs2 같은 경우 바로 mount가 불가능하기에 어떻게 Host PC 리눅스에 mount를 하고 다시 jffs2로 만들내는지, 그 과정을 설명하려 합니다
Host PC : ubuntu12.04 LTS
1. mtd-tools 설치
$sudo apt-get install mtd-tools
2. mount 하기
$modprobe jffs2
$modprobe mtdblock
$modprobe mtdram total_size=0x3700 total_size=0x3700 -> 14Mbyte
$dd if=xxxxx.jffs2 of=/dev/mtdblock0
$mount -t jffs2 /dev/mtdblock0 /mnt/ramdisk
* total_size는 Kbyte단위
예를 들어 12Mbyte인 경우 ( 12Mbyte = 12 x 1024 x 1024 = 12582912 byte )
Kbyte 단위로 입력하므로 12x1024 = 12288Kbyte = 0x3000 즉 total_size=0x3000
$cat /proc/mtd mtdram size 확인
/mnt/ramdisk 폴더에 들어가 파일 시스템 내용 확인
3. 마운트한 filesystem 내용 수정 후 다시 저장
$dd if=/dev/mtdblock0 of=xxxxxxxxx.jffs2
4. unmount 하기
$umount /mnt/ramdisk
$modprobe -r jffs2
$modprobe -r mtdram
$modprobe -r mtdblock
'임베디드 | 리눅스' 카테고리의 다른 글
Linux에 Python 설치하기 (0) | 2014.07.14 |
---|---|
Kernel image loading 과정-uboot (0) | 2014.07.03 |
Vmware Tools 설치 및 공유폴더 만들기 (0) | 2012.12.26 |
임베디드 리눅스를 공부하고자 하는 분들이 가장 먼저 해야 할 일 (0) | 2012.12.26 |
리눅스를 처음 사용분들을 위한 북마크 (0) | 2012.12.26 |