xScale 위에 웹서버+데이터베이스+스크립트언어

윤동열(ydongyol at hotmail com)

2004.3.3시작

2004.3.5완료

* 개요

웹서버 : boa-0.94.13

데이터 베이스 : gdbm-1.8.3

스크립트 : CGI - Crazy WWW Board




* 세부

- boa

컴파일 관련 자료 있는곳 falinux.com




-gdbm

컴파일 관련 자료있는곳 임베디드월드.co.kr

다운로드 ftp://ftp.gnu.org/gdbm/

컴파일 ./configure --host=armv5l-linux CC=armv5l-linux-gcc ;make




-CGI

Crazy WWW Board 포팅




* 진행

먼저 boa를 armv5l-linux-gcc로 컴파일 한다. Makefile을 약간만 수정하면 잘
컴파일 되며 타겟 보드에 필요한 환경을 만들어주면 잘 돌아간다.




CrazyWWWBoard에서는 gdbm과 여러 가지 라이브러리가 사용되는데 각각 라이브
러리를 static링크 시켜 줘야 한다. 단 용량이 3MByte 이상 되는 것은 감수해
야 될 사실이다.

Crazy보드자체는 gdbm구버젼을 사용하는데 이보다는 최신 gdbm-1.8.3로 교체하
여 컴파일해준다.

./configure --host=armv5l-linux CC=armv5l-linux-gcc ;make

를 하면 라이브러리가 나오는데 수동으로 다시 Crazy보드 환경에 맞게 링크시
켜줘야 나중에 Crazy보드가 무사히 컴파일 된다.

Crazy보드의 컴파일시에는 Makefile을 여러 군데 바꾸어 주어야 하는데, CC를
armv5l-linux-gcc 로 바꾸어준다

또 CC에 -lcrypt옵션과 LIB에 libcrypt.a를 주어 암호관련 라이브러리가 모두
정적으로 링크되게 하여준다.

자체제작한 qDecoder라이브러리가 사용되는데 Makefile을 수정하여 arm버젼을
컴파일 되게 한다.

또 혹시나 하여 마지막 컴파일 옵션에 -static을 주어 귀찮은 라이브러리 링크
문제를 해결한다.

마지막으로 static컴파일 유무를 확인 하기 위해 ldd를 사용하여야 되는데 포
팅 된 armv5l-linux-ldd가 없어 file로 확인했다.

Crazy보드 또한 여러 가지 환경을 설정해주어야 돌아간다. 먼저 createDB를 작
동시켜 data 디렉토리에 데이터베이스가 생성되도록 한다. 생성 후에는 권한
을 777로 바꾸어 나중에 권한 에러가 나오지 않게 한다. 추가로 logs와 icon,
conf등도 만들어주어야 한다.

http://xx.xx.xx.xx/CrazyWWWBoard.cgi?db=db 를 하면 잘 작동하게 된다.