Cross Compiler를이용한 커널 컴파일 및 포팅
Cross Compiler 설정 Cross Compiler Target 보드에서 동작하는 실행파일을 Host PC에서 컴파일 할 수 있는 컴파일러 Cross compile Toolchain(파일명:arm-2009q3.tar.bz2) Download SAMBA를 이용하여 파일 복사 /usr/local/arm/ 경로에 압축 풀기 /usr/local/arm 경로로 이동 후 압축 풀기 압축풀기 작업 후 결과 : /usr/local/arm/arm-2009q3 폴더 생성
Cross Compiler 설정 Path 설정 컴파일러 확인 vi ~/.bashrc 실행
Cross Compiler 설정 Cross 컴파일 테스트 자신의 학번과 이름을 출력하는 C코드 작성 다음의 과정을 통하여 컴파일 및 확인, 실행 (option과제 : gcc를 이용한 컴파일 및 실행)
Cross Compiler 설정 실습1. 자신의 학번 이름을 출력하는 프로그램 소스를 타겟보드용으로 컴파일 한 후 실행 한 결과가 실행되지 않는 이유를 설명하시오 실습2. 실습1에서 만들어진 실행파일을 Target Board에서 nfs로 마운트하여 실행한 결과 를 캡처하시오 nfs가 되지 않을 경우 tftp를 활용 tftp –r 해당파일 서버IP –g Ex) tftp –r test 192.168.0.10 -g
커널 컴파일 및 포팅 커널소스 다운로드(파일명 : linux-2.6.32-hanback.tar.bz2) SAMBA를 이용하여 파일 복사 (/nfsroot/ 경로로 복사) tar명령어를 이용하여 압축해제 압축을 푼 디렉토리로 이동 후 Makefile 내용 수정 Cross Compile 경로 지정
커널 컴파일 및 포팅 #apt-get install libncurses5-dev #make menuconfig 명령 실행 및 설정(NFS 및 카메라 설정 등등) File systems 선택 후 Enter
커널 컴파일 및 포팅 Network File Systems 선택 후 Enter
커널 컴파일 및 포팅 NFS client support 선택 후 하위 옵션 선 택(Space 키 사용) 설정 후 Exit Save화면에서 Yes선택 후 Enter
커널 컴파일 및 포팅 커널 소스가 있는 경로에서 make 명령어 실행 컴파일 된 커널 이미지를 /tftpboot/ 경로로 복사
커널 컴파일 및 포팅 Target Board의 u-boot에서 커널 이미지 다운로드 tftp [다운로드 받을 Target Board의 RAM Address] [다운로드 받을 파일이름] ex) tftp 24000000 zImage 다운로드 받은 커널이미지를 Nand영역에 Write write할 nand영역 삭제 nand erase [삭제 할 nand 시작주소] [삭제 할 nand영역의 크기] ex) nand erase 80000 300000(download zImage size) nand 영역에 커널이미지 write Nand write [다운로드 받은 RAM Address] [Write할 nand 시작주소] [write할 nand영역 크기] nand write 24000000 80000 300000 커널이미지 Write 작업 후 boot 명령 실행
커널 컴파일 및 포팅 Target 보드에서 커널 이미지 다운로드 및 포팅 실행화면 서버(우분투) 아이피, 타겟(Sv-210) 아이피 설정 설정 후 print 명령으로 설정 내용 확인가능
파일시스템 포팅 홈페이지에서 rootfs_441.yaffs2파일 다운로드 다운받은 파일을 samba를 이용해서 /tftpboot에 복사 tftp 24000000 rootfs_441.yaffs2 nand erase 440000 f9c0000 (tftp로 받은 size를 써도 무관함) nand write.yaffs 24000000 440000 xxxxxx(tftp로 받은 hex size 정확히 입력해야 가능) *명령어가 다르니 주의 NAND Address Size Contents 0x0(0x0 – 0x80000) 512KB Bootloader 0x80000(0x80000-0x440000) 3.75MB Kernel 0x440000(0x440000-0xFE00000) 249.75MB Filesystem 0xFE00000(0xFE00000-0x10000000) 2MB Boot log
파일시스템 포팅 Target 보드에서 파일시스템 이미지 다운로드 및 포팅 실행화면