banner
late autumn

lateautumn

一个什么都不会的职中生
github
email
telegram
bilibili

Androidのネイティブ実行Lxc

image.png
概要:
LXC は、Linux カーネルのコンテナ機能のユーザースペースインターフェースであるオペレーティングシステムレベルの仮想化技術です。アプリケーションソフトウェアシステムをソフトウェアコンテナにパッケージ化し、アプリケーションソフトウェア自体のコードと必要なオペレーティングシステムカーネルとライブラリを含んでいます。


1. カーネルのコンパイル#

1.1. カーネルの設定を調整する#

このリポジトリを使用して、設定を迅速に追加します。

git fetch https://github.com/lateautumn233/android_kernel_docker main
git merge -s ours --no-commit --allow-unrelated-histories --squash FETCH_HEAD
git read-tree --prefix=docker -u FETCH_HEAD
echo "source \"docker/Kconfig\"" >> arch/arm64/Kconfig
git commit -a -m "Imported docker/ from https://github.com/lateautumn233/android_kernel_docker"

その後、自分でコンパイルしてください
🥵🥵🥵

1.2. カーネルパッチ#

  1. パニックの可能性がある問題を修正する
  1. cgroup に cpuset プレフィックスがない問題を修正する
  1. ANDROID_PARANOID_NETWORK を無効にする
scripts/config --file arch/arm64/configs/<defconfig> -
d ANDROID_PARANOID_NETWORK

1.3. カーネルの設定を確認する#

完全なカーネル設定を生成した後、確認してください。

wget https://raw.githubusercontent.com/lxc/lxc/main/src/lxc/cmd/lxc-checkconfig.in -O lxc-checkconfig
chmod a+x lxc-checkconfig
CONFIG=out/.config lxc-checkconfig

具体的なカーネルのコンパイル方法は省略します。

2. lxc モジュールのインストール#

このmagisk モジュールをダウンロードしてインストールし、再起動してください。

2.1. lxc コンテナの起動#

適当なターミナルソフトウェアを見つけて実行してください。

. /data/lxc/env.sh

コンテナを作成する

lxc-create -t download -n my-container -- --server mirrors.tuna.tsinghua.edu.cn/lxc-images
# ディストリビューション、バージョン、アーキテクチャを順番に入力してください
# その後、起動します
lxc-start -n my-container -d -F

lxc コンテナのパスワードを調整する

chroot path /bin/su -
lxc-attach -n my-container passwd

2.1. ネットワークの設定#

(オプション、デフォルトでは veth を変更する必要はありません)

2.1.1 ホストモードを使用する#

sed -i 's/lxc\.net\.0\.type = veth/lxc.net.0.type = none/g' /data/lxc/etc/lxc/default.conf

にゃーにゃーにゃーにゃーにゃー

参考記事:#

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。