みなさんこんにちは。 ボットブリュー
に関する記事はすでにあり、一般にボットブリューとは何か、またそれが与えるものについて説明しています。 要するに:
BotBrewプロジェクトは、ユーザーが遭遇する可能性のあるLinuxソフトウェアのインストールに関する問題の多くを解決し、外部のアプリケーションを受け入れるためにAndroidシステムを準備するように設計されています。
通常の古典的なBotbrewには独自のリポジトリがありますが、パッケージはほとんどないので残念です。 本当に台無しにしたい人は、debian emdebianリポジトリを使用するBorbrew-Basilを気に入るはずです。 しかし、今も彼と一緒に、すべてが悲しいです、なぜなら
2014年7月の時点で、Emdebianディストリビューションの更新は終了しました。 これ以上の更新や安定したリリースはありません。
かつてemdebianをインストールした人でさえ、現在飛行中です。 この投稿では、ルーティングされた
Archlinux電話の配置方法について説明しますが、通常のループイメージではなく、ネイティブAndroidファイルシステムまたは2番目のSDパーティションに配置します。 メインコンピューターに、busyboxがインストールされ、USBデバッグが有効になっており、adbユーティリティを備えたルート化された電話があることを前提としています。
調理器具
最初に必要なことは、Linuxを置くフォルダーを作成することです。 2つのオプションがあります-/データセクションのフォルダーまたはメモリカードの別のext4セクション。 2番目のケースでは、セクションを何らかの方法で電話のメインFSにマウントする必要があります。 これは、たとえば
Link2SDを使用して
実行できます。 次に、/ data / sdext2にマウントされている2番目のSDパーティションを使用しているという事実から進みます。これを/ data / sdext2 / archフォルダーに配置します。
また、使用するプロセッサアーキテクチャのリポジトリを理解する必要があります。 私は、armv7lプロセッサを備えたQumo Quest 454を所有しており、
http: //mirror.archlinuxarm.org/arm/が登場しました。
電話をUSB経由で接続し、adb経由で電話に行き、急いで行きました。
最小限の開始オプションを収集します
最小限のインストールには、次のパッケージが必要です(ルートから実行します。パッケージのバージョンは時間が経つにつれて新しくなる可能性があります)。
mkdir -p /data/sdext2/arch/packages cd /data/sdext2/arch/packages wget http://mirror.archlinuxarm.org/arm/core/acl-2.2.52-2-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/attr-2.4.47-1-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/bash-4.3.030-1-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/bzip2-1.0.6-5-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/curl-7.39.0-1-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/e2fsprogs-1.42.12-1-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/expat-2.1.0-4-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/filesystem-2014.10-3-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/gcc-libs-4.9.2-1-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/glibc-2.20-4-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/gpgme-1.5.2-1-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/keyutils-1.5.9-1-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/krb5-1.13-1-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/libarchive-3.1.2-8-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/libassuan-2.1.3-1-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/libgpg-error-1.17-1-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/libidn-1.29-1-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/libssh2-1.4.3-2-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/lzo-2.08-3.1-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/ncurses-5.9-6.1-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/openssl-1.0.1.j-1-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/pacman-4.1.2-7-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/pacman-mirrorlist-20141208-1-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/readline-6.3.006-1-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/util-linux-2.25.2-1-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/xz-5.0.7-1-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/zlib-1.2.8-3-arm.pkg.tar.xz
すべてがダウンロードされたら、解凍します。
cd /data/sdext2/arch tar xvf packages/*.pkg.xz
Archlinuxの最小インストールのようなものを得ました。 それでは、システムフォルダー()を以前にマウントして、chrootを作成してみましょう。
busybox mount -t proc none ./proc busybox mount -o rbind /dev ./dev busybox mount -t sysfs none ./sys busybox mount -t tmpfs none ./tmp busybox mount -o size=10%,mode=0755 -t tmpfs none ./run chroot . /bin/bash
すべてがうまくいけば、bashは最小限の環境から始まり、pacmanが利用可能になります。 プロセスを開始すると、システムは、LD_PRELOADで説明されているlibsuc.soを見つけることができないと呪いました。 この場合、LD_PRELOADをクリアするだけです:
export LD_PRELOAD=
パッケージを整理する
だから、私たちはchrootにいます。pacmanとbashは私たちのために働いています。 まず第一に、何を整理しましょう。 DNSを登録し、リポジトリをロードします。
echo "nameserver 8.8.8.8" > /etc/resolv.conf pacman -Sy
ここで、解凍したものを正式にインストールし、生活に最低限必要な残りのパッケージを追加し、ファイルシステムのインストールが私たちに勝った場所にdnsを返します。
pacman -S base --force --noconfirm echo "nameserver 8.8.8.8" > /etc/resolv.conf
すべてがうまくいけば、systemdとArchlinuxコアを完全に取り除いたものになります。 chrootを終了し、マウントしたものをすべてアンマウントします。
exit umount ./dev/pts umount ./dev/cpuctl umount ./proc umount ./sys umount ./tmp umount ./run
自動マウントおよびその他のバンを追加する
簡単でシンプルであることが判明したものを使用するために、botbrew-basilからinitをねじ込みます。 これは、必要なものがすべてマウントされているかどうかを確認し、環境内でchrootを実行するユーティリティです。 ボットブリューリポジトリからダウンロードする方法が見つからなかったため、今のところ、Yandex.Diskに
リンクを投稿しました。 initを/ data / sdext2 / archにコピーし、実行用の属性を追加します。
adbシェルに入り、次のように入力します。
/data/sdext2/init /bin/bash
その結果、必要なものはすべて一度マウントされ、新たに配置されたアーチにいることに気づきます。 ボーナスとして、initは、chrootのルートに/ storage、/ mnt、および/ androidフォルダーを作成し、元のファイルシステムの断片をマウントします。
LinuxをUSBケーブル経由ではなく、電話から直接使用するには、お気に入りの端末で/ data / sdext2 / init / bin / bashをシェルとして登録できます。 さらに、sshdなどを味わうユーザーを作成することもできます。 しかし、すべてのアーカイブは既にこれを行う方法を知っているので、ここでそれについては書きません。
ご清聴ありがとうございました。追加や修正は大歓迎です。
更新:再起動後に1回実行
する小さなスクリプト