Embedded Linux를 사용할 경우에 가장 문제가 되는 점 중의 하나는 바로 용량일것이다.
어떻게 하면, 용량을 최소화하면서 필요한 기능들을 해당 장비에 다 구겨 넣을 것인가가 중요한 관건이 될 것이다.
여기에는 여러가지 관점에서 살펴 봐야 할 것들이 있을텐데, 몇가지 관련 링크들을 정리해 보고자 한다.
먼저, 유틸리티를 최소화 할 수 있는 방법으로는 많이 사용하는 것이 Erik Anderson이 관리하고 있는 tinylogin과 busybox 프로그램이 있을 것이다. 이들은 각각 http://tinylogin.busybox.net 과 http://www.busybox.net 에서 구할 수 있다. 이것은 관련된 유틸리티들을 하나의 프로그램에서 처리하게 함으로써 전체적으로 필요한 공간의 양을 줄여주는 프로그램이다.
프로그램 개발에는 많은 라이브러리들이 따라오게 마련이며 이런 라이브러리를 최소화시키는 것도 전체 용량을 줄일수 있는 한가지 방법이 된다. 그중에서도 libc 는 가장 기본이 되는 라이브러리로서 이것을 최소화 시킨 여러 프로젝트들이 있다. 다음은 그 중 유명한 몇몇 프로젝트이다.
uClibc (http://www.uclibc.org) : glibc와 유사하며, 공유 라이브러리와 멀티 쓰레드를 지원한다. MMU가 없는 ARM과 같은 장비에서도 작동된다.
sglibc (http://sourceforge.net/projects/sglibc) : glibc 호환되는 임베디드용 런타임 라이브러리
dietlibc (http://www.fefe.de/dietlibc/) : 정적 링크 방식으로 사용되며 전체적으로 크기를 줄이는데 목적이 있다.
만약, 임베디드 장비가 그래픽 화면을 사용한다면, X 윈도우가 필요하게 될 것이다. 보통은 XFree86 (http://www.xfree86.org)를 사용하며, 여기에 덧붙여서 gtk (http://www.gtk.org)나 qt를 사용할 것이다. 하지만, 이것들만으로도 5~10메가 가까이의 용량을 소모한다. 따라서, 용량이 작은 장비에서는 다음과 같은 프로그램들을 사용하기도 한다.
DinX (http://dinx.sourceforge.net) : 작은 윈도우 시스템으로서 프레임 버퍼를 사용함.
FLTK - Fast Light Toolkit (http://fltk.sourceforge.net) : C++로 작성되었으며 GUI 및 3D 그래픽을 지원함
Microwindows (Nano-X) (http://www.microwindows.org) : Xlib형 API 제공
어떻게 하면, 용량을 최소화하면서 필요한 기능들을 해당 장비에 다 구겨 넣을 것인가가 중요한 관건이 될 것이다.
여기에는 여러가지 관점에서 살펴 봐야 할 것들이 있을텐데, 몇가지 관련 링크들을 정리해 보고자 한다.
먼저, 유틸리티를 최소화 할 수 있는 방법으로는 많이 사용하는 것이 Erik Anderson이 관리하고 있는 tinylogin과 busybox 프로그램이 있을 것이다. 이들은 각각 http://tinylogin.busybox.net 과 http://www.busybox.net 에서 구할 수 있다. 이것은 관련된 유틸리티들을 하나의 프로그램에서 처리하게 함으로써 전체적으로 필요한 공간의 양을 줄여주는 프로그램이다.
프로그램 개발에는 많은 라이브러리들이 따라오게 마련이며 이런 라이브러리를 최소화시키는 것도 전체 용량을 줄일수 있는 한가지 방법이 된다. 그중에서도 libc 는 가장 기본이 되는 라이브러리로서 이것을 최소화 시킨 여러 프로젝트들이 있다. 다음은 그 중 유명한 몇몇 프로젝트이다.
uClibc (http://www.uclibc.org) : glibc와 유사하며, 공유 라이브러리와 멀티 쓰레드를 지원한다. MMU가 없는 ARM과 같은 장비에서도 작동된다.
sglibc (http://sourceforge.net/projects/sglibc) : glibc 호환되는 임베디드용 런타임 라이브러리
dietlibc (http://www.fefe.de/dietlibc/) : 정적 링크 방식으로 사용되며 전체적으로 크기를 줄이는데 목적이 있다.
만약, 임베디드 장비가 그래픽 화면을 사용한다면, X 윈도우가 필요하게 될 것이다. 보통은 XFree86 (http://www.xfree86.org)를 사용하며, 여기에 덧붙여서 gtk (http://www.gtk.org)나 qt를 사용할 것이다. 하지만, 이것들만으로도 5~10메가 가까이의 용량을 소모한다. 따라서, 용량이 작은 장비에서는 다음과 같은 프로그램들을 사용하기도 한다.
DinX (http://dinx.sourceforge.net) : 작은 윈도우 시스템으로서 프레임 버퍼를 사용함.
FLTK - Fast Light Toolkit (http://fltk.sourceforge.net) : C++로 작성되었으며 GUI 및 3D 그래픽을 지원함
Microwindows (Nano-X) (http://www.microwindows.org) : Xlib형 API 제공
'Linux > Embedded' 카테고리의 다른 글
| GPIO (0) | 2008/01/23 |
|---|---|
| 루트 파일 시스템 만들기 (0) | 2008/01/23 |
| Rebis 보드용 2.4.18 커널에 시스템 호출 추가하기 (0) | 2008/01/22 |
| Rebis 보드에 커널 이미지 올리기 위한 설정 과정 및 강의자료 (0) | 2008/01/18 |
| Embedded Linux 관련 링크들 (0) | 2007/10/08 |
TAG Embedded Linux
이올린에 북마크하기
이올린에 추천하기

