Android 기기에서 기본 Arch Linux 부팅

Android 기기에서 기본 Arch Linux 부팅

저는 Galaxy Note 10.1(n8010)을 가지고 있으며 기본적으로 Arch Linux를 부팅하고 싶습니다. 내 말은 Android가 아닌 Arch Linux를 부팅한다는 뜻입니다. 나에게 필요한 것은 initramfs를 변경하는 것 뿐인데 전 세계 어디에서도 찾을 수 없습니다. 내 질문:

  • initramfs만 변경해야 합니까, 아니면 다른 일을 처리해야 합니까? (예: 커널 자체)
  • [완료] CyanogenMod 10.1의 공식 initramfs는 어디서 구할 수 있나요(github에 있을 수도 있음)? 아니면 CyanogenMod의 커널을 자체 컴파일하고 zImage에서 추출해야 합니까?
  • [가능] 안드로이드 데이터 파티션 안에 아치리눅스 루트를 가질 수 있나요? (예: /data/linux) 아니면 SD 카드를 구입해야 하나요?
  • 그 밖에 무엇을 알아야/해야 합니까?

편집: initramfs를 변경하는 방법을 알아냈습니다 :)

  1. ROM 압축을 푼다(n8013을 사용하는 CM10.1)
  2. 얻다http://whiteboard.ping.se/uploads/Android/unmkbootimg.gz
  3. gunzip unmkbootimg.gz
  4. ./unmkbootimg boot.img (mkbootimg에서 제공한 명령을 저장하세요!)
  5. mkdir initramfs && cd initramfs
  6. gzip -cd initramfs.cpio.gz cpio -i |
  7. 초기화 스크립트 변경 <- 지금 테스트하세요. 완료되면 올바른 내용을 게시하겠습니다.
  8. 찾다. | cpio -o -H new c | gzip > ../initramfs.cpio.gz (명령이 올바른지 확실하지 않음...)
  9. cd .. &&는 initramfs.cpio.gz 및 zImage만 남기고 디렉토리를 정리합니다...
  10. 앞서 저장한 mkbootimg 명령을 실행합니다...
  11. 새 boot.img를 새로 고치세요 :)

편집 2: initramfs는 빌드하기 매우 쉽습니다. 루트 파일 시스템(파티션 또는 Linux 이미지)을 마운트하고 initramfs 내의 심볼릭 링크를 통해 init를 가리키기만 하면 됩니다.

문제는 Arch의 새로운 systemd를 부팅하려면 커널 4.x가 필요하다는 것입니다.

커널이 작동하려면 오류 및 기타 항목을 볼 수 있는 직렬 콘솔이 필요합니다. 커널을 빌드할 때 필요한 구성 설정을 게시하겠습니다.

mkbootimg(커널을 컴파일하여 얻을 수 있음)가 없는 사람들을 위해 미리 컴파일된 mkbootimg를 찾았습니다.

링크:

답변1

이것이 도움이 될지는 확실하지 않지만 여기에 Arch Linux에 대한 가이드가 있습니다.http://forum.xda-developers.com/showthread.php?t=2195778

답변2

비슷한 작업에 대한 튜토리얼을 찾았습니다.Google Nexus 7 Android 태블릿에 Ubuntu Linux를 설치하는 방법, 아마도 귀하의 프로젝트에 적용할 수 있을까요? 그것은 사용한다fastboot부트로더를 잠금 해제하고 다른 부트로더로 재부팅하세요. HTH, 저는 안드로이드를 사용해본 적이 없습니다.

답변3

네이티브 아치는 일반 스마트폰에서는 사용할 수 없습니다.

아치 지원x86_64 전용. 하지만 비공식적인 것도 있어요아치 팔

관련 정보