Как добавить пользователя в отдельную файловую систему (Armel)

Я пытаюсь выяснить, как добавить пользователя в отдельную файловую систему, как описано здесь , в частности пункт 5: Добавить локального пользователя и пароль для пользователя, затем добавить пользователь групп adm и sudo.

Я читал о chroot, но я не верю, что это сработает, так как команда по умолчанию для запуска - /bin/bash, что потребует, чтобы целевой fs был двоично-совместимым. В этом случае целевой файловой системой является Armel , поэтому она не совместима.

2
задан 8 January 2013 в 04:47

2 ответа

Я нашел эту страницу, которая объясняет точно, что я пытался сделать к chroot в целевую файловую систему:

http://www.omappedia.com/wiki/OMAP_Ubuntu_Core#Chroot.27ing_into_the_Ubuntu_Core_Filesystem

Это - затем простой случай выполнения adduser ubuntu или подобный.

Скопированный в случае, если это идет мертвое:

Chroot'ing в файловую систему ядра Ubuntu

Одно решение настроить Вашу Файловую систему Ядра Ubuntu состоит в том, чтобы сделать это от ПК Linux. Используя 'chroot' иногда довольно удобно, поскольку можно выполнить команды, как Вы обычно делаете на цели ARM. Вот некоторые быстрые шаги для получения выполнения:

Конфигурация Chroot на ПК Linux

Проверьте, что на Вашем ПК Linux у Вас есть 'qemu-user-static' установленный пакет Ubuntu. Это может быть сделано со следующей командной строкой (на Вашем ПК Linux):

dpkg -l qemu-user-static

Смонтируйте Вашу SD-карту на Вашем ПК Linux и перейдите к Вашей rootfs папке Ubuntu Core, обычно:

cd /media/rootfs

Скопируйте qemu для брусовки:

cp /usr/bin/qemu-arm-static usr/bin/

Если не сделанный уже, настройте Ваши параметры сети правильно:

mv etc/resolv.conf etc/resolv.conf.saved
cp /etc/resolv.conf etc/resolv.conf

Затем смонтируйте sys, proc и dev:

for m in `echo 'sys dev proc'`; do sudo mount /$m ./$m -o bind; done

Наконец, chroot в Вашу целевую файловую систему:

sudo LC_ALL=C chroot . /bin/bash

Вы находитесь теперь в Вашем 'chroot', что означает, что можно выполнить команды как то, если Вы были на своем целевом устройстве ARM.

Используя 'chroot'

Первый шаг должен проверить, что сетевое соединение прекрасно. Можно работать:

apt-get update

Вы теперь готовы установить любой новый пакет в своей Файловой системе Ядра Ubuntu с помощью инструментов APT.

Выход из 'chroot'

Размонтируйте целевую файловую систему: Удостоверьтесь Ваш в / целевой FS и выполните следующие команды:

for m in `echo 'sys dev proc'`; do sudo umount ./$m; done

Вернитесь к своим настройкам исходной сети:

mv etc/resolv.conf.saved etc/resolv.conf
1
ответ дан 8 January 2013 в 04:47

Возможно, это будет работать (кроме вашего обходного пути: монтирование новой файловой системы в систему ARMEL):

перед выполнением chroot, сделайте mount --bind каталоги, содержащие зависящие от архитектуры двоичные файлы из вашего хост-систему на соответствующие патчи в новой файловой системе (/bin/, /sbin/, /lib/ - возможно, этого будет достаточно для добавления пользователя; или /usr/*, если нет), затем chroot и запустите команды. /etc/, /home/ и /var/ из новой файловой системы будут изменены.

0
ответ дан 8 January 2013 в 04:47

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

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