집에 리눅스 기기가 3대 있습니다. (데스크탑 제외) 리눅스 매니아는 아닌데, 펌웨어 해킹이 가능해서 가격대 성능비가 잘 나오는 장비들을 사모으다 보니, 벌써 이렇게나 많아졌네요.


첫째는 유무선공유기 링크시스 WRT54G입니다. 아는 사람은 핵펌 깔아서 더 상위기종에서나 지원되는 각종 기능을 소프트웨어적으로 지원하는 아주 훌륭한 기계랍니다. 저도 DD-WRT 핵펌을 깔고 Dynamic DNS 업데이트 등의 부가적인 기능을 사용하고 있습니다.

둘째는 네트웤 스토리지 링크시스 NSLU2입니다. 이 기계에 대해서는 작년말의 포스팅에서 다룬바 있기에 설명은 생략합니다. 이 기계 역시 핵펌을 깔면 거의 완벽한 리눅스 서버로 탈바꿈시킬 수 있습니다. 현재 OpenSlug를 깔아서 조금 느린 리눅스 서버로 쓰고 있습니다.

셋째는 최근 블로그에 많이 포스팅했던 노키아 N810입니다. 핵펌같은걸 깔지 않아도 자연스럽게 쓸 수 있는 리눅스 핸드헬드기기죠.

WRT54G와 NSLU2의 경우는 각각 OpenWRTNSLU2-Linux에서 toolchain을 제공하는데, 문제는 제가 임베디드 소프트웨어에는 전혀 경험도 감각도 없기 때문에 이걸 사용해서 뭔가를 만들거나 컴파일하는게 불가능했다는데 있었습니다. 남들이 이미 컴파일해놓은 패키지를 다운로드받아 설치하는 정도가 제가 할 수 있는 한계였지요.

헌데 N810의 경우는 노키아에서 Scratchbox를 이용해 상당히 깔끔한 개발환경을 꾸며놓았더군요. 임베디드에 익숙하지 않는 저도 그닥 어렵지 않게 실행파일을 만들 수 있을 정도로.. 그래서 scratchbox를 이용해서 나머지 장비들용 소프트웨어를 빌드해보기로 마음먹었습니다.

그런데 결정적으로 scratchbox 자체는 간단한데, 이 scratchbox 위에서 돌아가는 크로스컴파일용 툴체인을 build하는게 정말 어렵더군요. 대충 알아보니 Dan Kegel(자꾸 괄약근 운동을 떠올리게 하는.. 구글 직원입니다)이 만든 crosstool을 이용하는 것 같은데, 대충 줏어들은대로 스크립트를 실행하니 각각의 gcc버전과 glibc버전에 해당하는 소스를 받아다가 뭔가 컴파일하긴 하더군요. 그런데 하드디스크 몇 GB는 한방에 그냥 잡아먹어버리는데다가 중간에 알 수 없는 오류와 경고를 마구 토해냈다는...

한 3주 고생하다가 결국 포기해버리고, 뭔가 Scratchbox 위에서 돌아가는 WRT54G와 NSLU2용 툴체인을 누군가가 이미 컴파일해두지 않았을까 하는 생각으로 검색을 하다가... 체코의 한 미러 서버에서 뭔가 심상치않아보이는 파일들을 발견했습니다.

사용자 삽입 이미지

뭔가 돌리면 돌아갈 듯한 분위기가...


N810을 위해 설치했던 /scratchbox 디렉토리에 armv5b(NSLU2용)와 mipsel-uclibc(WRT54G용)를 받아 압축을 풀고 sb-menu를 실행시켜 새로운 타겟을 설정해주었는데, 아주 간단히 크로스컴파일 환경이 구축되더군요. 검색하고 다운로드받으면서 삽질했던걸 생각하니 눈물이 그냥 주룩...

그래도 scratchbox 자체가 그닥 익숙하진 않기에, 한 세시간 정도 삽질한 끝에 WRT54G용 ss5 SOCKS5 프락시서버의 native 실행파일을 생성할 수 있었습니다. 그리고 sigma6님의 블로그를 참조하여 WRT54G를 리부팅할때마다 ss5 대몬이 자동실행되도록 설정 완료!!

아직 프로그래밍은 시작도 못했고 간신히 크로스컴파일환경을 구축한 정도입니다만, 의외로 임베디드 프로그래밍 재미있네요. 꼭 공CD를 굽는 느낌이랄까.. 아무것도 못하는 공기계에 소프트웨어를 이용해서 생명을 불어넣는 것같은 느낌도 들구요.

앞으로 당분간은 주말에 심심할 일 없을 듯합니다.

덧. 알고보니 집에서 쓰는 DivX 플레이어(미디어게이트 MG-35 NDAS)도 리눅스 기반이라네요. 이미 해외에서는 미디어게이트 위키를 중심으로 핵펌들이 만들어지고 있는 상황인 듯.

