포럼 회원으로 등록하신분만 다운로드가 가능합니다. 최대 업로드 가능한 용량은 1GB 입니다.

ELBuilder

조회 수 7695 추천 수 0 2009.08.08 13:03:35

안녕하세요??

개인적으로 작성해 본 ELBuilder를 공유해 보고자 합니다.
첨부한 ELBuilder는 buildroot를 참고해서 만든 것으로서, make 한 번 만으로 Root File System을 꾸밀 수 있도록 만든 것입니다.
buildroot와 같이 Root File System 이미지를 만들 때 사용하는 것입니다. 다만, buildroot는 cross compiler를 이용하여 cross compile 기반으로 패키지들을 빌드하지만, ELBuilder는 scratchbox를 이용하여 native build를 하도록 합니다.

사용법은 간단합니다. 파일을 받고, 압축을 푼 다음 elbuiler 디렉토리에서 make만 실행하면 됩니다.
결과로 생성되는 것은 /scratchbox/users/<myaccount>/targets/TARGET 디렉토리이며, 이를 NFS root로 export하고, 타겟에서 NFS mount를 하면 됩니다. 또한, 이 디렉토리를 이용하여 파일시스템 이미지를 만드셔도 됩니다.

기타 참고할 사항으로는,

  • 일단 Ubuntu Linux 환경을 가정합니다. patch, git 등의 패키지가 시스템에 설치되어 있어야 합니다.
  • Scratchbox가 설치되어 있지 않은 상태를 가정합니다. 이미 설치되어 있다면, 우선 제거해 주세요..
  • 처음 make를 실행하면 scratchbox 설치 후, make가 정지합니다. 이는 정상적인 것으로, scratchbox를 설치하면 sbox group이 추가되기 때문에 login shell을 다시 띄워야 합니다. 즉, 한 번 리부팅 내지 re-login이 필요합니다. 그 후, 다시 make를 하면 계속 작업이 진행됩니다.
  • 중간 중간에 root 권한이 필요한 단계에서 암호를 물을 수 있습니다. scratchbox 설치 단계나, device 파일들을 만드는 단계에서 root 권한이 필요합니다.
  • 빌드가 완료되면 추가로 시스템 파일을 수정해 줄 것이 있습니다. Scratchbox에 로그인한 뒤,
    • /usr/etc/ts.conf: module_raw input 라인의 comment를 제거합니다.
    • /etc/profile의 맨 아래 부분에 TSLIB_TSDEVICE에 정의되어 있는 Touch Device를 자신의 시스템에 맞는 device로 수정합니다. 예를 들어, /dev/input/event1 등과 같이...
    • /etc/inittab: ttySAC0 부분에 있는 serial console device를 자신의 시스템에 맞는 device로 수정합니다. 예를 들어, ttySAC1 등과 같이...
  • 부팅 후, root로 로그인합니다.
  • X를 실행할 때에는 Xfbdev -mouse tslib,,device=$TSLIB_TSDEVICE & 과 같이 실행하면 됩니다.
  • metacity -c & 로 Metacity window manager를 실행합니다.
  • metacity-window-demo & 로 간단히 테스트 응용을 돌려봅니다.


궁금한 점이나, 버그, 개선점 등이 있으시면, [email protected] 으로 연락주시면 반영하도록 하겠습니다.

현재 xorg-modular같은 경우는 git로 소스를 가져오기 때문에 지속적으로 소스가 변경되어 빌드가 안되는 경우가 발생할 수도 있을 수 있습니다. 향후에는 xorg-modular도 R7.5가 release되면 release package들을 사용할 예정입니다.


profile

김재훈

2009.08.09 18:48:48
*.162.4.212

Buildroot와 비슷한 방식의 새로운 시도네요. ^^; 좋은 자료인 것 같습니다.
우리나라에서도 OpenEmbedded나 Buildroot와 같은 패키지 프로젝트가 없었는데, 많은 도움이 될 것 같습니다.
전 Bitbake로 다 만들었었는데, 어쩌면 Buildroot로 만드는게 더 좋은 방법이었는지도 모르겠네요. :)
업데이트를 반영할 수 있는 오픈소스 프로젝트를 만들어 보시는건 어떠신지요?
만약 서버가 마땅치 않으시다면, 이솝쪽 서버에 관련 업데이트 페이지를 만들어 드리겠습니다. ^^
긍정적으로 검토해주시면 감사하겠습니다.
List of Articles
번호 제목 글쓴이 날짜 조회 수

사용자 로그인