■ OpenWrt는 무선랜 라우터를 위한 비실시간(Non-Real-Time) 리눅스 기반의 오픈 소스 운영 체제이다.
 

(1) openWRT
: 초기에는 Linksys사의 가정용 무선랜 라우터 모델인 WRT54G 시리즈의 성능을 강화하기 위한 커스텀 운영 체제로서
  개발이 시작되었다가, 이후 점차 다른 무선랜 라우터들을 지원하기 시작하여 지금은 대부분의 라우터 플랫폼을 지원
  하고 있다.

- OpenWrt는 다양한 Embedded 형태의 무선라우터를 지원하는  Embedded Linux의 한 종류이다.
  무선라우터 기능을 가지는  Embedded Board들은 대개 제한된 프로세싱 능력과 메모리를 가지기 때문에 Linux의
  모든 기능을 구현하는 것이 불가능하다. 따라서, 필요한 기능들만을 선택적으로 설치, 사용할 필요가 있다.
  OpenWrt는 이러한 리눅스의 여러가지 기능들을 패키지의 형태로 제공함으로서 사용자들에 편의를 제공한다.


(2) 특징
: OpenWrt는 일반 게이트웨이 장비에 내장된 펌웨어가 제공하는 여러 기능들, 예를 들어 DHCP 서비스나 WEP, WPA,
  WPA2 같은 무선 보안 기능들을 기본적으로 제공한다. 또한 이런 기본적인 기능 이외에 기본 펌웨어에서 제공하지
  않는 다음과 같은 여러가지 기능들을 추가로 제공한다.

- NAT 뒤에 있는 컴퓨터로 들어오는 외부 트래픽에 대한 포트포워딩 기능.
- 동적 포트포워딩을 위한 UPnP 기능.
- 정적인 DHCP 할당.
- 강력한 방화벽과 라우터 설정.
- VoIP, 온라인 게임, 멀티미디어 스트리밍 서비스를 위한 QoS 설정.
- 무선 리피터, AP, 무선 브릿지등으로 다양하게 장비를 설정할 수 있음. 이들 설정을 조합하여 사용하는 것도 가능하게
  해줌.
- 메시 네트워킹
- 고정 IP를 제공하지 않는 ISP 사용자를 위한 다이나믹 DNS 기능.
- SSH나 telnet을 통한 명령 줄 접근
- USB 포트를 지원하는 장치의 경우 프린터 공유나 윈도 호환 파일 공유 (SAMBA), USB 오디오 등 연결 가능한 여러
  장치 지원.
- 실시간 네트워크 감시
- 강력한 AJAX 웹 인터페이스.
- 가장 중요한 것으로, 규칙적인 버그 수정과 업데이트. 제조사가 더이상 지원하지 않는 장비도 지원.

 
(3) openWRT 설치하기

- 컴파일과정은 크게 커널컴파일과 패키지컴파일 과정으로 나눌 수 있다.
- 커널을 컴파일하기 위해서는, 먼저 적당한 위치를 잡아 디렉토리를 만든 후 그 디렉토리에 들어간다.
(내가 사용하는 Intel XScale 프로세서의 경우 커널버젼은  /target/linux/ixp4xx/Makefile에 설정되어 있다.)

- 그리고 나서, trunk를 다운로드한다. (subversion이라는 유틸리티의 사용법을 참조한다.)
>svn co https://svn.openwrt.org/openwrt/trunk ./trunk

- packages를 다운로드한다.
>svn co https://svn.openwrt.org/openwrt/packages ./packages

- trunk 디렉토리로 들어가 다음을 실행시킨다.
>make prepare (첫 실행시 자동으로  make kernel_menuconfig도 함께 실행)
>make kernel_menuconfig
>make menuconfig
>make
이때, 메뉴에서 원하는 보드타입과 옵션을 선택한다 (.config파일에 저장)

- 컴파일이 끝나면 /bin 디렉토리에 커널이미지와 기본패키지파일들이 저장된다.

- 만일 기본패키지외에 추가적인 패키지가 필요하면  make package/[symlinks]로 이 패키지들을 리스트에 추가
  시킬 수 있다.  이 후, make menuconfig에서 필요한 패키지들을 다시 선택하면 된다.

추가팁1) 만일 IMQ를 설정했는데 컴파일된 모듈을 찾을 수 없다는 에러메세지가
             발생하면 kernel_menuconfig에서 IMQ를 해제하고 make으로 컴파일한 후
             다시 이를 설정하면 문제없이 컴파일 할 수 있다.

추가팁2) 현 사용자가 /tmp디렉토리를 액세스할 수 없는 경우 sed등에서 컴파일
             에러가 발생하는데 이경우 이 디렉토리의 모드를 바꾸어 준다.



※ 출처 : http://loveyuna.egloos.com/1924271

by 민트앤라떼 2011. 11. 2. 10:26