들어가기 전에
이 문서는 Yopy 를 이용해서 노트북(?) 못지 않게 써보자!! 라는 나의 개인적인 생각에서 시작된 문서이다. 여기서는 Yopy 를 가지고 뭔가를 해보기 위한 환경을 구축하는 방법을 설명한다. 앞으로는 편의상 Yopy 대신 요피로 부르겠다. 우선 요피라는 것이 무엇인가에 대해 알 필요가 있을 것이다.
요피(YOPY) 소개
요피의 제조사인 http://gmate.co.kr 지메이트 사이트에서 발췌한 하드웨어 스펙은 다음과 같다.
- 프로세서 : 206 MHz Intel Strong ARM 32비트 RISC 프로세서
- 운영체제 :ARM Linux (Linupy™), X window System
- 디스플레이 : 3.5인치 Front Light 반사형 TFT LCD,
- 240×320 해상도(65,536컬러)
- 메모리 : RAM 128MB , 32MB ROM
- 인터페이스 : 키 패드 (QWERTY키) : 전원, 방향키, 문자 입력, 프로그램 실행
- RS-232C / USB (Client)
- 적외선 포트 (115Kbps)
- 멀티미디어 카드 (MMC) 슬롯
- 스크롤 키 (좌측면)
- 스피커 / 마이크
- 이어폰 잭 (Ø3.5mm 스테레오)
- CDMA 2000 1X 모듈
가장 눈에 띄는 점이라면 바로 Strong ARM 을 썼다는 점일 것이다. 또한 운영체제가 리눅스라는 점이다. 마지막으로 CDMA 모듈을 장착했기 때문에 휴대폰으로 사용할 수 있다는 점이다.
그렇다. 눈치빠른 사람이라면 알았을 지도 모르겠지만, 요피는 PDA폰이다. 이 제품이 출시된 것은 2001 년도 말경이다. 그때 당시만 해도 PDA폰이 요즘 만큼은 흔하지 않았다.
하지만, 높은 가격과 투박스런 디자인(개인적인 생각) 탓에 그리 관심을 끌지는 못했다. 나 또한 모르고 지내다가, 2004년 1월에 내 폰이 고장이 나는 바람에 새 핸드폰을 알아보던 중에 우연히 알게 되었다. 거의 대부분의 PDA 시장을 점유하고 있는 Winows CE 와 Palm 이 아닌 리눅스를 사용했다는 점에서 끌렸다. 또한 우리 나라에서 만들었다는 것에 또 한번 끌렸다.
얘기 밖으로 좀 흘렸는데…^^;
소개는 이정도로 하겠다. 저 자세한 것은 제조사 사이트나 http://kyug.net 요피 사용자 그룹 사이트를 참고 하기 바란다.
기본 환경 구축
위의 사양에서도 보았듯이 요피는 Strong ARM 을 사용했기 때문에 크로스 컴파일러 환경을 구축해야 한다. 방법은 여러가지가 있다.
내가 만든 문서를 참고해도 된다. toolchain_arm_설치하기
요피에서는 고맙게도(?) 크로스 컴파일러를 기본적으로 제공한다. 다음의 주소에서 다운로드 받으면 된다.
- Binary 용
yopy-toolchain.tar.Zip
RPM 용은 레드햇 7.1 에 최적화 되어있다. gcc 나 glibc 버전 때문에 어쩔 수 없는 듯 하다. 이후로 차후 툴체인이 나오지 않는 것으로 봐서는 이게 마지막인 듯 하다. 바이너리용은 다운로드 받아서 압축만 풀면 바로 사용할 수 있다. 나중에 포팅할 때, 느끼겠지만 나온지 거의 2년이 넘은 gcc 와 glibc 로 만든 툴체인이기 때문에 요즘에 나온 프로그램을 컴파일하기에는 무리가 따를 것이다. 만일 된다하더라도, 요피에서 돌아간다는 보장은 없기 때문이다.
☞ RPM 의 경우 설치하면 /opt 디렉토리 아래 설치가 된다. Binary 도 마찬가지로 /opt 디렉토리에 압축을 풀어야 한다. 그렇지 않으면 링크 문제로 제대로 동작을 안한다.
이로써 기본 환경 구축은 끝냈다. 참고로 나는 와우 리눅스 7.1 에 설치했다.
포팅 하기
힘들게(?) 설치한 툴체인을 사용해보자!! 앞에서도 말했지만, 우리가 설치한 툴체인으로 막상 포팅하기 쉬운 것들이 별로 없다. gcc 나 glibc 의 영향을 받지 않는 단순하고, 간단한 프로그램이라면, 문제 없이 될 것이다.
그 중에서, 요피에 기본적으로 들어 있는 브라우저 프로그램인 dillo 가 있다. 기본으로 탑재된 프로그램은 버전이 낮다.
그래서 이번에는 최신버전을 요피에 포팅해보려고 한다. 써보면 알겠지만, 정말 단순한 기능의 브라우저다.
dillo 홈페이지 http://www.dillo.org 에서 받으면 된다. 현재 최신 버전은 0.8.1 이다.
포팅에 들어가기 전에 확인해야 할 것이다. 바로 앞에서 설치한 툴체인의 PATH 가 제대로 걸렸는 지 확인해보는 것이다. PATH 가 걸리지 않으면 설치한 툴체인이 아닌, X86용 gcc 로 컴파일되기 때문이다. 다음의 명령어로 확인해보자!
#env
만일 PATH 가 안걸렸다면,
#export PATH=/opt/arm-linux/bin:$PATH
해준다.
이제 본격적으로 포팅에 들어가 보자!! 언제나 그렇듯 압축풀고 설정하고, 컴파일하면 된다. ^^;
#tar xzvf dillo-0.8.1.tar.gz #cd dillo-0.8.1 #./configure --host=arm-linux // --host=arm-linux 이나 --host=arm-linux --includes=/opt/arm-linux/include --x-libraries=/opt/arm-linux/lib 옵션을 주어야 할때도 있다. #make #cd src #file dillo
아래와 비슷한 메세지가 나온다면, 성공이다.
dillo: ELF 32-bit LSB executable, Advanced RISC Machines ARM, version 1, dynamically linked (uses shared libs), not stripped
이제 남은 요피로 옮겨서 실행시켜보는 것이다. 잘 동작한다. 한가지 문제가 있다. 바로 화면 해상도 문제이다. 요피는 해상도가 240×320 때문에, 맞지 않는다.
이것은 풀어야 할 숙제로 남아 있다. -_-;
그 외 것들
여기서는 요피의 커널과 파일시스템을 설치하는 방법은 다루지 않는다. 역시 제조사 사이트나 메뉴얼을 참고하기 바란다.