coreutilsバイナリはどこでダウンロードできますか?

coreutilsバイナリはどこでダウンロードできますか?

fileAndroidデバイス(たとえば、より良いバージョン)にいくつかのコマンドをインストールしようとしていますが、lsそのためのARMバイナリ(5TEアーキテクチャなど)を探していますが、ダウンロードする場所が見つかりません。 「arm ls binary」や「ls binary」のようなものをインターネットで検索すると、私が望むもの以外のすべてを得ることができます。

バイナリを見つけることができる場所はありますか?

ベストアンサー1

AndroidデバイスにLinuxユーティリティをインストールする最も簡単な方法は、ディストリビューション全体をサブディレクトリにインストールすることです。 「一般」ディストリビューション(Debian、Arch、Fedoraなど)はGlibcに動的にリンクされたバイナリを提供しますが、Androidはそうではありません。を実行するには、Glibcのローダー()を使用する必要があります/lib/ld-linux*.so

これらのシステムを設定する簡単な方法はDebianを使用することです。ブーストに行く初期のDebianディレクトリツリーを構築し、それをAndroidデバイスに転送してから、apt-get他の標準のDebianツールを使用してパッケージをインストールします。 Debian Wikiには、そのトピックに関する複数のページがあります。AndroidのChrootHottwo DebianのAndroid

  1. まず、Debootstrapをインストールします。 Debianまたは派生製品ではdebootstrapパッケージをインストールするだけです。他のLinuxまたは他のUnixバリアントではdebootstrapソースタールボールまたはGitで見ることができます。これはシェルスクリプトとサポートデータファイルです。

  2. デバイスがサポートしていることを確認するハードウェア浮動小数点。そうでない場合は、次のものarmhfと交換してください。 Android(またはLinuxカーネルを使用する他のデバイス)を確認してください。次の機能を備えたARMv7(またはARMv8)が必要armelです。/proc/cpuinfothumbeevfpv3

  3. まだない場合は、インストールしてみてください忙しい箱Androidデバイスで。必ずしも必要ではありませんが、以下で便利に使用できます。 Debian バイナリパッケージを検索しbusybox-static、Extract BusyBox 実行可能ファイルを使用しar p busybox-static_*_armhf.deb data.tar.gz | tar -xzf - ./bin/busybox、バイナリをbusyboxAndroid デバイスに転送できます。以下では、BusyBoxがあるとします/vendor/bin/busybox

  4. Androidデバイスがext2 / ext3 / ext4(またはunix権限をサポートする他のファイルシステム、つまり非FAT)でフォーマットされたSDカードをマウントできる場合は、SDカードをUnix PCにマウントしてrootとして実行してください。 :

    debootstrap --arch=armhf --foreign wheezy /media/sdcard/debian http://http.debian.net/debian
    

    それ以外の場合は、root(または可能であればfakeroot)で次のコマンドを実行します。

    sh -c 'debootstrap --arch=armhf --foreign wheezy /tmp/debian http://http.debian.net/debian && tar -zcf /tmp/debian.tar.gz -C /tmp debian'
    

    /tmp/debian.tar.gzこれでAndroidデバイスに転送する必要があります。 adb(adb push /tmp/debian.tar.gz /)または他の適切な方法でこれを実行してからTarballを解凍することができます(BusyBoxを使用tar)。

    tar -zxvf /debian.tar.gz
    
  5. 快適なLinuxプログラム実行環境を構築してください。最も簡単な方法はchroot。私はDebianシステムがあり、/media/sdcard/debianBusyBoxがあるとします。シェルスクリプトを作成します。

    #!/vendor/bin/busybox sh
    LINUX_ROOT=/media/sdcard/debian
    alias bb=/vendor/bin/busybox
    unset LD_LIBRARY_PATH PATH SHELL
    export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    # Bind-mount filesystems if not already done
    for d in /dev /media /proc /sys; do
      bb grep -q " $LINUX_ROOT$d " /proc/mounts || bb mount -o rbind "$d" "$LINUX_ROOT/$d"
    done
    for d in /data /system; do
      if ! bb grep -q " $LINUX_ROOT$d " /proc/mounts; then
        mkdir -p "$LINUX_ROOT/android/$d"
        bb mount -o rbind "$d" "$LINUX_ROOT/android/$d"
      fi
    done
    exec bb chroot "$LINUX_ROOT" /bin/bash "$@"
    

    スクリプトを実行可能にし、/vendor/binAndroid PATH または Android PATH の別の場所に配置します。 Linuxのインストールを完全に楽しむ前に、debootstrapを完了する必要があります。chrootで次を実行します。

    /debootstrap/debootstrap --second-stage
    

おすすめ記事