신고
  1. Leaper 2008.05.21 06:55 신고 댓글주소 | 수정 | 삭제 | 댓글

    주말삽질의 결과가 행복하게 끝났으면 좋겠습니다. 행복하게 끝내시고 .. 포스팅 해주세요 ~~ ^^

  2. Favicon of http://www.noish.org BlogIcon noish 2008.05.22 08:31 신고 댓글주소 | 수정 | 삭제 | 댓글

    미디어게이트 MG-35 NDAS~ 요놈 괜찮아 보이네요 ^^)b
    이런-ㅁ- 좋은 제품있으면~~~ 소개 좀 많이 해주세요~~
    넘 좋아요^_^b

  3. Favicon of http://www.noish.org BlogIcon noish 2008.05.22 12:23 신고 댓글주소 | 수정 | 삭제 | 댓글

    MG-35 NDAS 위키 보니까~ 넘 좋아서 -ㅁ-;;;
    결국 중고 질렀습니다^^;;

    ... N810을 질러야 하는데~
    확~ 지르기가 ㅎㅎㅎ ^^;;

  4. Favicon of http://www.perueckenshop.com/ BlogIcon Perücke 2011.06.20 18:12 신고 댓글주소 | 수정 | 삭제 | 댓글

    MG-35 NDAS 위키 보니까~ 넘 좋아서 -ㅁ-;;;
    결국 중고 질렀습니다^^;;


사용자 삽입 이미지

1년쯤 전에 저렴한 NAS장비를 한대 중고로 신동품으로 들여왔습니다. NasDisk 사의 NasDisk 1000이라는 장비인데, 160GB 하드디스크를 포함해서 15만원인가에 샀던 것으로 기억합니다.

SMB와 FTP를 모두 지원하는 모델 치고는 가격이 나쁘지 않아서 구입했는데, 사놓고보니 의외로느리더군요. (평균 800~1000KB/s 정도 나옵니다) 실제 빈번하게 사용되는 데이터를 저장해놓고 쓰기에는 부적합한 속도여서 지금은 백업용도를 메인으로 사용하고 있습니다.

헌데 몇일전 웹관리화면을 보니 이녀석이 telnet을 지원하더군요. 궁금해서 로그인해봤더니, 글쎄 리눅스가 깔려있는 겁니다. 순간 머리를 스치는 생각들..

'아, 여기에 PERL을 올려서 주기적으로 신문스크랩할 수 있으면 딱 좋겠다'
'혹시 WRT54G처럼 오픈된 핵펌웨어는 없나?'
'root권한만 획득할 수 있으면 전기 별로 안먹는 저가형 서버 한대 만들수 있겠네'

그래서 검색해봤더니, 스펙이 대충 이렇더군요:
  • AXIS 사의 CRIS 아키텍처로 설계된 Etrax 100 LX 칩(embedded linux) 이용
  • 100MIPS 32bit RISC CPU를 사용하며(펜티엄급), 평균소모전력은 350mW (와우!!)
  • MMU가 있기 때문에 uCLinux가 아닌 VM기반 일반 리눅스 2.4 동작
  • 10/100Mbps 이더넷 지원
  • RAM 16MB
  • 파일시스템은 ext2와 ext3 지원
그래서 내장하드를 떼어다가 다른 리눅스머신에 mount시키고 - 그냥 ext3더군요. 별 고생 안하고 한번에 mount성공 - shell 실행파일에 chmod +s를 먹여서 손쉽게 root 권한을 획득했습니다.

헌데 문제는 그 다음부터. root 권한을 획득하긴 했는데 이건 뭐 PERL도 없고 python도 없고.. 돌릴 수 있는 소프트웨어가 너무 제한되더군요. 그래서 인터프리터를 직접 컴파일하자는 생각으로 일단 AXIS 홈페이지 들어가서 크로스컴파일링 GCC를 받았는데, 이놈은 또 리눅스 위에서만 돈다는...

그래서 VMPlayer 위에 Ubuntu 리눅스 깔고, 그 안에서 지금 GCC 컴파일중입니다. 돌린지 한 30분 된것 같은데 아직 언제 끝날지 기미가 잘 안보입니다. 약 1시간여만에 컴파일 성공했습니다!

정 시간이 오래 걸리면 이미 핵펌들이 마구 돌아다니는 Linksys NSLU2 같은 기계 하나 사서 쓸까 하는 생각도 들긴 하지만, 미국이나 홍콩에서 비싼 배송료 물어가며 이베이질하느니, 이 기회에 임베디드 리눅스 한번 배워보자는 오기로 한번 도전해볼 생각입니다.

목표는 NasDisk를 NSLU2와 비슷한 용도로 사용하는 겁니다:
  • PERL 인터프리터를 올려서 다양한 용도(HTTP Proxy 등)의 애플리케이션 구동하기
  • DynDNS 업데이터 돌리기
  • mt-daapd 류의 mp3 스트리밍서버 돌리기(CPU가 딸려서 동영상은 힘들듯하네요)
  • CVS/SVN 돌리기
신고
  1. Favicon of http://www.corsetlingerie.org/ BlogIcon lingerie pas cher 2011.06.20 18:06 신고 댓글주소 | 수정 | 삭제 | 댓글

    Congaway v1.0 : 콩나물지도 -> Pathaway지도 변환툴

  2. Favicon of http://www.corsetlingerie.org/ BlogIcon lingerie pas cher 2011.06.20 18:06 신고 댓글주소 | 수정 | 삭제 | 댓글

    Congaway v1.0 : 콩나물지도 -> Pathaway지도 변환툴





티스토리 툴바