모바일 장치에서 Linux 커널 수정 및 부팅

모바일 장치에서 Linux 커널 수정 및 부팅

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

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

ㅏ:

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

  2. 코드를 추가로 사용자 정의하고 내 배포판으로 부팅하십시오. 그러기 위해 나는 팔로우 중이야LFS.

  3. 특정 대상 모바일을 지정하고, 그에 대한 코드를 수정하고, 필요한 경우 드라이버를 작성하고(그래서 내가 여기 있는 이유입니다 :)) 드라이버를 부팅합니다.

내 전략이 맞는지 아닌지는 모르겠다. 누군가 나에게 다음과 같이 말해 주시면 정말 감사하겠습니다.

비:

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

제 질문이 이해가 안 된다면 죄송합니다. 저는 학생인데 아직도 뭔가를 알아내려고 노력하고 있어요. 인터넷에서 어떤 주제를 검색해야 할지 힌트를 주실 수 있는 분이 계시다면 정말 감사하겠습니다.

업데이트: 내가 원하는 것은 내 전략이 올바른지 확인하는 것입니다. 그렇지 않다면 따라야 할 단계를 알려주세요.

답변1

kernel.org의 바닐라 커널뿐만 아니라 Android Linux 커널을 먼저 시도하고 컴파일하는 것이 훨씬 더 쉽지 않을까요? 원칙적으로 커널은 GPL이므로 모든 Android 기기에서 사용할 수 있어야 합니다. 제조업체가 전혀 모르거나 알려진 GPL 위반자로 인해 대상 장치에 대한 커널 소스를 얻을 수 없는 경우 다음 방법은 유사한 SoC(Tegra 3, RK3188, 등).

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

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

관련 정보