안녕하세요?

aESOP-S3C6410 보드의 경우 커널의 부트 아규먼트를 uBoot에서 커널로 넘겨줄 수 있습니다.
이외에 보드 환경 설정을 위한 다양한 환경 설정을 uBoot에서 지원 합니다.

따라서, 커널의 재 컴파일 작업이 없이도, 간단하게 커널의 부트 환경 설정을 변경할 수 있습니다.

1. NFS를 이용한 루트 파일 시스템 마운트 방법

최초로 이솝 보드를 받았을 때 NAND Flash에 루트 파일 시스템을 기록하기 위해서 또는 어플리케이션 등을 개발할 때는
NFS로 루트 파일 시스템을 마운트 하여 개발을 진행 합니다.

이 경우, uBoot의 명령 프롬포트에서 다음의 명령을 수행하면, NFS로 루트 파일 시스템을 마운트 합니다.
(해당 환경 설정을 수행하기 이전에, 호스트PC의 /nfsroot 디렉터리에 이솝 보드용 NFS 루트 파일 시스템이 있어야 합니다.)

setenv bootargs console=ttySAC0,115200 root=/dev/nfs rw nfsroot=[호스트PC의 IP주소]:/nfsroot/RootFS-aESOP6410 ip=[타깃 보드의 IP주소]:[호스트 PC의 IP주소]:[게이트 웨이 주소]:[서브넷 마스크]::eth0:off mem=128M ethaddr=[이더넷 컨트롤러의 MAC 주소]

saveenv => 환경 설정을 NAND Flash 저장

boot       => 적용한 환경 설정을 가지고 부팅

예)

setenv bootargs console=ttySAC0,115200 root=/dev/nfs rw nfsroot=192.168.1.15:/nfsroot/RootFS-aESOP6410 ip=192.168.1.85:192.168.1.15:192.168.1.1:255.255.255.0::eth0:off mem=128M ethaddr=00:40:5c:26:0a:5b

saveenv

boot

2. uBoot의 IP주소 설정 방법

uBoot에서 호스트 PC의 TFTP를 이용한 다운로드를 하기위한 IP 주소 설정은 다음과 같이 합니다.

setenv gatewayip [게이트 웨이 주소];setenv ipaddr [타깃 보드 IP주소];setenv serverip [호스트 PC IP주소]

saveenv => 환경 설정을 NAND Flash 저장

예)
setenv gatewayip 192.168.1.1;setenv ipaddr 192.168.1.100;setenv serverip 192.168.1.15

saveenv

3. TFTP를 이용하여 리눅스 커널 이미지를 다운로드 한 후 부팅


리눅스 커널 개발 시, 커널을 수정하면서 테스트가 필요할 경우 다음과 같이 옵션을 넣어주면,
이솝 보드는 TFTP를 통하여 리눅스 커널 이미지를 다운로드 받은 후 다운로드 받은 커널 이미지를 가지고 부팅을 수행 합니다.

setenv bootcmd tftp c0008000 zImage-aESOP6410\;bootm c0008000

saveenv => 환경 설정을 NAND Flash 저장

4. TFTP를 이용하여 커널을 다운로드 받고 NAND Flash에 기록


다음은 TFTP를 이용하여 리눅스 커널 이미지를 다운로드 받고, 자동으로 다운로드 받은 커널을 NAND Flash에
기록하는 명령 입니다.

tftp 0xc0008000 zImage-aESOP6410;nand erase 60000 200000;nand write 0xc0008000 60000 200000

5. NAND Flash에 저장된 커널로 자동 부팅

다음의 명령을 입력하면, 이솝 보드는 부팅 시 자동으로 NAND Flash에 기록된 커널을 읽어서 부팅을 수행 합니다.

setenv bootcmd nand read C0008000 60000 200000\;bootm C0008000

saveenv => 환경 설정을 NAND Flash 저장

6. TFTP를 이용하여 부트로더를 다운로드 받고 NAND Flash에 기록

부트로더가 수정되었거나, 교체가 필요할 경우 다음의 명령을 입력하면, 부트로더를 다운로드 받고 이것을
자동으로 NAND Flash에 기록 합니다.

tftp 0xc0008000 uBoot-aESOP6410.bin;nand write 0xc0008000 0 30000

7. NAND Flash에 저장된 루트 파일 시스템을 마운트 하여 부팅

루트 파일 시스템이 NAND Flah에 저장되어 있을 경우 부트로더에서 다음의 옵션을 입력하면, NAND Flash에
저장된 루트 파일 시스템을 마운트하여 부팅 합니다.

setenv bootargs root=/dev/mtdblock3 rootfstype=yaffs2 console=ttySAC0,115200

8. NAND Flash에 루트 파일 시스템을 기록하는 방법


제공 되는 이솝 보드용 NFS 루트 파일 시스템으로 부팅을 수행 한 후, 다음의 명령을 이용하여 NAND Flash에
루트 파일 시스템을 기록할 수 있습니다. (NAND Flash 기록된 루트 파일 시스템으로 부팅하려면 7번을 참조하세요.)

# NFS로 부팅한 리눅스 프롬포트에서 수행

flash_eraseall /dev/mtd3
tar -C /mnt/nand -xf ~/RootFS-aESOP6410.tar
sync
umount /mnt/nand

'Embeded' 카테고리의 다른 글

디바이스의 제어  (0) 2010.04.21
AESOP-6410 : 보드 부팅 환경 설정 방법  (0) 2010.03.11
ARM Cortex™-A9 프로세서  (0) 2010.02.09
감압식 터치스크린 tslib 사용  (1) 2010.02.07
Posted by Real_G