제임스딘딘의
Tech & Life

개발자의 기록 노트/Embedded Linux 9

[네트워크/프로토콜] BOOTP 에 대해서. BOOTP 패킷 형식(BOOTP Packet Format)

BOOTP 에 대해서. BOOTP 패킷 형식(BOOTP Packet Format) 위의 BOOTP 특성에서 알아봤듯이, BOOTP에서 정보를 교환한다는 것은 클라이언트가 보낸 요청과 서버가 보내는 답장 쌍을 이루는 것이다.BOOTP도 일반적인 다른 '요청 / 응답 프로토콜'들과 마찬가지로 요청 및 응답에 사용되는 공통된 메시지 형식을 정의해서 사용하고 있다. 구현하기 나름이겠지만, 일반적으로 클라이언트는 요청메시지의 크기만큼의 메모리 공간을 모두 0으로 초기화 하는 것 부터 시작한다.그런 다음 이전 항목에서 보았던 것처럼 각각의 메시지 필드를 채운 다음 요청을 서버로 보낸다. 사실 역시 구현하기 나름이겠지만, 일반적으로 서버측은 메세지를 처음부터 다시 작성하지 않고, 클라이언트로 부터 받은 요청을 메모리..

[네트워크/프로토콜] BOOTP 에 대해서. BOOTP 클라이언트/서버의 메세지전송과 주소설정 방법

BOOTP 에 대해서: BOOTP 클라이언트/서버의 메세지전송과 주소설정BOOTP는 다양한 장치에 사용할 수 있지만, 최초 개발의 주된 동기 중 하나는 저장 장치가 없는 "멍청한"장치를 자동으로 구성하는 방법을 제공하는 것이었다.대부분 이러한 멍청한 장치들은, 비교적 제한된 기능만을 가지고 있기때문에, 근사한 부팅 프로토콜을 지원하도록 요구하는 것은 사실 말이 되지않았다.따라서 BOOTP는 복잡한 개념이나 근사한 개념 혹은 근사한 구현 요구사항 없이, 호스트 구성을 수행하는 복잡하지 않은 프로토콜이다. BOOTP 클라이언트 및 서버다른 많은 TCP / IP 프로토콜과 마찬가지로 BOOTP는 실제로 클라이언트 / 서버이다.프로토콜의 작동은 BOOTP 클라이언트와 BOOTP 서버 간의 단일 메시지 교환으로 ..

eth0 에 고정 IP 주소할당하기(static IP address)

