일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 디바이스 드라이버
- .config
- GPIO
- Module.symvers
- gui
- 라즈비안
- tftp-hpa
- 최단경로
- 모듈
- 라즈베리파이3 라즈비안
- AWS
- tftp 서버
- 라즈베리파이3 ftfp
- 디바이스드라이버
- 일곱 난쟁이
- putty
- 한수
- dfs recursive
- 라즈베리파이 uboot
- tftp
- 라즈베리파이3
- stack
- 인접행렬
- DFS
- deque
- STL deque
- 백준
- uboot
- u-boot
- 2309
- Today
- Total
달공이와 임베디드
라즈베리파이 3B 를 U-boot & TFTP 실행하기 본문
라즈베리파이 3B 를 U-boot & TFTP 실행하기
tftp 는 파일을 전송시키는 udp 형식의 프로그램이라 할 수 있다. 일반적으로 개발환경에서 다양한 커널을 개발보드에
불러오기 위해 사용될 수 있다. tftp 를 사용하기 위해서는 tftp 서버로 사용할 pc 가 필요하다. 서버 pc 에서 통신을 통해
개발보드로 tftp 를 통해 커널이미지를 받아 오는 것이다. 우선 서버 pc 환경을 만들어 보자.
Server : PC 우분투 환경에서 tftp 서버 만들기
1) apt-get install tftp-hpa
apt-get install tftpd-hpa ( 더이상 tftp 보안상의 이유로 우분투에서 지원하지 않는다. )
2) vim /etc/default/tftp-hpa ( 그런데, 기본적으로 아래와 같이 설정되어 있음 )
tftp 서버에서 공유할 파일이 들어있는 폴더의 경로가 바로 "/tftpboot" 라는 것이고, 69번 포트를 사용한다는 의미이다.
따라서 공유할 파일이 들어갈 폴더를 만들어야 한다.
mkdir /tftpboot & chown nobody tftpboot & chmod -R 777 tftpboot
tftpboot 폴더안에 공유하려는 파일 예를들어 kernel7.img 를 넣고.
servcie tftpd-hpa restart ( 항상 파일이 변경되면 이를 수행해 주어야 한다. )
Client : u-boot 환경에서 tftp 받아오기
u-boot 는 이러한 tftp 와 같은 것을 하기 위해 만들어진 프로그램이므로 이를 위한 명령어가 이미 설정되어있다.
따라서, 환경변수로 클라이언트(개발보드)의 ip와 tftp 서버 PC 의 ip를 간단히 입력해주고 tftp 를 사용하면 된다.
tftp의 명령어 구조는 "tftp [적재할 위치] [적재할 파일]" 인데, u-boot 에서는 일반적으로 잘 사용되는 위치인
${kernel_addr_r} 과 ${fdt_addr_r} 을 이미 정의해 두고 있다.
${kernel_addr_r} 은 0x01000000, ${fdt_addr_r} 은 0x0100 이다.
setenv ipaddr 211.188.17.38 ( 자신의 개발보드의 ip 설정 )
setenv serverip 211.188.17.39 ( 서버의 ip 설정 )
tftp ${kernel_addr_r} kernel7.img
tftp ${fdt_addr_r} bcm2710-rpi-3-b.dtb
bootz ${kernel_addr_r} - {fdt_addr_r}
'라즈베리파이' 카테고리의 다른 글
OpenCV 설치하기 (0) | 2018.09.21 |
---|---|
라즈베리파이 절전 모드 해제방법 (0) | 2018.09.20 |
라즈베리파이 3B 를 U-boot 를 통해 실행하기 (2) | 2016.08.17 |
라즈베리파이 3B 실행하기 (0) | 2016.08.16 |