
에... 요즘은 이것저것 많이 했는데 못올린게 많다.
최근의 쾌거라면... UIM + anthy를 이용해서 Maydew RC2에 일본어 입력을 지원하게 되었다.
그리고 tilda라는 맘에 드는 터미널 에뮬레이터까지... :p
그 외에 지금은
gtk+ webcore를 컴파일해서 kazehakase를 올릴 생각이다.
아무래도 Firefox는 너무 무겁고... 종종 뻗어버리는 사태가 일어나기도 하고....
Dillo는 한글 입력에 문제가 있다. 그 덕분에 다른 대체품을
찾기 시작했는데... 눈에 띄는게...
midori라는 녀석과 kazehakase(일명 : Dr.Wind) 였다...:p
일단 gtk+ webcore도 컴파일이 만만치 않다...;ㅅ;
뭐... osb-browser도 있고... gtk+ webcore 쓰는 녀석이 꽤 되는 것 같다. :p
잡설은 집어치우고... XFCE 4.4.1... e17 이후로 꽤 맘에 드는 녀석이다... :)
일단 다양하게 지원되서 나름 유용하게 쓰고 있다. 오랫만에 맘에 드는 윈도우 매니저를 만난 기분... :)
[다운로드 :
http://akirose.hacktizen.com/zaurus/maydew_rc1/xfce]
음... 끝끝내 삽질끝에 만들어낸 나의 첫번째 진정한 배포판!
지금까지 사용하면서 beta 3가 큰 문제 없이 가장 여유롭게 돌아가주는 덕분에... 소스로 Beta 3를 이용했습니다. 하하-_-;
(이름까지 지어줬슴다... 점차점차 업그레이드 해볼 생각이지요...잇힝...-_-)
설치는 일반적인 pdaXrom 설치하듯이 해주시면 됩니다. (다들 아시죠...??)
일단 지원 기종은 SL-C1000, SL-C3100, SL-C3200 입니다.
조만간 SL-C3000도 노려볼 생각이에요... (hdimage 제작할 예정... 근데 전혀 모름... 3000이도 없슴... 테스트 불가...ㅎㅎ)
자... 그럼 혹시나 하는 마음에 설치에 대한 설명을 잠시 해보도록 하겠습니다.
우선 압축을 풀면 나타나는 3개의 파일 (updater.sh , initrd.bin , tools.tar)을 SD 또는 CF의 루트에 넣어줍니다.
일단 부팅되있는 상태라면... reboot 를 슬그머니 때려주시고... 귀찮으시면 베터리 뚜껑열고 그냥 리셋버튼을 누르시고-_-;
OK 버튼을 누르고 있습니다. 언제나 반갑지만은 않은 업그레이드 메뉴가 뜹니다.
4번을 선택해 줍니다.
그리고 잠시 기다리면 샤프 로고와 함께 설치화면이 뜹니다. (pdaXrom의 그것과 100% 동일합니다.)
3번 Nand Utility에 가셔서 3번 64M 제한에 대한 fix를 먼저 실행합니다.
리붓 할겁니다. 또 OK를 누르고 계시고 다시 설치화면까지 반복해서 갑니다.
이번엔 3번 Nand Utility에 가셔서 1번 rootfs의 사이즈를 조절해줍니다.
최대 121M 이며 121 이라고 적어주고 OK 합니다. -_-;
자 또 리부팅 합니다. 또 OK 누르고 있슴다...
설치화면이 뜨면 1번 새로운 롬을 설치한다~ 를 선택해줍니다.
잠시 기다려주면 설치가 완료되겠죠... (용량이 커서 좀 걸리더라구요...ㅎㅎ-_-;;;)
설치가 완료되면 6번 Reboot를 눌러주신뒤에 -_-; 열심히 써주시면 되겠습니다. 하하 =_=)b
이번에 포함된 것으로는...
Enlightenment DR17 - 20070601 CVS (Yonggun님께 감사를... :) )
xfe - 모두들 알고 계실겁니다. 기본롬의 Tree Explorer와 비슷한 녀석입니다.
Sakura - vte 기반의 터미널입니다. UTF-8로 한글 입/출력이 자유로운 터미널이라 만족스럽습니다.
Qcomicbook - 만화책뷰어입니다. 상,하 버튼이 패치되어 있습니다.
GMPC - 음악플레이어 입니다. (홈 폴더내에 music 폴더안에 CF 또는 SD의 음악이 모여있는 폴더를 링크걸어주시면 됩니다.)
SMplayer - mplayer의 frontend 입니다.
KDE PIM/PI - Addressbook, Calendar, e-Mail Client, Password Manager가 포함되어 있습니다.
Xournal - 간단하게 메모용도로 적합한 프로그램입니다.
JustReader - 이북리더 입니다. 매우 유용하죠 -_-);
프로그램은 대략 위와 같겠네요. :)
이 롬은 기본으로 한글로 로케일이 설정되어 있습니다.
uim-1.4.0 이 설치되어 있고 한글 폰트로 은돋움을 사용합니다.
그 외에는 특별한 특이사항은 없겠네요. :) 써보시고 의견을 말씀 부탁드립니다. ㅎㅎ :)
[다운로드 :
http://akirose.hacktizen.com/zaurus/maydew_rc1/maydew_kr_RC1.zip ]
음... Yonggun님께서 포팅해주신 qcomicbook이 있으나 스위블해서 사용할 때 space, backspace 키를 사용할 수 없어서 스크롤할때 꽤나 답답하다고 느꼈다. 그래서 심심풀이로 별로 어렵지 않은 문제이니... qcomicbook에 사용되는 단축키에 대한 부분을 슬그머니 수정해줬다.
기존에 Up, Down 버튼을 누르면 상,하로 3px씩 스크롤 되었지만 지금은 space,backspace에 해당하는 기능이 매핑되어있다.
그리고 기존의 상하스크롤은 Ctrl+Up, Down 으로 매핑시켜두었다.
이렇게 바꿔주니 스위블하고 사용할 때도 좀 더 쓸만하게 된 것 같다. :)
오늘은 pdaX86과 pdaXrom-builder를 이용해서 ARM Cross Compile 환경을 구축했다.
장장 12시간에 가까운 삽질 끝에 성공했다.
국내 사이트에서는 pdaXrom의 Cross Compile 환경에 대한 문서를 찾아보기란 매우 어려웠다. -_-;
결국 삽질끝에 일본사이트(
http://comomo.shacknet.nu/docs/pdaxrom/gentoo_pdaxrom_cross_compiling)에서 Gentoo Linux에 Cross Compile 환경을 구축하는 문서를 찾을 수 있었다. 해당 글의 필자가 쓴 글을 보게되면 쉽게 이해할 수 있을지도 모르겠다. (일본어를 할 수 있다는 조건이 있어야 한다.)
위의 글을 끝까지 읽어보면 결국 Gentoo Linux + pdaXrom builder는 동작은 하지만 여러가지 문제점으로 결국 pdaX86 + pdaXrom-builder로 구축했다는 이야기를 볼 수 있다.
뭐 나는 특별히 사용중인 리눅스라고는 Ubuntu(Desktop) 밖에 없었기 때문에 그냥 생각할 것 없이 pdaX86을 선택했다.
일단 작업은 VMware에 하게 된다. 고로 VMware를 사용해야 한다.
물론 여유의 하드디스크를 가지고 있다면 특별히 VMware에 할 필요는 없다. :)
1. pdaX86의 다운로드
pdaX86은 특별히 설치가 필요하지 않다. (Live CD 이미지이다...)
이 점이 좀 더 편리할 수 있다. 기본적으로 pdaX86은 RAM Drive를 이용해서 구동하게 되어있지만...
RAM Drive는 휘발성이라는 문제점과 적은 용량 덕분에 크로스 컴파일 환경을 구축하기에는 부족함이 크다.
그래서 우리는 하드디스크를 필요로 한다. 하드디스크를 셋팅해주면 pdaX86 Live CD로 부팅시 알아서 RAM Drive를 대신해서 하드디스크를 마운트하여 사용한다.
일단 pdaX86을
http://pdaxrom.org 에서 Download 로 가서 자신이 원하는 버전을 다운로드 한다.
참고로 자우루스에서의 Beta 1, 3은 커널 2.4.20을 이용하지만 pdaX86은 커널 2.6을 이용한다.
고로 Beta1 ~ r121까지의 어떤 pdaX86의 iso이미지를 받아도 무관하다. 하지만 확인한 바로는 r121 이하의 버전에서는 svn이 설치되어 있지 않다.
그래서 나는 r121을 사용했고 r121을 사용할 것을 권장한다.
다운로드를 완료했다면 다음으로 넘어가도록 하자!
2. VMware의 설정
VMware에서 새로운 가상PC를 만들어주며 다음과 같이 설정하도록 한다.
하드디스크는 20기가 정도를 잡아주면 무난하게 사용할 수 있다.
여기서 주의해야할 점은 pdaX86은 SCSI 형식의 하드디스크를 지원하지 않는다. 고로 IDE 형식의 하드디스크 이미지로 만들어주어야 한다.
넉넉한 공간을 위해서 20기가로 잡아주었고 20기가로 잡아주었다고 해서 실제 디스크에서 이미지의 크기가 20기가가 되지는 않는다. (20기가를 잡도록 할당해주지 않았다면...-.-)
그리고 pdaX86의 부팅을 좀 더 편리하게 하기 위해서 CD-ROM은 ISO 이미지를 사용하도록 한다.
다운 받은 pdaX86의 이미지 파일을 선택해 주면 된다.
위의 설정을 마쳤으면 가상PC를 켜고 F2를 눌러 설정에서 부팅 우선순위를 CD-ROM을 첫번째로 설정한다.
이 것으로 VMware의 설정도 끝이 났다.
3. RAM Drive가 아닌 HDD를 이용할 수 있는 환경 만들기
일단 작업 내용의 보존과 Cross Compile 환경을 위해서 HDD를 이용할 수 있도록 만든다.
위의 내용 처럼 VMware에 하드디스크를 설정해주었다고 해도 파티션이 생성되고 포멧이 되지 않은 상태이기 때문에 RAM Drive를 이용하여 부팅이 된다.
일단 fdisk 를 이용해서 파티션을 나누고 하드디스크를 포맷해줘야한다.
# fdisk /dev/hda
위의 명령으로 하드디스크에 파티션 작업을 시작하자!
도움말은 m 을 누르면 볼 수 있다. :)
1. 파티션으로 Linux (83번) 형식의 파티션으로 자신이 데이터용으로 사용할 만큼의 파티션을 설정한다.
2. 파티션으로 Linux Swap / Solaris (82번) 형식의 파티션으로 자신이 스왑에 사용할 만큼의 파티션을 설정한다.
(256M 정도면 여유있게 사용할 수 있다.)
파티션 설정이 끝났으면 w를 눌러서 저장하면 알아서 종료가 된다.
이제 위에서 만든 파티션을 ext3 형태로 포멧을 해줘야 한다.
# mkfs.ext3 /dev/hda1
위의 명령어를 통해서 데이터용 파티션을 ext3 형태로 포멧할 수 있다.
그리고 스왑파티션을 만들었으니 Swap 을 이용할 수 있도록 스왑을 만들어준다.
# mkswap /dev/hda2
이제 하드디스크에 대한 설정은 끝났다!
pdaX86이 하드디스크를 사용할 수 있게 설정만 해주면 Cross Compile 환경 구축을 위한 기틀이 마련되는 셈이다.
설정을 하기위해 우리는 하드디스크를 마운트해야 한다.
# mkdir /mnt/hd
# mount /dev/hda1 /mnt/hd
위의 명령을 통해 /mnt 폴더에 hd라는 폴더를 만들고 hd 폴더에 우리가 만든 리눅스 파티션을 연결한다.
이상없이 연결되었다면 이제 설정을 할 차례이다.
# setup
위와 같이 setup이라는 명령어를 치면 하드디스크를 선택하라고 나오는데 우리가 만든 파티션은 한개이니...
그냥 그 곳에 설치해주면 된다.
눈 깜짝하면 끝나버리고 reboot 명령어를 통해서 재부팅해주면 적용이 된다고 나온다.
즐거운 마음으로 재부팅(pdaX86은 부팅속도가 매우 빠르다!) 한 뒤에 df 명령어를 통해서 RAM Drive가 아닌 하드 디스크를 정상적으로 이용하고 있는지 확인한다. :) 이상없이 마운트 되었다면 다음으로 넘어가도 좋다!
4. pdaXrom builder를 svn으로부터 다운로드 하기
# mkdir pdaXrom-builder
# cd pdaXrom-builder
# svn co https://pdaxrom.svn.sourceforge.net/svnroot/pdaxrom/trunk
위의 순서대로 실행하게 되면 pdaXrom-builder를 다운로드 하기 위한 폴더를 생성한 뒤에 pdaXrom의 svn에서 현재의 소스를 가져올 수 있다.
trunk라는 폴더가 생성되며 그 곳에 소스 파일이 모두 다운될 때까지 기다리도록 한다.
5. pdaXrom의 Cross Compile 환경을 만들기
이제 이 글의 본론인 Cross Compile 환경을 만들기 위한 준비가 모두 끝났다. 이제 만들어 보도록 하자!
위의 명령어의 주의할 점은 자신의 Zaurus 기종에 맞게 설정을 해줘야 한다.
위의 명령어는 SL-C1000 이상에 해당하는 기종에 대한 xscale지원을 적용하는 configure 명령어 이다.
자신의 기종에 맞도록 설정하기 위해서는 ./configure 로 아무런 인자값을 넘기지 않으면 목록이 표시된다.
자! 위의 configure를 통해 설정을 완료했다면 다음과 같은 줄을 볼 수 있을 것이다.
"Setup for SHARP ZAURUS SL-C7x0/7500/860 pdaXrom, target xtools "이와 같은 글이 출력 된다면 성공한 것이다. 제대로 되었다면 다음 단계로 넘어가도록 한다.
# cd ~/my-akita-rom
# make virtual-xchain_install
나의 PC인 Athlon XP 3200+ Barton , DDR 1GB Memory의 사양에서 약 3~40분가량의 컴파일 시간이 소요되었다.
여유있게 잠시 쉬어도 좋다. (-- );
위의 컴파일이 완료 되었다면 그 다음으로 컴파일 된 크로스 컴파일러를 Archive로 만들어두도록 한다.
# make archive-toolchain
# make clean (이제 다 끝났으니 비워버리자...-.-;)
여기에서 조금 더 나아가면 가장 최근에 svn에 릴리즈 되어있는 pdaXrom을 빌드할 수 있지만 왠만한 사양의 PC로는 금방 컴파일 할 수 없다.
위에서 언급한 일본 사이트에서 Pentium 4M 2Ghz + 1GB Memory로 1.5일(36시간 가량)이 소요되었다는 이야기를 볼 수 있다. 그래서 그 점에 대한 내용은 삭제하도록 하겠다.
이제 크로스 컴파일 환경이 갖춰졌으니 환경변수를 설정해주고 자신이 그 동안 컴파일하고 싶었던 프로그램을 컴파일해보도록 하자.
6. Cross Compile 환경변수 설정 및 컴파일 하기!
#!/bin/bash
. /etc/profile
export PATH=/opt/cross/arm/3.4.6-xscale-softvfp/bin:$PATH
export QTDIR=/opt/cross/arm/3.4.6-xscale-softvfp/armv5tel-cacko-linux/qt
export KDEDIR=/opt/cross/arm/3.4.6-xscale-softvfp/armv5tel-cacko-linux/qt
export X11INC=/opt/cross/arm/3.4.6-xscale-softvfp/armv5tel-cacko-linux/include
export X11LIB=/opt/cross/arm/3.4.6-xscale-softvfp/armv5tel-cacko-linux/lib
export PKG_CONFIG_PATH=/opt/cross/arm/3.4.6-xscale-softvfp/armv5tel-cacko-linux/lib/pkgconfig
echo "Type exit for leave armv5tel-cacko-linux cross environment."
/bin/bash
위의 내용으로 적당한 파일명으로 쉘 스크립트를 만들어 주도록 한다.
만들고 실행권한을 준 뒤에 실행하게 되면 그것으로 컴파일 옵션은 끝이난다. (주의할 점은 경로 설정을 정확하게 해야한다.)
예제로 wget 을 컴파일 해보도록 하겠다.
# cd ~/buile/wget-1.9
# ./configure --build=i686-host-linux-gnu --host=armv5tel-cacko-linux --prefix=/usr
위의 형식과 같은 옵션을 통해서 다른 프로그램에도 크로스 컴파일을 적용시킬 수 있다.
그 뒤에는 make를 통해 컴파일하면되고 일반적으로 make install을 통해 설치하지만...
우리는 ipkg를 이용해서 패키지로 만들어야 하기 때문에 make install시 DESTDIR을 지정해서 특정 폴더로 설치하도록 한다.
# make
# make DESTDIR=~/package/wget_1.9_armv5tel install
위와 같이 사용하면 해당 폴더로 자신이 빌드한 파일이 설치된다.
이상으로 Cross Compile 환경 구축에 대한 글을 마칩니다.