• 검색 결과가 없습니다.

MicroSD 메모리에 시스템 이미지 올리기 -부트로더 설치

– 부트로더를 시스템 µSD에 설치하기 위해 메모리가 연결 되었는지 확인

– 메모리 연결은

(1) 시스템용 µSD 메모리를 컴퓨터에 연결

(2) VirtualBox 관리자 화면에서 [장치] - [USB 장치]를 선택한 후 (3) USB 저장소를 지정하는 장치(예: Generic USB storage)로 선택 그러면 우분투 리눅스에서 시스템 µSD를 사용할 수 있는 상태가 되 며, 어떤 디바이스 장치로 인식하였는지는 dmesg 명령어를 사용하 면 확인할 수 있음

– 시스템용 µSD 메모리가 /dev/sdb로 인식되었다고 가정하 고, RAW 영역의 BL1, BL2, Kernel 영역에 타겟보드용 이미 지 파일들을 설치

MicroSD 메모리에 시스템 이미지 올리기 -부트로더 설치

32

 부트로더 설치

– µSD 메모리의 RAW영역의 바이트 위치 정보

MicroSD 메모리에 시스템 이미지 올리기

-부트로더 설치

 부트로더 설치

– BL1 영역

• 부트로더와 관련된 체크섬 파일인 u-boot.bin.crc 파일은 BL1 영역 에 쓰여짐

• BL1 코드 생성

• 생성된 체크섬 파일 u-boot.bin.crc를 BL1 영역에 쓰기

MicroSD 메모리에 시스템 이미지 올리기 -부트로더 설치

34

root@esp:~/download# cd images ← 시스템 이미지 파일 있는 곳으로 이동

root@esp:~/download/images# makechecksum u-boot.bin 8192 ← u-boot.bin.crc 파일 생성 checksum : 0xea474

root@esp:~/download/images# ls u-boot.bin u-boot.bin.crc zImage

root@esp:~/download/images# dd if=u-boot.bin.crc of=/dev/sdb bs=1 seek=512 count=8192

8192+0 레코드 들어옴 8192+0 레코드 나감

8192 바이트 (8.2 kB) 복사됨, 0.034187 초, 240 kB/초

 부트로더 설치

– BL2 영역

• BL2 영역에는 부트로더 실행파일인 u-boot.bin을 기록

– ENV 영역

• ENV 영역에는 시스템 부팅 시 부트로더(u-boot)에서 필요한 기본 적인 정보와 파라미터 값들이 들어있음

• 부트로더 빌드 중 사용되는 환경변수들은 setenv()를 통해서 만들 어짐

MicroSD 메모리에 시스템 이미지 올리기 -부트로더 설치

root@esp:~/download/images# dd if=u-boot.bin of=/dev/sdb bs=1 seek=25088

248472+0 레코드 들어옴 248472+0 레코드 나감

248472 바이트 (248 kB) 복사됨, 0.656392 초, 379 kB/초

 부트로더 설치

– ENV 영역

• Achro210T 보드에서 사용되는 설정은 부트로더 소스 디렉토리의 board/samsung/achropv210/achro210.c 파일에 설정된 내용을 토대로 만들어짐

MicroSD 메모리에 시스템 이미지 올리기 -부트로더 설치

36

235 switch(regs) {

236 case BOOT_NAND:

237 Outp32(0xe02002a4, 0x0); // LED0 On 238 Outp32(0xe02002c4, 0x1); // LED1 Off 239 240 printf("checking mode for fastboot ...\n");

241 run_command("mtdparts default", 0);

242 243 if((~readl(0xE0200C04)) & 0x6) { 244 run_command("fastboot", 0);

245 } else

246 if(default_boot_mode) { // using default environment 247 sprintf(boot_cmd, "nand read %08x 600000

500000;nand read %08x B 00000 300000;

bootm %08x %08x"

248 , MEMORY_BASE_ADDRESS + 0x8000 249 , MEMORY_BASE_ADDRESS + 0x1000000 250 , MEMORY_BASE_ADDRESS + 0x8000 251 , MEMORY_BASE_ADDRESS + 0x1000000);

252 setenv("bootcmd", boot_cmd);

253 254 sprintf(boot_cmd, "root=ramfs devfs=mount console=ttySAC1,115200 ubi.mtd=4 ubi.mtd=5");

255 setenv("bootargs", boot_cmd)

 부트로더 설치

– 부트로더의 커맨드 모드에서 printenv 명령을 이용하여 해당 내용을 확인 가능

– 사용자는 부트로더 명령에서 setenv 명령을 통해서 이러 한 환경변수를 등록할 수 있는데, 이렇게 등록된 환경변수 는 환경변수 영역을 삭제하지 않는 이상 계속 유지됨

MicroSD 메모리에 시스템 이미지 올리기

-부트로더 설치

 부트로더 설치

– 호스트 시스템의 IP 주소와 타겟보드의 IP 주소 설정

– 저장 – 확인

MicroSD 메모리에 시스템 이미지 올리기 -부트로더 설치

38

PV210 # set serverip 192.168.10.100 PV210 # set ipaddr 192.168.10.110

PV210 # save

Welcome to Achro210T Linux Achro210T login: OK

……(생략)……

Hit any key to stop autoboot: 0 PV210 # pri

Bootdelay=3 Baudrate=115200

Ethaddr=00:40:5c:26:0a:5b Ipaddr=192.168.1.121 serverip=192.168.1.2

……(생략)

 커널 설치

– dd 명령어를 이용하여 커널 이미지 파일 (zImage)을 직접 µSD 메모리에 기록

– 일반적으로 부트로더가 시스템 메모리에 정상적으로 기록 되면, 그 이후로는 USB 또는 이더넷을 이용하여 부트로더 와 커널을 다운로드하여 µSD 메모리에 설치할 수 있음

MicroSD 메모리에 시스템 이미지 올리기

관련 문서