임베디드 리눅스를 처음 시작 하는 사람에게 가장 곤욕 스러운 것은 아무래도 개발 환경을 이해 하고 갖추는 일이 아닐까 싶습니다.

그래서 개발 환경을 꾸미는 과정을 몇 차례에 걸쳐 올릴까 합니다.


몇 차례에 걸쳐 소개될 개발 환경 갖추기 과정을 통해 만들어진  것이 FA-VUS 라는 FALINUX 에서 공개 하는 개인용 Virtual box 이미지 입니다.

ubuntu12.04 에 samba, nfs, tftp 등등과 크로스컴파일 환경까지 모두 갖춰진 상태 이기 때문에 시작 하는 사람들에게 아주 유용 하리라 생각이 듭니다.

FA-VUS 에 대해서는 자료실에 FA-VUS 소개 글을 참고 하시기 바랍니다.


1. 개발 환경 전체 구조

1.jpg

위 구조는 일반적으로 사용 되는 개발 환경입니다.


가장 먼저 필요한 것은 리눅스가 설치된 PC와  Windows가 설치된 pc 입니다.

우리는 이 리눅스가 설치된 pc 를 개발 서버 또는 호스트라 부르고, 윈도우즈가 설치된 pc 를 작업 pc 라 부릅니다.

이유는 실제 컴파일러와 소스가 위치한 곳은 개발 서버이고, 터미널 프로그램이나 삼바로 접속해 작업을 하는 곳은 개인 pc 이기 때문입니다.

조금 다시 생각해보면, 구지 윈도우즈 pc 가 필요한가? 하는 의문이 드는데요.  작업 pc 에 꼭 윈도우즈가 설치될 필요는 없습니다. 고수들은 작업 pc 까지도 다 리눅스를 사용 하는 경우도 있습니다.  하지만 대부분 윈도우즈 환경에 익숙하며 텍스트 모드로 모든것을 해결 하는 리눅스에 익숙 하지 않은 사람들은 상당히 답답할 것이라 생각이 듭니다.


또한 개인 pc 에 리눅스를 설치해 자기만의 개발 환경을 갖추는 것 보다 하나의 서버급 pc 에 리눅스를 설치 하고, 네트워크로 접속해 다수의 사용자가 일을 할 수 있게 하면, 관리 차워에서도 장점이 있기 때문에 여러명이 참여하는 개발 환경은 위와 같은 구조를 일반적으로 갖게 됩니다.

만약 임베디드 리눅스 개발 환경을  개인 pc 에만 설치 해서 쓴다면, 다른 사람은 또 자기만의 pc 에 다른 환경을 갖춰야 하는 번거로움이 있지만, 위와 같은 구조에서는 리눅스 pc 하나에만 환경을 갖춰 놓으면 아무나 네트워크만 된다면 일을 할 수 있게 됩니다.


하지만.. 이제부터 본론 입니다.

회사에서는 서버급 pc 를 놓고 다수의 사용자가 일을 할 수있는 구조가 좋겠으나, 임베디드 리눅스를 처음 시작 하는 사람들이 그런 환경을 위해 컴퓨터를 두대 씩이나 사는건 말도 안되고 , 여러명이 동시에 작업 할 일도 없기 때문에  개발환경을 하나의 pc 에 모두 갖춰야 할 것 입니다.

물론 서버급 pc 가 이나라도 다른 사람이 리눅스가 설치된 pc 에 접속해 작업 할 수 있습니다. ( 사실 서버pc 가 얼마나 빠른지 좋은지도 써보면 모르겠어요 ;; )


그래서 우리는 하나의 pc 에 모든 환경을 갖춰야 합니다. 즉, 리눅스와 윈도우즈를 동시에 실행 해야 한다는 말이지요.

고맙게도 가상머신이 있어 가능 합니다 ( 물론 cygwin 도 있긴 하다만..) fa-vus 는  Virtual box 를 사용 하는데요...역시 꽁짜기 때문입니다. 다른 이유 없어요.


개인적으로 vmware 가 성능 면에서는 좋다고 생각 되지만, 무료가 아니므로, virtual box 를 추천 합니다.

윈도우즈가 설치된 pc 에서 virtual box 위에 리눅스를 설치해 서버를 구축 하는 형태입니다.

물론 작업은 윈도우즈 환경에서 하게 됩니다.

실제 pc 가 한대라 하더라도 모든 구조는 서버와 작업pc 가 따로 있는것과 동일한 형태가 되는 것이지요.


개발 환경구축은 결국 개발 서버인 호스트 에 각종 개발에 필요한 환경을 갖추는 일이 되며, 작업 pc에는 익숙한 에디터와 터미널 프로그램 하나만 있으면 됩니다.

주로 에디터로는 울트라에디터나 소스인사이트 같은 툴을 쓰고, 터미널 프로그램으로는 secureCRT 또는 테라텀, Putty 등을 사용 합니다. 


개발 서버 리눅스로 우분투냐 레드헷이냐 centOS 냐  고민할 필요는 없습니다. 어떤 것을 설치 해도 뭐..사용 할때는 비슷 비슷 하다는 결론이기 때문입니다. 꼭 선택 하라면. 요새 많이 쓰는 ubuntu 겠지요. 그래서 우리도 ubuntu 를 쓰겠습니다.


다음 회 부터는 virtual box 를 다운받고 그위에 ubuntu 를 설치하고, 개발 환경을 갖춰가는 과정을 차근차근 올려 볼까 합니다.