Как я могу запустить Ubuntu в chroot на Android?

Я хочу запустить полнофункциональную Ubuntu на моем Android-устройстве в chroot. Но у меня есть некоторые проблемы с выскочкой. В chroot "он на самом деле запустит / sbin / telinit", так как мне запустить upstart или заменить его чем-то другим?

7
задан 14 June 2012 в 13:22

2 ответа

См. Linux Deploy и мой недавний запрос на извлечение , который поддерживает использование Upstart в режиме сеанса пользователя для запуска служб в chroot. Я думаю, что это гораздо лучший подход, чем символическая ссылка /bin/true на /sbin/telinit.

0
ответ дан 14 June 2012 в 13:22

В самом деле, вы не можете запустить самопроизвольный запуск в chroot. Чтобы это работало, вам понадобится что-то вроде контейнера LXC. К сожалению, большинство ядер Android не имеют необходимых параметров, позволяющих работать LXC.

Без LXC способ получения chroot на вашем телефоне заключается в следующем:

  • sudo debootstrap --foreign --arch = armhf точное точное
  • , затем копируйте точное / на ваш телефон
  • , затем на вашем телефоне (как root): chroot точный debootstrap / debootstrap --second-stage

Это даст вам стандартный chroot Ubuntu на вашем телефоне, что затем вы можете выполнить chroot с помощью "chroot Precision /bin/bash".

.

Затем вам нужно будет смонтировать / proc и / sys, чтобы его можно было использовать.

Если вам повезло иметь телефон, на котором ядро ​​и пользовательское пространство работают с LXC и могут установить его вручную на вашем телефоне, должно работать следующее:

  • lxc-create -t ​​ubuntu -n my-container - -r точный -a armhf
  • lxc-start -n my-container

Это создаст контейнер Ubuntu 12.04 armhf и запустит его, вы ' Затем я получу обычное приглашение для входа в систему (по умолчанию логин / пароль - Ubuntu / Ubuntu).

0
ответ дан 14 June 2012 в 13:22

Другие вопросы по тегам:

Похожие вопросы: