모바일 장치에서 Linux 커널 수정 및 부팅 [닫기]

모바일 장치에서 Linux 커널 수정 및 부팅 [닫기]

공부하는 동안 저는 거의 18개월 동안 Android iOS 앱과 웹사이트를 개발해 왔습니다. 이제 마지막 해 프로젝트로 안드로이드 등 모바일 기기에 출시하는 것을 목표로 리눅스 소스코드 작업을 하고 있습니다. 저는 인터넷의 튜토리얼을 따라가며 성공적으로 데비안 패키지를 만들었습니다. 저는 현재 우분투를 사용하고 있습니다.

전략이 있지만 올바른 길을 가고 있는지 확신할 수 없습니다. 다음과 같이:

ㅏ:

  1. 리눅스 소스 코드를 다운로드하세요. 추가 드라이버를 제거하고 현재 실행 중인 Ubuntu에 이를 컴파일 및 설치한 후 사용하세요.

  2. 코드를 추가로 사용자 정의하고 나만의 배포판으로 실행하세요. 이런 이유로 나는 팔로우하고 있다선형 FS.

  3. 특정 대상 모바일 장치를 지정하고, 해당 코드를 수정하고, 드라이버를 작성하고(필요한 경우) 어떤 드라이버인지는 확실하지 않습니다(그래서 제가 여기에 있는 이유입니다 :)). 그런 다음 해당 장치에서 커널을 시작합니다.

내 전략이 맞는지는 모르겠다. 누군가 나에게 말해 줄 수 있다면 나는 매우 감사할 것입니다.

두번째:

  1. 나는 올바른 길을 가고 있습니까? 그렇지 않다면 무엇이 옳은가?
  2. 전화기를 지정하고 그에 대한 커널 코드를 사용자 정의해야 합니까?
  3. 드라이버 외에 커널에서 무엇을 변경해야 합니까?
  4. 마지막으로 중요한 것은 모바일 장치에서 커널을 시작할 때 거기에 인터페이스나 터미널이 있습니까?

제 질문이 이해가 안 된다면 죄송합니다. 저는 아직도 뭔가를 알아내려고 노력하는 학생입니다. 누구든지 인터넷에서 어떤 주제를 검색해야 하는지에 대한 조언을 주시면 정말 감사하겠습니다.

업데이트: 내가 원하는 것은 내 전략이 올바른지 확인하는 것입니다. 그렇지 않다면 따라야 할 단계를 나열해 주십시오.

답변1

kernel.org의 일반 커널 대신 Android Linux 커널을 먼저 컴파일해 보는 것이 더 쉽지 않을까요? 원칙적으로 커널은 GPL이므로 모든 Android 기기에서 작동합니다. 제조업체가 이에 대해 전혀 모르거나 알려진 GPL 위반자이기 때문에 대상 장치에 대한 커널 소스 코드를 얻을 수 없는 경우 다음 옵션은 유사한 SoC(Tegra 3, RK3188, ETC)를 다운로드하여 컴파일하는 것입니다. .

다양한 SoC 설계를 실행하는 모바일 장치에서 부팅하는 것은 익숙한 AMD 또는 Intel CPU가 장착된 데스크톱이나 노트북에서 부팅하는 것보다 훨씬 덜 확실합니다. 실제로 커널을 모바일 장치에 복사하거나 플래시할 수 있는지조차 확신할 수 없습니다(물론 모바일 장치가 랩톱이 아닌 경우). 그래서 그것도 연구해야합니다.

그래서 가장 먼저 살펴본 것은 대상 장치였습니다. 이론적으로는 Linux를 실행하기 위해 커널과 기타 운영 체제 항목을 SD 카드에 복사할 수 있으므로 외부 SD 카드에서 부팅할 수 있는 장치를 선택하는 것이 좋습니다. 그 외에도 커널을 적절한 부팅 파티션으로 플래시할 수 있는 복구 파티션이 작동하는 장치를 선택하세요. 이러한 장치에는 실제로 Android 부팅 파티션과 복구 파티션이라는 두 개의 부팅 파티션이 있습니다. 따라서 문제가 발생하여 장치가 부팅되지 않는 경우 장치의 특수 하드웨어 버튼 조합을 눌러 복구 파티션으로 부팅하고 장치를 사용 가능한 상태로 되돌릴 수 있습니다.

관련 정보