Android x86chroot + VNCでUbuntu x86 + Wineを起動したす

たえがき


AndroidデバむスでUbuntuを起動するずいうテヌマはすでにかなりボロボロです。ネットワヌク䞊には倚数のマニュアルがありたす。 しかし、䞀぀だけありたす ARMアヌキテクチャに぀いおです。
ただし、IntelはすでにMedfieldx86プロセッサをモバむル垂堎に投入する蚈画を発衚しおいたす。 たた、すぐに䜿えるスマヌトフォンが登堎し始めたした。
むンドでは、これはLava XOLO X900です。 たた、Operator for Europeのブランド名の䞋にあるそのコピヌ。
画像
溶岩XOLO X900

画像
オペレヌタヌOrangeのバヌゞョン


レノボ、䞭囜向けLePhone K800を発売
画像
レノボLePhone K800


2012幎6月末には、これらのデバむスはすでに販売されおいたす。
ず溶岩XOLO X900 。 私が理解しおいるように、 www.xolo.inはむンド囜内で利甚可胜です。 それはすでにebayから泚文するこずができたすが 。 仲介業者を通じたロシアの珟圚の䟡栌は、 www.bay.ruでご芧いただけたす。
レノボLePhone K800も利甚可胜ですが、これたでのずころ䞭囜の店舗でのみ衚瀺されたす

゚ントリヌ


これたでのずころ、モデルは小さくおうれしく、あたり手頃な䟡栌ではありたせん。 技術的な問題に興味がありたした。
そしお、私たちが持っおいるもの。 これらのデバむスには、x86アヌキテクチャのプロセッサが搭茉されおいたす。 誰が䜕を考えおいたのか分かりたせん。
おそらくその䜎゚ネルギヌ効率、䜎生産性に぀いお。 レビュヌは別の方法を瀺唆しおいたすが。
すぐに゚ミュレヌションなしでWindowsアプリケヌションを実行するのがいいずすぐに思いたした。 倚くの人がすでに゚ミュレヌタヌQemu、Bochs、aDOSBoxなどで叀いバヌゞョンのWindowsを実行しようずしたこずがあるず思いたす。
デュアルブヌトの可胜性に぀いお話すのは時期尚早です。 BIOS / UEFIがあるかどうかさえ明らかではありたせん。
Ubuntu x86で Wineを実行するのは悪くないず思いたした。 Ubuntuの䞋で
ARMは明らかな理由で奇跡ではありたせん。
たあ、手にデバむスを持っおいないので。 残ったのは、Android x86゚ミュレヌタヌでアむデアを確認するこずだけでした。

仕事を始める


たず、Android x86 Atom System ImageをAndroid SDKに远加したした。 それを実行するず、信じられないほどのブレヌキにぶ぀かりたした。GPUをオンにしおも問題は解決したせんでした。 䜜業が非垞に遅いため、Androidをルヌト化するこずさえ望んでいたせん。
そこで、私はすぐにVirtualBoxの䞋にAndroid x86をむンストヌルしたした。 VMを初めおセットアップするずきは、少なくずも7 GBの倧きなHDDサむズを指定したす。 Androidのむンストヌルの最埌の段階で、停のSDカヌドの䜜成を拒吊したす。

次の問題は、 * .imgに Ubuntuがむンストヌルされおいるむメヌゞを芋぀けるこずでした。
䞀方、Ubuntu 12のむメヌゞはVirtualBox * .vdiの䞋にありたした
最初に思い぀いたのは、次のようなコマンドで* .vdiを* .imgに倉換するこずでした
VBoxManage clonehd --format RAW ubuntu.vdi ubuntu.img
しかし、これは正しい方法ではありたせんでした。 このようにしお、パヌティションテヌブルを含むディスク党䜓のむメヌゞが䜜成されたす;それをマりントしないのはずおも簡単です。

盞談した埌、正しい゜リュヌションが芋぀かりたした。 livecdを䜿甚しお仮想マシンをロヌドする必芁がありたす。最初に、鉄道の* .vdi AndroidおよびUbuntuむメヌゞを接続したす。
コン゜ヌルで、livecdから起動したす
sudo parted -l
Ubuntu x86のマりントされたむメヌゞの名前を確認したす。 これは通垞sda1です

さらに自分で、右偎の777のむメヌゞにすべおのディレクトリずファむルを蚭定するこずをお勧めしたす。 これらの操䜜には時間がかかるずいう事実にもかかわらず。 これを行わないず、画像をAndroidにマりントするずきに解決できない問題が発生する可胜性がありたす。 私はそれらを持っおいたす。
そこで、次のコマンドを䜿甚したす。
# find /media/ -type d -exec chmod 777 {} \;
# find /media/ -type f -exec chmod 777 {} \;

どちらか

chmod -R 0777 /media/

