1 votes

Raison de l'échec du chroot : tmp-mksh : chroot : non trouvé

Introduction :

J'ai formaté une carte SDCard en ext4 et copié une ArchVersion dessus pour l'exécuter depuis Android comme ceci guide (étape 6). Bien sûr, mon appareil est enraciné et j'exécute les scripts et les commandes suivants dans le répertoire de l'appareil. Emulateur de terminal en tant que super-utilisateur.

Infos sur le dispositif :

  • Téléphone : Sony Xperia Z1
  • Numéro de modèle : C6903
  • Version Android : 5.1.1
  • Numéro de construction : 14.6.A.1.236

Question :

Quand j'exécute sh chroot_bashonly.sh l'erreur tmp-mksh: chroot: not found apparaît. Bien sûr, j'ai regardé dans le script pour le découvrir moi-même :

chroot_bashonly.sh :

#!/bin/sh

export LINUXROOT=/data/local/mnt
export TMPDIR=/tmp
export HOME=/root
export USER=root
export PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:$PATH
export TERM=vt100

sh ./mount.sh

echo "******* Your chroot-environment is starting now ********"
chroot $LINUXROOT /bin/bash # tmp-mksh: chroot: not found
echo "******* You exited the chroot-environment, unmounting... ********"

sh ./umount.sh

echo " ## DONE"

mount.sh :

#!/bin/sh

export LINUXROOT=/data/local/mnt
export TMPDIR=/tmp
export HOME=/root
export USER=root
export PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:$PATH
export TERM=vt100

# mount /
mkdir $LINUXROOT #works
mount -t ext4 -o noatime,rw /dev/block/mmcblk1p2 $LINUXROOT #works

# mount other stuff
mkdir -p $LINUXROOT/proc 
mkdir -p $LINUXROOT/sys 
mkdir -p $LINUXROOT/dev 
mkdir -p $LINUXROOT/dev/pts 
mkdir -p $LINUXROOT/var/lib/dbus
mkdir -p $LINUXROOT/android_storage/sdcard0
mkdir -p $LINUXROOT/android_storage/sdcard1
mkdir -p $LINUXROOT/system
mount -t proc proc $LINUXROOT/proc
mount -t sysfs sysfs $LINUXROOT/sys
mount -o bind /dev $LINUXROOT/dev 
mount -t devpts devpts $LINUXROOT/dev/pts
mount -o bind /system $LINUXROOT/system
mount -o bind /storage/sdcard0 $LINUXROOT/android_storage/sdcard0
mount -o bind /storage/sdcard1 $LINUXROOT/android_storage/sdcard1

echo "******* everything mounted ********"

Je pense que le mount.sh fonctionne, du moins je n'obtiens pas d'erreur et la partie mkdir -créé des dossiers existants. La prochaine chose que j'ai essayée est d'exécuter chroot en dehors du script dans de nombreux formulaires avec la même erreur.

  1. chroot /data/local/mnt /bin/bash

  2. chroot /data/local/mnt /system/bin/sh

  3. chroot /data/local/mnt /bin/sh

Tous ont le même problème : tmp-mksh: chroot: not found .

Alors, qu'est-ce qui ne va pas ?

Est-ce que chroot est même disponible sur Android ?

2voto

goulashsoup Points 203

La raison de cet échec est qu'Android a bloqué chroot pour une raison quelconque. Comme Vendeur de masques de mort a souligné, il est possible d'obtenir des informations sur le type de commande via type commandName Par exemple, dans ce cas type chroot .

Pour résoudre le tmp-mksh: chroot: not found -erreur il est seulement nécessaire d'installer BusyBox .

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X