Come posso eseguire Ubuntu in chroot su Android?

7

Voglio eseguire Ubuntu completamente funzionale sul mio dispositivo Android in chroot. Ma ho qualche problema con Upstart. In chroot "verrà effettivamente eseguito / sbin / telinit", quindi come posso eseguire l'avvio o sostituirlo con qualcos'altro?

    
posta user70547 14.06.2012 - 11:22

2 risposte

5

Non puoi davvero correre da solo in un chroot. Perché funzioni, ti serve qualcosa come un contenitore LXC. Sfortunatamente la maggior parte dei kernel Android non ha le opzioni necessarie per consentire a LXC di funzionare.

Senza LXC, il modo per ottenere un chroot sul telefono è eseguire:

  • sudo debootstrap --foreign --arch = armhf preciso preciso
  • quindi copia precisi / sul tuo telefono
  • quindi sul telefono (come utente root): chroot preciso debootstrap / debootstrap --secondo stadio

Questo ti darà un chroot standard di Ubuntu sul tuo telefono, che puoi quindi inserire in chroot con "chroot precise / bin / bash".

Avrai quindi bisogno di montare / proc e / sys perché sia ​​un po 'utilizzabile.

Se si è abbastanza fortunati da avere un telefono in cui il kernel e lo userspace funzionano con LXC e possono essere installati manualmente sul telefono, dovrebbe funzionare quanto segue:

  • lxc-create -t ​​ubuntu -n my-container - -r precise -a armhf
  • lxc-start -n mio-contenitore

Questo creerà un contenitore armhf di Ubuntu 12.04 e lo avvierà, riceverai il solito prompt di login (login / password è ubuntu / ubuntu di default).

    
risposta data stgraber 15.06.2012 - 18:20
0

Vedi Linux Deploy e mia recente richiesta di pull che supporta l'utilizzo di Upstart in modalità sessione utente per l'esecuzione di servizi in un chroot. Penso che questo sia un approccio molto migliore rispetto al collegamento simbolico di /bin/true a /sbin/telinit .

    
risposta data Ross Patterson 19.08.2013 - 20:02

Leggi altre domande sui tag