Inicializando o Arch Linux nativo em um dispositivo Android

26

Eu tenho um Galaxy Note 10.1 (n8010) e quero fazê-lo inicializar o Arch Linux nativamente. Quero dizer, inicialize o Arch Linux em vez do Android. Tudo o que preciso é alterar o initramfs, que não consigo encontrar em nenhum lugar do mundo. Minhas perguntas:

  • Preciso alterar apenas o initramfs ou tenho que lidar com outras coisas também? (como o próprio kernel)
  • [CONCLUÍDO] Onde consigo o initramfs oficial do CyanogenMod 10.1 (talvez github)? Ou eu tenho que auto-compilar o kernel do CyanogenMod e extraí-lo do zImage?
  • [PROVÁVEL] Posso ter a raiz do Linux linux dentro da partição de dados do Android? (por exemplo, / data / linux) Ou tenho que comprar um cartão SD?
  • O que mais eu preciso saber / fazer?

Edit: Eu encontrei como alterar o initramfs :)

  1. descompacte rom (CM10.1 for n8013 usado)
  2. wget http://whiteboard.ping.se/uploads/Android/unmkbootimg.gz
  3. gunzip unmkbootimg.gz
  4. ./unmkbootimg boot.img (salve o comando fornecido com mkbootimg!)
  5. mkdir initramfs && cd initramfs
  6. gzip -cd initramfs.cpio.gz | cpio -i
  7. Altere os scripts de inicialização <- testando isso agora, vou postar o correto uma vez feito
  8. encontrar . | cpio -o -H newc | gzip> ../initramfs.cpio.gz (não tenho certeza se o comando está correto ...)
  9. cd .. && limpe o diretório para que somente initramfs.cpio.gz e zImage sejam deixados ...
  10. execute o comando mkbootimg que você salvou antes ...
  11. pisque o novo boot.img :)

Edit 2: O initramfs é bastante fácil de construir Você só precisa montar o sistema de arquivos raiz (na partição ou na imagem linux) e apontar para o init através de um link simbólico dentro do initramfs

O problema é que você precisa do kernel 4.x para inicializar o novo systemd do Arch

Para que o kernel funcione, você precisa de um console serial para ver os erros e outras coisas. Quando eu construir o kernel, publicarei as configurações necessárias.

Para aqueles que não têm mkbootimg (você consegue isso compilando um kernel), encontrei um pré-compilado

Ligações:

dzervas
fonte
Você já conseguiu? Você conseguiu ter ssh sobre USB na inicialização?
Michaël 28/11
Eu consegui inicializar. Não foi tão difícil, mas com certeza o systemd não será reproduzido (não me lembro exatamente o porquê). O trocador de jogo foi UART sobre o fone de ouvido, tornou tudo muito mais fácil (pude ver todo o processo de inicialização). O que eu não consegui fazer é a saída de vídeo ... Foi apenas uma dor e eu a deixei. Se você conseguir fazê-lo funcionar, informe-o novamente.
dzervas
Você teria alguma indicação de como o UART over jack estava funcionando? - Gostaria de usar um telefone antigo com uma tela quebrada como algum tipo de servidor de música; assim que tiver som e som, ficarei feliz.
Michaël
Você simplesmente precisa quebrar o conector do fone de ouvido, adicionar um resistor e conectá-lo ao seu PC com um conversor UART para USB. O problema é que o Nexus 5 suportou isso exclusivamente, então não sei se / quais outros telefones suportam ... Você precisa pesquisá-lo (por exemplo, "UART no Nexus 4")
dzervas

Respostas:

4

Não tenho certeza se isso ajuda, mas é um tutorial do Arch Linux http://forum.xda-developers.com/showthread.php?t=2195778

user961559
fonte
3
Bem-vindo ao Unix e Linux! Geralmente, gostamos de respostas no site para poder se manter por conta própria - os links são ótimos, mas se esse link quebrar, a resposta deve ter informações suficientes para continuar sendo útil. Considere editar sua resposta para incluir mais detalhes. Veja o FAQ para mais informações.
Slm
sim! você está certo!! Agora, eu quero encontrar uma maneira de alterar a recuperação para ser capaz de arrancar a partir de uma partição sdcard ...
dzervas
-1

Encontrei um tutorial para uma tarefa semelhante: Como instalar o Ubuntu Linux no seu tablet Android Google Nexus 7 , talvez ele possa ser adaptado para se adequar ao seu projeto? Ele é usado fastbootpara desbloquear o carregador de inicialização e reiniciar com um carregador de inicialização diferente. HTH, eu nunca joguei com um Android.

Dan Ross
fonte
2
bem, o ubuntu para telefone não é ... ubuntu real: P é baseado no cm10 (uma "distro" do Android). por isso é android com layout diferente ...
dzervas
É bom saber que, quando eu receber meu primeiro tablet / smartphone, desejarei uma distribuição Linux familiar, instalada corretamente. Eu sei que isso não é exatamente o que você estava pedindo, mas como não houve resposta à pergunta, eu esperava que este exemplo do Ubuntu pudesse ser adaptado para o Arch. Talvez os arquivos / carregador de inicialização instalados pelo fastboot possam ser substituídos? Ou talvez eu esteja louca aqui. Boa sorte e seja cauteloso!
Dan Ross
11
não, ubuntu usa o Java VM, que tem a ver com a inicialização etc.
dzervas