Como adicionar usuário ao sistema de arquivos separado (Armel)

2

Estou tentando descobrir como adicionar um usuário a um sistema de arquivos separado, como descrito aqui , especificamente no ponto 5: Adicione um usuário local e uma senha para o usuário e adicione o usuário aos grupos adm e sudo.

Eu li em torno do chroot, mas não acredito que isso funcionará como o comando padrão a ser executado é /bin/bash , o que exigiria que o fs alvo fosse compatível com binários. Nesse caso, o sistema de arquivos de destino é Armel , portanto, não é compatível.

    
por chrisvarnz 13.11.2012 / 12:02

2 respostas

2

Eu encontrei esta página que explica exatamente o que eu estava tentando fazer para chroot no sistema de arquivos de destino:

link

É então um caso simples de executar adduser ubuntu ou similar.

Copiado no caso de morte:

Chroot'ing no sistema de arquivos do Ubuntu Core

Uma solução para personalizar o seu sistema de arquivos Ubuntu é fazê-lo no Linux. Usar um 'chroot' às vezes é bastante conveniente, já que você pode executar comandos como faria normalmente no alvo do ARM. Aqui estão alguns passos rápidos para começar a correr:

Configuração do Chroot no Linux PC

Verifique se no seu PC Linux você tem o pacote Ubuntu 'qemu-user-static' instalado. Isso pode ser feito com a seguinte linha de comando (no seu PC Linux):

dpkg -l qemu-user-static

Tenha o seu cartão SD montado no seu PC Linux e vá para a sua pasta root do Ubuntu, geralmente:

cd /media/rootfs

Copie o qemu para o arquivo arm:

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

Se ainda não tiver feito isso, configure suas configurações de rede corretamente:

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

Em seguida, monte sys, proc e dev:

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

Finalmente, chroot no seu sistema de arquivos de destino:

sudo LC_ALL=C chroot . /bin/bash

Você está agora no seu 'chroot', o que significa que você pode executar comandos como se estivesse no seu dispositivo ARM de destino.

Usando o 'chroot'

O primeiro passo é verificar se a conexão de rede está bem. Você pode executar:

apt-get update

Agora você está pronto para instalar qualquer novo pacote no seu Ubuntu Core Filesystem usando ferramentas APT.

Saindo do 'chroot'

Desmontar o sistema de arquivos de destino: Certifique-se de que você está no / target FS e execute os seguintes comandos:

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

Volte para as configurações de rede originais:

mv etc/resolv.conf.saved etc/resolv.conf
    
por chrisvarnz 16.01.2013 / 11:22
0

Talvez isso funcione (além de sua solução alternativa: montar o novo sistema de arquivos em um sistema ARMEL):

antes de fazer chroot , do mount --bind os diretórios que contêm binários dependentes da arquitetura do seu sistema host nos pats correspondentes no novo sistema de arquivos ( /bin/ , /sbin/ , /lib/ - talvez isso seja suficiente para adicionar um usuário ou /usr/* também, se não for o caso, então chroot e execute os comandos. /etc/ , /home/ e /var/ do novo sistema de arquivos serão modificados.

    
por imz -- Ivan Zakharyaschev 08.01.2013 / 01:37