Como posso executar o Ubuntu em chroot no Android?

7

Eu quero rodar o Ubuntu totalmente funcional no meu dispositivo Android no chroot. Mas eu tenho alguns problemas com o upstart. No chroot "ele vai rodar / sbin / telinit", então como eu posso rodar o upstart ou substituí-lo por outra coisa?

    
por user70547 14.06.2012 / 11:22

2 respostas

5

Você não pode realmente executar o upstart em um chroot. Para que isso funcione, você precisaria de algo como um contêiner LXC. Infelizmente, a maioria dos kernels Android não tem as opções necessárias para permitir que o LXC funcione.

Sem o LXC, a maneira de obter um chroot no seu telefone é executar:

  • subo debootstrap --foreign --arch = armhf preciso preciso
  • copie com precisão / para o seu telefone
  • depois no seu telefone (como root): chroot preciso debootstrap / debootstrap --segundo estágio

Isso lhe dará um chroot padrão do Ubuntu em seu telefone, que você pode fazer chroot com "chroot precise / bin / bash".

Você então precisará montar o / proc e / sys para que seja um pouco utilizável.

Se você tiver a sorte de ter um telefone onde o kernel e o userspace funcionem com o LXC e possam obtê-lo manualmente instalado em seu telefone, o seguinte deverá funcionar:

  • lxc-create -t ubuntu -n meu-container - -r preciso -a armhf
  • lxc-start -n meu-contêiner

Isto irá criar um contêiner armhf Ubuntu 12.04 e iniciá-lo, então você obterá o prompt de login usual (login / password é ubuntu / ubuntu por padrão).

    
por stgraber 15.06.2012 / 18:20
0

Veja Implantação do Linux e my solicitação de pull recente que suporta o uso do Upstart no modo de sessão do usuário para executar serviços em um chroot. Eu acho que esta é uma abordagem muito melhor do que symlinking /bin/true to /sbin/telinit .

    
por Ross Patterson 19.08.2013 / 20:02