次に、入力コン゜ヌルで、マりントされたUbuntuむメヌゞのブロックデバむスをフィヌドしたす。 出力甚に、むメヌゞファむルubuntu.imgを曞き蟌みたす。䟿宜䞊、Androidむメヌゞのsdcard / ubuntuディレクトリにすぐに曞き蟌みたす。
これを行うには、次を実行したす。
dd if=/dev/sda1 of=/media/Android-x86/android-4.0-RC1/data/media/ubuntu/ubuntu.img bs=1M
操䜜が速くないのを埅っおいたす。 Androidむメヌゞに十分なスペヌスがあるこずを確認しおください。

再床、受信したubuntu.imgむメヌゞファむルに777の暩利を蚭定したす
たあ、圌らは䞀皮のむメヌゞを甚意したした。 先に進みたす。

取り付け


マりントは、おそらく最もストレスの倚い段階です。
すべおの凊理が完了した埌、぀いにAndroidを起動したす。
たず、次のものが必芁です。
1. /sdcard/ubuntu/ubuntu.imgディレクトリにあるUbuntu x86むメヌゞ
2. Android x86のルヌティングされたアセンブリ。 通垞、それらはすぐにフレヌム化されたす。
3. Androidタヌミナル
4. android-vnc-viewer
5.ルヌト゚クスプロヌラヌ

開始するには、Androidでネットワヌクを遞択したす。
ネットワヌクアダプタヌずしお、NATモヌドたたは環境にDHCPサヌバヌがある堎合はブリッゞモヌドでPCNET Fast IIIを遞択したす。
画像
むンタヌネットの正しい動䜜は、端末から蚭定できたす。
ネットワヌクむンタヌフェむスを䞀芧衚瀺したす。 それらの䞭には、䟋えばeth0があるはずです
IP
ルヌト暩限を取埗したす。
す
DHCP経由でネットワヌク蚭定を取埗する
dhcpcd eth0
DNSサヌバヌを構成する
setprop net.dns1 8.8.8.8
これらの手順の埌、仮想マシンのむンタヌネットが衚瀺されたす。
adbを構成したす。 VirtualBoxオプションの仮想マシンポヌト5555を、たずえばホストポヌト5556に転送したす。
画像
これで、adbを䜿甚しお仮想Androidに接続できたす
adb connect 127.0.0.1 ∗ 556
ルヌトのシェルを取埗する必芁がある堎合
adbシェル
ファむル共有ずアプリケヌションのむンストヌルはコマンドによっお行われたす
adb pushたたはadb install
垂堎にずっお、むンタヌネットは私にずっおうたくいきたせんでした。 ただし、ブラりザおよびシステムではそうです。

次のステップは、Ubuntuでむメヌゞずchrootを盎接マりントするこずです。

ファむルbを䜜成し、次の内容で/ sdcard / ubuntuディレクトリに保存したす
Ubuntuのマりントおよびログむンスクリプト
mount -o remount、rw -t yaffs2 / dev / block / mtdblock3 / system
echo "倉数の蚭定"
゚クスポヌトビン= /システム/ビン
export mnt = / data / local / ubuntu
export PATH = $ bin/ usr / bin/ usr / sbin/ bin$ PATH
゚クスポヌトTERM = linux
export HOME = /ルヌト
[ -d / data / local / ubuntu]
それから
mkdir / data / local / ubuntu
chmod 777 /デヌタ/ロヌカル/ Ubuntu
fi

echo "ルヌプデバむスのセットアップ"
losetup / dev / block / loop1 /sdcard/ubuntu/ubuntu.img

゚コヌ「マりント」
mount -t ext4 / dev / block / loop1 / data / local / ubuntu
mount -t devpts devpts $ mnt / dev / pts
mount -t proc proc $ mnt / proc
マりント-t sysfs sysfs $ mnt / sys

echo "ネットワヌクのセットアップ"
sysctl -w net.ipv4.ip_forward = 1
echo "nameserver 208.67.222.222"> $ mnt / etc / resolv.conf
echo "nameserver 208.67.220.220" >> $ mnt / etc / resolv.conf
echo "127.0.0.1 localhost"> $ mnt / etc / hosts

゚コヌ「ENTER UBUNTU」
chroot $ mnt / bin / bash

゚コヌ「UMOUNTING」
umount -lfr $ mnt / dev / pts
umount -lfr $ mnt / proc
umount -lfr $ mnt / sys
umount -lfr $ mnt
losetup -d / dev / block / loop1


特に泚意しおください。
mount -t ext4 / dev / block / loop1 / data / local / ubuntu
マりントされたむメヌゞでファむルシステムのタむプを指定するこずが重芁です。

タヌミナルアプリケヌションを起動する
端末にコマンドを入力しお、「Enter」を抌したす。
す

端末にコマンドを入力しお、「Enter」を抌したす。
cd / sdcard / ubuntu

端末にコマンドを入力しお、「Enter」を抌したす。
sh b

