Root Filesystem Porting Lecture #8
목 차 JFFS2 개요 Mkfs.jffs2 설치 및 실행 Root filesystem 이미지 생성 및 fusing
jffs2 file system (1) JFFS2(Journaling Flash File System-2) file system NOR형 flash memory를 사용하기 위한 linux file system 주로 flash memory를 user file system으로 사용하기 위해 적용 Embedded system에서 flash memory 일부를 부팅에 필요한 이미지를 저장하고, 나머지 영역은 사용자 데이터를 저장하기 위한 영역으로 사용 Embedded system에서 동작하는 응용 프로그램이나 응용 프로그램이 생성하는 데이터 등을 수시로 저장 전원이 꺼져도 저장된 내용을 보전 cf) YAFFS
jffs2 file system (2) mkfs.jffs2 설치 Host에 설치 되어있나 확인하고 되어있지 않으면 설치 cf) 실습시에는 mkfs.jffs2 유틸리티를 다운로드하여 설치한다
jffs2 file system (3) mkfs.jffs2 설치 (계속) mtd-snapshot 파일을 download ftp://ftp.uk.linux.org/pub/people/dwmw2/mtd/cvs 예제에서는 /usr/local/pxa255에 복사하였다. 작업 디렉토리를 ‘/usr/local/pxa255’로 가정 압축 해제 /usr/local/pxa255로 이동하여 압축을 푼다.
jffs2 file system (4) mkfs.jffs2 설치 (계속) 컴파일 - 생성된 디렉토리 안에 util 디렉토리로 들어가서 컴파일 한다.
jffs2 file system (5) mkfs.jffs2 설치 (계속) mkfs.jffs2 실행파일 확인
jffs2 file system (6) mkfs.jffs2 설치 (계속) 생성된 mkfs.jffs2실행 파일을 /sbin에 복사.
jffs2 file system (7) JFFS2 file system 이미지 생성 Directory 생성 예제에서는 /usr/local/pxa255/jffs2 로 제작.
jffs2 file system (8) JFFS2 file system 이미지 생성 (계속) 필요한 File 복사 Flash memory에서 29 M를 사용하므로 그 이하로 복사 예제에서는 test를 위해 디렉토리에 welcome.txt 를 생성하였다.
jffs2 file system (9) JFFS2 file system 이미지 생성 (계속) mkfs.jffs2 mkfs.jffs2 프로그램을 사용하여 jffs2 디렉토리를 jffs2 file system image로 만들어 준다. mkfs.jffs2의 옵션은 다음과 같은 기능을 한다. -r: jffs2 file system으로 만들 원본 디렉토리를 지정한다. -o: 출력될 jffs2 file system 이미지의 이름을 지정한다. -e: erase block( flash memory에 erase명령을 줄때 한번에 지울 block 의 크기, hardware에 의존적이다) 의 size를 지정한다. 0x40000 256K(pxa255_pro 보드에서 사용한 inter 28F128 Flash Memory의 erase block size 이다.) -p: 생성할 jffs2 file system의 size를 지정한다.byte 단위. 0x1b80000 27M + 512K ( usr file system으로 사용할 flash memory의 크기.)
jffs2 file system (10) JFFS2 file system 이미지 설치 생성한 jffs2_image를 /tftpboot 로 복사 % cp /usr/local/pxa255/jffs2.img /tftpboot BLOB으로 booting minicom을 실행 한다. blob command mode로 target system booting
Root filesystem 이미지 생성 (1) 작업디렉토리 아래에 ‘rootfs’ 디렉토리 생성 # pwd /root/pxa255-pro3 # mkdir rootfs #cd rootfs 실습 서버에 접속하여 관련 파일을 다운로딩한다
Root filesystem 이미지 생성 (2) mkfs.jffs2 프로그램을 ‘/sbin’으로 복사 # chmod 755 mkfs.jffs2 # cp mkfs.jffs2 /sbin Root filesystem 이미지 생성 스크립트 확인 # cat mkfs-jffs2.sh
Root filesystem 이미지 생성 (3) # tar xvfz rootfs-2.6-pro3.tar.gz # cd rootfs-2.6-pro3 # ls Root filesystem에 필요한 내용을 추가하거나 수정한다
Root filesystem 이미지 생성 (4) # cd .. | pwd /root/pxa255-pro3/rootfs # chmod 755 mkfs-jffs2.sh # ./mkfs-jffs2.sh
Root filesystem 이미지 생성 (5) u-boot bootloader의 tftp & flash fusing 기능을 이용하여 수정된 root filesystem 이미지를 퓨징한다 PRO3> run rootf