비글본 블랙 TFTP 부팅하기

비글본 블랙 TFTP 부팅하기는 SD 카드만 쓰지 않고 네트워크로 이미지를 올려서 부팅하고 싶을 때 쓰는 방식이다. BeagleBone Black 실습에서는 한 번쯤 꼭 해볼 만하다.

TFTP는 단순하다. 서버에 올려둔 커널이나 이미지를 부트로더가 가져가게 하면 된다. 그래서 매번 카드 굽는 시간을 줄일 수 있다.

왜 TFTP를 쓰나

부팅 이미지를 자주 바꾸는 경우, TFTP가 꽤 편하다. 특히 U-Boot에서 커널을 불러오거나, 테스트용 이미지를 빠르게 바꾸고 싶을 때 좋다. 그래서 U-boot 컴파일하기와 같이 보면 흐름이 맞는다.

기본 순서

  1. PC에 TFTP 서버를 준비한다.
  2. 보드와 PC의 네트워크를 맞춘다.
  3. U-Boot 환경변수를 확인한다.
  4. 커널 이미지나 dtb 파일을 서버에 올린다.
  5. 보드에서 tftpboot로 파일을 받아 부팅한다.

이 글은 단순히 명령어를 외우는 글이 아니다. 실제로는 BeagleBone 리눅스 빌드하기에서 만든 결과를 네트워크로 불러오는 흐름이라고 보면 된다.

실습할 때 보는 포인트

서버만 띄운다고 끝이 아니다. 파일 이름, 경로, IP 주소가 다 맞아야 한다. 그리고 U-Boot 쪽 bootcmd나 bootargs가 잘못되면 파일은 받아도 부팅이 안 된다. 그래서 한 번에 성공시키려 하지 말고, 파일 하나씩 확인하는 편이 낫다.

TFTP는 크로스 툴체인 설치가 되어 있어야 파일도 다시 빌드할 수 있다. 결국 이 시리즈는 다 연결돼 있다.

주의할 점

네트워크가 안 맞으면 어디서 막혔는지 찾기 어렵다. 그래서 먼저 ping부터 확인하고, 그다음 TFTP transfer를 봐야 한다. 그리고 보드가 실제로 파일을 받아왔는지 로그를 꼭 확인하자.

정리

비글본 블랙 TFTP 부팅하기는 개발 시간을 줄여주는 방식이다. 부팅 흐름을 이해하고 나면, SD 카드만 쓰던 때보다 훨씬 편해진다.

실행 체크

TFTP 부팅은 서버와 보드가 같은 방향을 보고 있어야 된다. 서버가 떠 있어도 IP가 엇갈리면 바로 막힌다. 그래서 처음엔 파일을 받는 것보다 네트워크 확인이 더 중요하다.

커널 파일, dtb 파일, U-Boot 환경변수까지 같이 봐야 부팅 흐름이 자연스럽다. 한 번 맞추면 SD 카드 없이도 테스트가 빨라진다.

  • 서버 IP 확인
  • 파일 경로 확인
  • U-Boot 환경변수 확인

TFTP 부팅은 보드와 서버가 같은 언어를 써야 한다는 느낌이다. 파일 경로, IP, U-Boot 변수 중 하나만 틀려도 바로 막히니까, 처음엔 하나씩 확인하는 게 제일 빠르다.

이 글의 핵심은 부팅을 빠르게 반복할 수 있게 만드는 것이다. 파일 하나 바꾸고 다시 확인하는 흐름이 TFTP의 장점이다.

댓글 남기기

이 사이트는 Akismet을 사용하여 스팸을 줄입니다. 댓글 데이터가 어떻게 처리되는지 알아보세요.