Como configurar o busybox dpkg android?

2

Problemas semelhantes ao link

Oi! Fiquei animado ao descobrir que o dpkg veio com versões mais recentes do busybox, então eu comecei a instalar um pacote. Eu coletei todas as dependências para o apt e corri:
dpkg -i *.deb Infelizmente, houve um erro!
dpkg: Unable to open /var/lib/dpkg/status: no such file or directory
Ok, eu lidei com isso, criando diretórios / var / lib / dpkg, então fazendo o arquivo vazio / var / lib / dpkg / status. Então tentei novamente:
dpkg -i *.deb dpkg: package libtasn1-6 pre-depends on multiarch-support, which is not installed or flagged to be installed
Então eu tentei instalar o multiarch-support, mas depende do libc6, que depende do libgcc, que depende do suporte multiarch. Eu também tentei instalá-los todos na mesma linha, mas ocorreu o mesmo erro de dependência.
Então eu tentei instalar o libgcc com --force-depends , mas agora ele se queixa de não ter /var/lib/dpkg/info/libgcc1.md5sums, então eu crio o info info, ele fica um pouco mais distante, mas então:sh: /var/lib/dpkg/info/libgcc1.postinst: No such file or directory dpkg: postinst failed, error code 256

O que estou perdendo? Existe alguma maneira de configurar o dpkg do busybox para que ele possa realmente instalar pacotes?

    
por Panda0nEarth 31.03.2017 / 20:46

1 resposta

3

Rodar o utilitário dpkg é uma coisa, instalar uma distribuição é outra. Para obter uma distribuição em execução, você precisa instalar um monte de pacotes e trabalhar em torno do fato de que, com os utilitários mais fundamentais, praticamente tudo depende de todo o resto funcionando. É um problema bootstrapping .

Felizmente, há um aplicativo para isso! A Debootstrap foi projetada exatamente para esse propósito. Eu acho que você pode obter Deboostrap para rodar em um sistema com BusyBox, mas provavelmente é mais simples usar o modo de duas fases:

  1. Obtenha o debootstrap (disponível como um pacote no Debian, é claro, mas também em várias outras distribuições) e execute-o em um PC Linux para preparar uma árvore de diretórios.

    debootstrap --arch=armhf --foreign jessie debian
    
  2. Copie a árvore de diretórios para o seu dispositivo com o BusyBox, certificando-se de preservar os atributos do arquivo. Use tar para arquivar o diretório e descompactá-lo no dispositivo de destino.

  3. No dispositivo de destino, chroot para onde você descompactou o arquivo e execute

    /debootstrap/debootstrap --second-stage
    
por 01.04.2017 / 03:24