03Kernel-Ramdisk-JFFS2_Porting

Download Report

Transcript 03Kernel-Ramdisk-JFFS2_Porting

Kernel, Ramdisk, JFFS2 Porting
1. 커널을 수정하기 위해 예전에 압축을 풀었던 커널소스가 있는 디렉터리로 이동해
make menuconfig 명령을 실행한다.
커널소스 디렉터리
Kernel, Ramdisk, JFFS2 Porting
2. 표시되는 화면에서 Character device 메뉴로 들어가 LED GPIO, KEY GPIO,
RTC GPIO 의 체크를 해제한다.
*
체크해제
Kernel, Ramdisk, JFFS2 Porting
3. 커널을 컴파일하기위해 예전의 오브젝트 파일을 make clean 명령어로 삭제한다.
Kernel, Ramdisk, JFFS2 Porting
4. make dep 로 의존성 검사를 수행한다.
Kernel, Ramdisk, JFFS2 Porting
5. 커널 이미지 파일을 컴파일한다.
※ 보드에 fusing 하기 위한 이미지 파일로 컴파일
Kernel, Ramdisk, JFFS2 Porting
6. TFTP Server 를 실행하고 File -> Configure -> TFTP Root Directory
탭에서 VMware 에서 설정한 공유폴더를 지정하고 Security 탭에서 Transmit and Receive files 를 선택한다.
*
TFTP의 루트 디렉터리.
앞으로 Target Board로
다운로드 하여 fusing 할
파일들을 여기에 담는다.
*
※ 리눅스용 터미널 프로그램으로도 가능. fusing 할 파일들은 /tftpboot 로 복사
Kernel, Ramdisk, JFFS2 Porting
7. Target Board와 PC를 연결하고 하이퍼터미널을 통해 blob command mode로
Target Board를 부팅하여 status 명령어로 ip주소를 확인한다.
Kernel, Ramdisk, JFFS2 Porting
8. set ip_addr 명령어로 ip주소를 다시 세팅한다. Newhostip 가 PC의 ip주소이고
Newtargetip 가 Target Board의 ip주소이다.
※ IP주소는 리눅스에 설정된 IP주소대역과 같은 대역으로 설정
Kernel, Ramdisk, JFFS2 Porting
9. 컴파일된 커널 이미지 파일을 TFTP Server 프로그램에서 지정해준 공유폴더로
복사한다.
Kernel, Ramdisk, JFFS2 Porting
10. Target Board에서 tftp zImage kernel 명령어로 커널 이미지 파일을 다운로드
한다.
Kernel, Ramdisk, JFFS2 Porting
11. 다운로드 된 커널 이미지를 fusing 한다.
Kernel, Ramdisk, JFFS2 Porting
12. /root 디렉터리에 Ramdisk 파일 복사를 위한 임의 디렉터리를 생성한다.
13. cdrom에서 Ramdisk 압축파일을 복사하여 압축을 해제한다.
12
13
※ Ramdisk : 커널이 사용해야 하는 디스크(HDD, floppy disk 등)이 없는 경우
램을 디스크처럼 사용할 수 있도록 해주는 것. 작업내용 저장은 불가
Kernel, Ramdisk, JFFS2 Porting
14. /mnt 에 ramdisk 디렉터리를 생성하고 그곳에 Ramdisk를 마운트 한다.
15. cdrom/Image 디렉터리에서 ramdsik_pro3.gz 파일을 공유폴더(tftp 기본
디렉터리)로 복사한다.
14
15
Kernel, Ramdisk, JFFS2 Porting
16. ramdisk_pro3.gz 파일을 Target Board로 다운로드 하여 fusing 한다.
Kernel, Ramdisk, JFFS2 Porting
17. cdrom/Application/mkfs.jffs2 를 /usr/bin 으로 복사한다.
※ JFFS : Journalling Flash File System
RedHat에서 개발한 flash file system. 전원이 꺼지더라도 남아있어야 할
설정 파일이나 ramdisk에 포함되지 않은 프로그램 등을 저장하기 위해 사용
Kernel, Ramdisk, JFFS2 Porting
18. /root 에 jffs2 디렉터리를 생성한다.
19. mkfs.jffs2 프로그램을 사용하여 /root/jffs2 디렉터리를 jffs2 file system으로
만들어준다.
18
19
Kernel, Ramdisk, JFFS2 Porting
20. 생성된 jffs2 이미지 파일을 공유폴더로 복사한다.
Kernel, Ramdisk, JFFS2 Porting
21. jffs2 이미지 파일을 Target Board로 다운로드 하여 fusing 한다.