Raspberry pi 용 사용자 정의 OS를 처음부터 작성하는 방법은 무엇입니까?


10

저는 커널과 임베디드 리눅스를 처음 사용합니다. 최근에 Raspberry Pi를 구입하여 Raspbian을 사용하여 부팅했습니다. Pi에 매료되어 임베디드에 대해 더 많이 배우기 위해 홈 오토메이션 시스템을 만들기로 결정했습니다. 나는 내 자신의 커널과 스택을 사용하고 싶었다. 즉, OS를 사용하고 싶지 않습니다.

이를 위해 공식 github에서 Kernel, target_fs, 펌웨어 및 툴 체인을 다운로드했습니다. 툴체인을 사용하여 커널을 컴파일했습니다.

이제 이것을 새로운 sdcard에 넣는 방법을 모릅니다 (새로운 시작을 위해 포맷되었습니다). 스택을 부팅하기 전에주의해야 할 모든 사항은 무엇입니까? ssh 또는 telnet 서버 / 클라이언트를 넣지 않았으므로 부팅이 성공했는지 어떻게 알 수 있습니까? 파 이용 ssh / telnet 데몬은 어디서 구할 수 있습니까? 내 목표는 Raspberry Pi에서 커널 만 부팅하는 것입니다.


2
이것은 어려운 일이며 아직 충분한 경험이 없다고 생각합니다. 기존 분포를 조정하고 시간을 99 % 절약하는 것을 고려 했습니까?
Thorbjørn Ravn Andersen

나는 이것이 조금 오래되었다는 것을 알고 있지만 최근에 최소 리눅스 OS를 구축하는 또 다른 방법 인 MLL에 대해 배웠습니다. 리눅스 네오 파이트로서 나는 프로세스를 배우는 데 MLL이 도움이되었다는 것을 알게되었다. 현재 빌드에 Raspberry Pi 드라이버를 포함시키는 프로세스를 연구 중입니다. MLL minimal.linux-bg.org/#home 행운을 빈다!
Rob

답변:


9

커널은 루트 파일 시스템과 그 안에있는 init데몬이라는 두 가지를 예상 합니다. raspbian에 포함 된 init는 sysV 스타일 시스템입니다. - 당신이 그와 연결되지 않습니다 일반적으로 리눅스와 함께 사용되는 다른 초기화 시스템을 (기억 커널 리눅스 이다) systemdupstart-하지만 당신은 어떤 종류의 초기화 시스템이 필요 없습니다.

또한 넣을 수 있습니다 init다시 initramfs 하고있는 커널에 내장 당신이 루트 파일 시스템없이 멀리 얻을 수있는 경우에,하지만이 경우 무의미한 것 같다.

init커널에 의해 시작된 유일한 사용자 영역 응용 프로그램입니다. 일반적으로 로그인으로 tty를 여는 프로세스를 시작한 다음 디스플레이 관리자, sshd 등을 시작할 수있는 다른 서비스를 시작합니다. 로그인이 필요하지는 않지만 tty를 원할 수도 있습니다. 대신 sshd를 직접 시작할 수도 있습니다.

파 이용 ssh / telnet 데몬은 어디서 구할 수 있습니까?

Raspbian과 동일한 위치, 업스트림 소스에서 가져옵니다. 이 내용 중 pi를 위해 특별히 작성된 것은 없습니다. 아니면 적어도 아주 적은 것입니다. 다양한 시스템에서 사용되었습니다.

당신이 pi를 위해 사전 컴파일 된 것을 원한다면 ... 음, 그것은 라즈 비안 등입니다. 1

나는 이것을 새로운 sdcard에 넣는 방법을 모른다

/bootraspbian 이미지 의 파티션에있는 pi 전용 부트 로더를 사용해야합니다.


1. 잔인하게 정직하게, 나는 당신이 당신의 질문에 의해 암시 된 지식에 기초하여, 당신이 당신의 일을 그만두고 풀 타임 학습에 전념하지 않는다면 올해 올해를 성취 할 희망이 거의 없다는 매우 빠른 퀘스트에 있다고 생각합니다. 그럼에도 불구하고 실패의 가능성은 매우 높으며 성공 가능성이있는 시점에 도달하는 데 몇 개월 이 걸릴 것 입니다. 간단하지 않습니다. 쉽지 않다. 즉, 당신이 실패하더라도, 당신은 아마 그 과정에서 유용한 것들을 배울 것입니다. 그러나 기존 배포판 (예 : 라스 비안)을 이해하고이를 사용하여 홈 자동화 시스템을 만드는 방법을 배우는 데 시간이 더 걸릴 수 있습니다.


1
빠른 ? 당신은 내가 일상적으로 내 어휘에 도전하는 유일한 사람들 중 하나입니다. 혼자서 +1.
Jacobm001

7

시작하기 때문에 임베디드 컴퓨터 사용에 대한 개념이 잘못되었다고 생각합니다 (특히 Raspberry Pi 레벨). 사용자 정의 OS를 만들고 싶다면 Scratch, LFS, http://www.linuxfromscratch.org/ 에서 Linux를 시작하는 것이 좋습니다 . 그러나 내장 컴퓨팅을 이해하려면 "내장 시스템", Wikipedia 또는 Embedded 인터넷 검색으로 시작하십시오. 리눅스 위키 http://elinux.org/Main_Page .


1
LFS의 경우 +1 그래도 크로스 컴파일 설정에서하고 싶습니다!
goldilocks

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.