2013-01-21 4 views
3

암 아키텍처에서 실행되는 운영 체제를 작성하려면 어떻게해야합니까? 가능한 경우 부트 로더와 자체 커널을 작성하고 싶습니다. 아무도 나를 시작할 수 있도록 도와 줄 수 있습니까?암 아키텍처 용 운영 체제 작성

+4

* 프로그래밍과 관련하여 구체적이고 신뢰할 수있는 질문이 있으면 * 어떤 방법으로 시작한 다음이 사이트에 게시해야합니다. OS와 함께 행운을 빌어 요! – dasblinkenlight

+1

또한 [ARM 프로세서 용 자체 모바일 OS 작성 방법은 무엇입니까?] (http://stackoverflow.com/questions/9954184/how-can-i-get-started-on-writing-my-own -mobile-os-for-arm-processors) – Justin

답변

6

이미 시작된 것부터 익히는 것부터 시작하겠습니다 .- Linux가 좋은 시작입니다. rPi의 배포판에 사용 된 부트 로더 (Debian Squeeze에서 사용되는 것) (예 : uBootBareBox)를 살펴보십시오. 또 다른 옵션은 BSD 라이센스하에 있으며 디버깅/초기 개발 중에는 CFE입니다.

또 다른 한 가지는 buildroot 및 OpenWRT와 함께 ucLinux 및 ucLibC 시스템을 살펴 보는 것입니다.이 모든 것이 소형 시스템에 집어 넣습니다.

물론 자신 만의 커널을 만드는 것 - 당신은 훨씬 더 깊이 가고 싶을 것입니다. 그리고 MMU, 프로세스 관리/멀티 태스킹, 인터럽트 등을 이해하는 데 시간을 할애해야합니다. 프로그래밍 마이크로 컨트롤러에 대한 좋은 배경, 어셈블러 언어 및 CPU/SOC 아키텍처 지식은 필수적입니다. ARM 제품군을 사용하면 지원되는 다양한 명령어 세트와 MMU, FPU 및 이와 유사한 기능을 가진 칩을 알고 싶을 것입니다.

행운을 빌어 요. 흥미로운 프로젝트 같아요.

+2

Grub는 두뇌가 죽어 버렸고 이제는 완전히 폐기 된 (아직 사용 된) PC 아키텍처 사전 부팅 환경을 기반으로 구축 된 x86 부트 로더이기 때문에 아마도 시작하기에 정말 좋지 않습니다. 및 BIOS. ARM SoC 시스템의 대부분은 ARM SoC 시스템과 관련이 없습니다. [uBoot] (http://www.denx.de/wiki/U-Boot) 및 [Barebox] (http://barebox.org)는 ARM 부트 로더입니다. 후자는 다소 해킹이 가능합니다. 덧붙여서 ARM 장치에는 마이크로 코드가 없습니다. – marko

+0

마르코에게 감사드립니다. 나는 Grub과 Lilo와 내가 공개하지 않을 많은 수의 사내 부트 로더에 대해 알고있다. 적어도 출발점은 약간의 토론으로 이어진다. –

+0

x86에 구축 한 경우 GRUB 및 Multiboot 표준을 사용할 수 있지만 ARM의 경우 uBoot 및 Barebox를 사용하는 것이 좋습니다. – Linuxios