「root @ localhost/」ず衚瀺されたら、おめでずうございたす 珟圚、Ubuntu x86で䜜業しおいたす

Ubuntuにログむンするたびに、Android端末でsuず入力しおからsh bず入力するだけです。

Ubuntuを正しく終了するには、Ubuntuタヌミナルでexitず入力する必芁がありたす。

VNCを構成する

ネットワヌクに接続しおいるこずを確認しおください
タヌミナルでコマンドを入力しお「Enter」を抌し、完了を埅ちたす
apt-get update

タヌミナルでコマンドを入力しお「Enter」を抌し、質問にyず答えたす。
apt-get install tightvncserver

chrootの䞋で䜜業を続けたす。
/ビンに移動
そこで、内容を含むxファむルを䜜成したす。
rm -r -f / tmp
mkdir / tmp
chmod 777 / tmp
゚クスポヌトUSER =ルヌト
゚クスポヌトXKL_XMODMAP_DISABLE = 1
vncserver -geometry 800x550

800x550は、゚ミュレヌタ/デバむスの解像床を眮き換えたす
Android 4では、䞋のパネルが特定のピクセル数を占めるこずに泚意しおください。 私の堎合、50ピクセルです。 したがっお、VNCクラむアントでは、゚ミュレヌタのようにスクロヌルするのは600ではなく、550が瀺しおいたした。
解像床を確認する最も簡単な方法は、スクリヌンショットを撮るこずです。

chmod 777 xを実行したす

前の手順を䜿甚しお、xスクリプトを䜜成したした。 グラフィカルモヌドでの䜜業を開始する堎合は、Ubuntuタヌミナルでxず入力しおEnterキヌを抌したす。 スクリプトxを初めお実行するずき初めおのみ、VNC接続のパスワヌドを䜜成するように求められるこずに泚意しおください。 必芁なパスワヌドを入力したす最初の8文字のみを考慮したす。 たた、「衚瀺専甚」パスワヌドを䜜成するように求められたす-質問nぞの回答を入力しお拒吊したす
android-vnc-viewerを起動したす。 次のパラメヌタヌを䜿甚しお、新しい接続を䜜成したす。
ニックネヌム䜕でも
パスワヌド蚭定したVNC接続パスワヌド
アドレスlocalhost
ポヌト5901
カラヌ圢匏24ビットカラヌ4 bpp
[接続]ボタンをクリックしたす。 数分埌、Ubuntuはグラフィカルモヌドで起動したす。

sずいう最終的なスクリプトを䜜成する必芁がありたす
もう䞀床/ビンに行きたしょう
そこで、内容を含むxファむルを䜜成したす。
゚クスポヌトUSER =ルヌト
vncserver -kill1
vncserver -kill2
sudo reboot
sudo halt

chmod 777の䜜成

グラフィカルむンタヌフェむスがあり、Ubuntuを終了する堎合は、Ubuntuタヌミナルでsを実行しおVNCサヌバヌを停止する必芁がありたす。

さお、最埌の郚分


ワむンを入れる
たあ、すべおは簡単です
sudo apt-get install wine

萜ずし穎に぀いおはあたりない


゚ミュレヌタヌの䞋で䜜業する必芁がありたしたが、おそらく゚ミュレヌタヌには玠晎らしいバむナリトランスレヌタヌがありたせん。
そのため、NDKを䜿甚しお䜜成された゜フトりェアは起動せず、゚ラヌが発生したした。
NDKなしで蚘述されおいるandroid-vnc-viewerが䜿甚されおいるのはそのためです。 ただし、android-vnc-viewerはハヌドりェアキヌボヌドを完党にはサポヌトしおいないこずに泚意しおください。 そしお、本栌的なアナログは機胜したせん。
NDKが䜿甚されたかどうかの確認は非垞に簡単です。 たずえば、 libディレクトリがある堎合、WinRARで* .apkを開き、NDKを䜿甚したした。 このディレクトリでは、アプリケヌションがどのアヌキテクチャ向けに構築されたかを確認できたす。 ARMv6、v7以倖の開発者はすぐにx86を远加するず思いたす。
゚ミュレヌタの䞋での速床を考えおみおください。 たた、Ubuntuではかなり重いシェルを䜿甚したした。
android-vnc-viewerでは、特定のモヌドでのマりスの右ボタンは、巊ダブルクリックのように機胜したす。

ゲヌムのバむナリトランスレヌタが最初にどれだけ生産的になるかを確認したいず思いたす。

画像
勝利


w3bsit3-dns.com EeeeKaの友人、およびヘルプず蚘事のbit_impに感謝したす。

VirtualBoxでUbuntuを䜿甚しお既に完成したAndroidむメヌゞを実行しようずする人のためのリンク
narod.ru/disk/53940773001.7d8f3a1e5cbcdf6499737ecdb1c83337/Android%204%20x86.7z.html

Source: https://habr.com/ru/post/J146480/


All Articles