OpenWrt ?


 http://www.openwrt.org 페이지 처음에 소개되어 있듯이 OpenWrt(Open Wireless Router)는 임베디드 디바이스를 위한 리눅스 배포판이다. 2004년 초부터 배포된 공개 소프트웨어인 OpenWrt에서는 임베디드 기기 응용을 패키지 수준에서 쉽게 지원해주는 패키지 관리 툴(opkg 툴)과 프로그램 직접 개발을 지원해주는 OpenWrt SDK(Software Development Kit) 툴을 제공한다. 특정 응용을 위해 펌웨어를 처음부터 코드수준에서 직접 개발할 필요없이 OpenWrt를 하나의 기본 시스템으로 간주하고 그 위에 필요한 패키지를 추가하거나 또는 기본 시스템에 포함되어 있지만 불필요한 패키지를 삭제하여 원하는 최적의 펌웨어를 쉽게 만들 수 있다.

 OpenWrt가 80여개의 유무선공유기(인터넷공유기) 회사 제품에 적용될 정도로 계속적으로 많이 사용되고 있다. 그 이유는 시스템이 안정적이며, 뛰어난 패키지 관리 및 쉬운 개발 환경 툴을 제공하며, 문서화 및 커뮤니티 지원 등이 잘 되고 있기 때문이다. OpenWrt가 원래 유무선공유기를 위해 개발되었지만 유무선공유기 하드웨어가 임베디드 하드웨어이므로 OpenWrt는 임베디드 시스템을 위한 리눅스 개발 환경이라고 할 수 있다.

 유무선공유기는 하나의 네트워크기기이면서 동시에 하나의 임베디드 컴퓨터이다. 최근 유무선공유기의 하드웨어 사양을 보면 펜티엄 3급 성능을 가진 중앙처리장치(CPU), 수십MB 용량의 메인메모리, 수MB 용량의 보조메모리(플래시메모리)를 내장하고 있으며 다양한 종류의 입출력장치 들이 선택사양으로 제공한다. 유무선공유기는 리눅스기반의 임베디드 시스템 구축 및 시험을 위한 하나의 플랫폼이다. OpenWrt 관련 공개 개발 환경을 활용하면 다양한 응용을 쉽게 구현할 수 있다. OpenWrt를 사용할 경우 장점은 유무선공유기로 임베디드 리눅스 개발 시스템을 저렴한 가격에 구축할 수 있으며, 공개소프트웨어인 OpenWrt 커뮤니티가 지원하는 리눅스 패키지 프로그램들(약 1600개)을 이용하면 다양한 임베디드 응용 시스템을 쉽게 구축할 수 있다는 것이다.

 유무선공유기 응용사례는 다양하다. 유무선공유기에 블루투스, IrDA등 여러 무선 인터페이스기기들을 장착하거나 외장형 HDD 또는 USB 메모리를 추가로 장착할 수 있다. 또한 카메라 또는 스피커 등의 음향/영상기기 등 주변기기들을 장착하거나 주변의 PC, 노트북, 핸드폰, 음향기기, 영상기기들과 연동하게 할 수 있다. 또한 유무선공유기에 리눅스기반의 다양한 응용패키지를 추가하여 응용서버로 동작하게 할 수 있다. 유무선공유기 응용 사례들로는 무선 네트워크 허브(예: 유무선기기들 간 연동, 다양한 무선기기들 간 연동), 무선 오락 센터(예: 미디어저장/교환/변환, 미디어기기들 간 통신), 네트워크 보안 센터(예: 방화벽, 칩입탐지시스템, 개인인증), 응용 서버 센터(예: 화일서버, FTP 서버, 사진앨범서버, VOIP 서버) 등이 있다.

 OpenWrt 웹사이트에는 아래와 같은 내용이 들어 있다.



 최근에 릴리즈된 펌웨어의 수정사항들에 대해 공지해주며, 새로 추가된 하드웨어 스펙에 대해서도 알려준다. 또한 http://dd-wrt.com과 같이 OpenWrt가 아닌 다른 무선 공유기 관련 공개 소프트웨어에 대한 설명 및 링크를 제공해 준다. 메인 페이지 가장 위에는 Development, Documentation, Downloads, Wiki, Forum의 게시판들이 있으며 우측에는 검색(Search)을 할 수 있도록 구성이 되어 있다. 검색에서는 구글(Google)을 이용한 OpenWrt 사이트 전체 검색이 가능하다.
 
 
 
 개발자들이 소스를 개발하거나 수정하였을 때 고쳐진 부분을 공지하고, 개발자에게 질문을 할 수 있는 페이지이다. 최근에 수정된 점 등을 ChangeLog를 통하여 볼 수 있고, svn 명령어를 통하여 소스코드를 다운받을 수 있도록 해 준다. 리눅스에서 svn 명령어를 사용하게 되면 최근에 고쳐진 버전의 펌웨어 소스코드를 다운로드 받을 수 있게 된다. 또한 Ticket 등을 발행 받아 질문할 수 있도록 해준다. Browse Source에서는 최근에 바뀐 내용의 소스코드를 볼 수 있다.
 
 
 
 유무선공유기와 관련된 설명 및 설정 방법들이 소개되어 있다. 설치 방법 및 네트워크 설정 방법 등이 간단히 설명되어 있는데 Kamikaze와 관련된 내용이다.
 
 펌웨어를 다운로드 받거나 또는 개발을 위한 파일들을 다운로드 받을 수 있도록 해준다. 패키지 및 공개되어 있는 소스코드를 다운로드 받을 수 있고, Whiterussian 및 Kamikaze 관련 펌웨어들을 다운로드 받을 수 있다. 또한 관련 SDK를 다운로드 받을 수 있다.
 
 OpenWrt 관련 패키지 및 자세한 설정 방법 등을 알려주고 찾을 수 있는 페이지이다. 위키 페이지는 그 특징상 자신이 페이지를 수정할 수 있다. 만약 자신이 새로운 방식을 알았거나 잘못된 것을 알게 되면, 자신이 페이지 내용을 직접 수정하거나 추가할 수 있다. Documentation에 비해서 더 많은 정보를 알 수 있다. 만약 자신이 이전에 리눅스에서 사용해보았던 프로그램 및 사용하고 싶은 프로그램이 있으면 우측 위의 찾기를 이용하면 쉽게 찾을 수 있다. 예를 들어, 자신이 FTP 서버를 무선 공유기에 올리고 싶으면 찾기에서 FTP를 입력하게 되면 관련 설치 방법 및 설정 방법들에 대해서 알 수 있다.
 
 
 
 궁금한 점에 대해서 질문으로 올리거나 답을 해주는 페이지이다. Documentation 및 Wiki 페이지에서 얻을 수 없는 정보들을 포럼 페이지에서 얻을 수도 있다. OpenWrt 홈페이지가 아닌 다른 홈페이지의 링크를 통해 다른 정보들을 얻기도 한다. Whiterussian 관련 게시판과 Kamikaze 관련 게시판으로 나누어져 있으며, Search를 통해 검색이 가능하다. News에서는 최근 릴리즈 관련 내용 등이 공지되며, Register를 통하여 가입이 가능하다.