문제요약: eth0 에 고정 IP주소(static IP address)를 할당하고자 한다. 지난번 포스팅(http://techlog.gurucat.net/277)을 하면서 판다보드에서 살린 두개의 network interface중에서 eth0 에 '192.168.1.1' 과 같이 고정 IP를 할당하고 싶다.이유는 PC와 판다보드를 LAN cable을 통해 direct연결 한 후, putty와 같은 툴을 사용해서 ssh shell로 연결 하여 개발을 진행하려고 하는 것이다.판다보드를 부팅한 후, eth0 에 어떻게 고정 IP를 할당할 수 있는가? 해결 할당하려는 IP는 192.168.1.1 이다. 원래는 bootloader에서 argument 읽은 후 kernel로 argument 전달하는 방식을 택하려 ..

[임베디드/판다보드] Networking Interface Initialize

문제현상판다보드에서 리눅스를 부팅한 후, ifconfig로 확인해보면 'lo' 라고 표시되는 loopback interface (127.0.0.1) 만 bring up되고, eth0(ethernet)과 wlan0(Wi-Fi interface)는 자동으로 bring up되지 않는다.'ifconfig up wlan0', 'ifconfig up eth0' 을 사용해서 커맨드라인에서 수동으로 bring up 을 해보면, 정상적으로 bring up 되는 것을 확인했다. 부팅시퀀스에서 bring up 되도록 하는 방법이 있을 텐데 비활성화 되어 있는 것 같다.어느 부분을 수정해야 하는지 내가 모르고 있는 것 같아서, 찾아보았다. 해결 우선 판다보드의 네트워크 인터페이스를 확인해보았다. root@arm:~# ls -..

Kernel command line 보는 방법

Linux kernel command line, boot argument 동작중인 kernel의 shell상에서 command line parameter를 보는 방법은 아래와 같다.이를 'boot arguments' 라고도 한다. $ cat /proc/cmdline 여기에는 linux kernel이 부팅할 때 필요한 여러가지 정보들을 kernel에게 넘겨주는 형태로 사용한다.예를들면 root device나 network configuration등에 대한 정보들 말이다. boot loader에서 linux kernel로 변수정보 넘기기boot loader에서 linux kernel로 정보를 넘길때도 사용할 수 있다.U-boot 에서는 'bootargs' 라는 변수의 값을 자동으로 linux kernel 부..

[네트워크/프로토콜] BOOTP 에 대해서. BOOTP란? BOOTP 특성?

BOOTP란? (bootstrap protocol) Bootp는 TCP/IP상에서 자동 부팅을 위한 최초의 표준프로토콜이다.디스크 장치가 없는 클라이언트를 구동시키기 위한 목적으로 개발되었다.여기서, 디스크 장치가 없는 클라이언트라고 하면, 과거 Unix머신과 연결해서 사용하던 'X터미널' 과 같은 장비쯤 되시겠다.이 터미널 장비는 디스크 장치가 없으므로, 장치의 설정정보를 저장할 곳이 마땅치 않게된다. 그러니깐, 디스크 장치를 가지고 있는 Main Unix머신이 이 정보를 가지고 있다가, X터미널이 실행되고 Unix머신에게 연결하려고 신호를 보내면, Unix머신은 Bootp 서버를 이용해서 X터미널에게 이런 정보들을 알려주게 된다.그러면 X터미널은 BOOTP클라이언트 쯤이 된다.정확하게 말하면 클라이언..

PandaBoard ES : 부팅용 SD card 준비

PandaBoard ES : 보드 부팅을 위한 SD card 준비 TI 의 ARM Cortex A9 기반의 임베디드 보드인 PandaBoard ES에는 내장된 별도의 저장공간이 없다. 대신에 sd card슬롯을 제공하고, sd카드의 boot partition을 통해 부팅을 하게된다. 아무래도 trial(시험용) 보드 성격이 강해서 그런 것이리라.. 우선 판다보드 부팅에 사용할 sd카드를 준비하는 작업이 필요하다.다음 순서로 진행할 것이다. 1. SD카드 파티션 분할 및 각 파티션 포맷2. U-Boot 소스코드 다운로드 및 빌드3. Linux Kernel 소스코드 다운로드 및 빌드4. Ubuntu의 Root File System 확보 및 SD카드에 복사5. Wi-Fi driver firmware 확보 및 ..

[Panda Board-es] Trouble shooting: booting에 문제가 있음.

3년전 구입해 가지고 있던 Pandaboard-es에 안드로이드를 올려서 가지고 놀아보고자, 다시 꺼내었다.SD카드 파티셔닝/포맷 후에 u-boot와 MLO를 넣고 booting 시도했으나 실패.serial연결해도 booting log조차 출력되지 않는 상황이었다. 오랫동안 사용하지 않은 보드의 H/W 적인 문제가 아닌가 고민하다가 pandaboard.org 에서 검색해보니 아래와 같이 H/W의 문제인지 아닌지를 판단할 수 있도록 pre-built 된 u-boot이미지, MLO, 그리고 kernel을 제공하고 있었다. 또한 제공된 이미지 안에 H/W test를 위한 쉘스크립트가 '/bin' 아래에 'panda-test.sh' 라는 이름으로 함께 제공되고 있어서 실행만 하면 다음 항목들에 대해 간단히 정상..

Pandaboard ES 구매

Pandaboard ES 구매 삼성소프트웨어 멤버십 임베디드 시그에서 공부하는데 사용하려고 구매했다. Pandaboard ES 보드이다. Ti Omap4460 를 프로세서로 사용하는 보드. 아직 국내판매처는 없는 것 같고, digikey 를 통해 구매하였다. 링크 : http://www.digikey.kr/ 주문 후, 1~2일 기다리면 digikey 측에서 email 을 통해 invoice 작성을 요청해온다. 작성하여 다시 email로 회신해주었더니, 상품 배송을 해주었다. UPS를 통해 배송해 주었고, 미국에서부터 배송기간은 4일 정도 걸렸다. (9월 17일 상품 준비~9월20일 대전에서 수령) 수령후 10일 이내에 입금 하면 되는데, 상품 가격은 19만7천원 가량이었다. 수령한 보드는 아래와 같은 임..

1