임베디드 리눅스 어떻게 공부를 시작해야할까요?

gurumong의 이미지

막연한 질문인줄 알지만
임베디드 리눅스쪽으로 공부를 시작하고 싶은데요
처음 시작을 어떻게 무엇부터 해야할지 조언 좀 부탁드립니다

리눅스는 리눅스 대로 커널, 드라이버 등등을 따로 공부해야할테고
또 인기있는 여러 마이크로프로세서들을 익혀야하는것인가요?
그렇게 되면 공부해야할 분량이 어마어마 할꺼 같은데;

익명 사용자의 이미지

흥미있는 쪽부터 스텝바이 스텝으로 공부하시는게 효율적이지 않을까 싶습니다.

한개를 하다보면 여러가지 것들이 딸려오면서 그때마다 모르는게있으면 검색하면서

배워 나가는게 기억도 오래 남는것 같더군요

세벌의 이미지

http://kelp.or.kr/ 들러보시면 도움이 될 듯.

http://coffeenix.net/doc/develop/embedded_guide-v1_1_.html 도 괜찮은 것 같고요.

구글에서 임베디드 리눅스 쳐 보니 많이 나오네요.

owlet의 이미지

임베디드 리눅스라고 해서 특별하게 생각하실 필요는 없습니다. 일부 하드웨어에 종속된 부분을 제외하면 PC 리눅스 상에서의 개발과 동일합니다. 다만 저장공간, 메모리, CPU성능 등의 이유로 좀 더 가볍게 튜닝해 나가는 정도입니다. LFS에 하드웨어 종속된 부분과 특정 용도를 위한 전용 어플이 추가되는 형태라고 생각하시면 됩니다.
따라서 PC 리눅스 상에서 아래와 같은 학습을 하신다면 좋을것 같습니다.

리눅스 커널 분석
디바이스 드라이버 작성
리눅스 어플리케이션 작성
init 스크립트 분석
root 파일시스템 이해
Linux From Scratch

그리고, 가능하다면 마이크로프로세서 보드를 하나정도 선정해서 부트로더부터 PC 시스템과의 차이를 학습하시면 좋을것 같구요, 프로세서별로 따로 학습하실 필요는 없을것 같습니다.
가끔씩 아두이노같은 보드를 추천하시는 분들이 있던데요, 프로세서나 하드웨어에 대한 지식이 전무하다면 약간의 도움이 될 수는 있겠지만 저는 추천하지 않습니다. 부담이 좀 되더라도 리눅스가 올라간 시스템에서 학습하시는것이 훨씬 좋습니다.