informasi kontak saya
Surat[email protected]
2024-07-08
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Alamat pertama:https://mp.weixin.qq.com/s/1e8er_amC94DTVCaNbSuUw
Tujuan dari hal ini bukan untuk bermain game atau apa pun, tetapi untuk mengurangi ketergantungan pada ponsel saat merekayasa balik APP. Lagi pula, langkah-langkah untuk mem-flash ponsel cukup mengganggu dan dapat dengan mudah menjadi brick jika Anda tidak hati-hati.
Misalnya, beberapa aplikasi yang tidak ketat dalam pengujian lingkungan dapat diuji di dalamnya, yang juga memudahkan untuk mengubah kode sumber sistem dan mem-flash mesin nanti. Namun sayang sekali kernel tidak dapat dikustomisasi (redroid dan Waydroid keduanya menggunakan solusi container dan berbagi kernel dengan host). Jika Anda ingin mengkustomisasi kernel, Anda hanya dapat menggunakan sotong atau avd Google, tetapi ini memiliki dukungan terbatas di lengan dan bisa dijalankan. Tapi tidak ada akselerasi GPU, jadi saya akan coba sotong nanti.
Saya tidak akan membahas proses update Ubuntu dengan Orange Pie. Jika Anda tertarik, silakan baca artikel sebelumnya:Orange Pie 5plus memulai Ubuntu dari SSD . Jika Anda mem-flash sistem ini, Anda tidak perlu menginstal atau mengkonfigurasi apa pun untuk menjalankan redroid. Namun jika Anda ingin menggunakan WIFI virtual atau ebpf, Anda tetap harus mengubah parameter kernel dan mengkompilasi sendiri kernel Linux.
Tutorial resmi:https://github.com/remote-android/redroid-doc
grep binder /proc/filesystems
grep ashmem /proc/misc
Jika tidak ada yang dicetak, Anda mungkin perlu memulainya secara manual (Saya hanya menggunakan dua perintah berikut pada mesin yang menginstal Ubuntu Kunpeng 920. Meskipun mesin ini memiliki kartu grafis AMD, tidak dapat langsung memanggil GPU)
sudo modprobe ashmem_linux
sudo modprobe binder_linux devices=binder,hwbinder,vndbinder
Jika kedua perintah ini melaporkan kesalahan atau tidak berpengaruh, mungkin kernel Linux saat ini tidak mengaktifkan kedua fungsi ini. Anda perlu merujuk ke instruksi gudang berikut untuk menginstal kernel yang didukung atau mengkompilasi kernel untuk mengaktifkan kedua fungsi ini :https://github.com/remote-android/redroid-modules
Ini dapat dimulai menggunakan gambar buruh pelabuhan resmi, tetapi tidak ada akselerasi GPU, dan videonya didekodekan secara lembut (simulasi cpu), sehingga pengoperasiannya relatif lambat di githubmasalah[1]Cari rk3588 dan Anda dapat melihat beberapa komentar tentang akselerasi GPU.
Namun belum ada yang pernah membagikan cara mengkompilasi gambar dengan akselerasi GPU sebelumnya. Komentar tersebut hanya dapat menarik kesimpulan yang bermanfaat: Dapatkan beberapa file driver terkait akselerasi GPU dari kode sumber SDK resmi Orange Pi dan masukkan ke dalam Android Dikompilasi bersama di dalam. Kode sumber. Atau salin file-file ini langsung ke kontainer buruh pelabuhan dan mulai ulang kontainer.
Kesimpulan ini terlalu kabur dan pasti banyak jebakannya, jadi saya belum mencobanya.Hingga seorang pria besar mengeluarkan secara lengkapProses kompilasi dan kode sumber[2]:
Tutorialnya ditulis dengan sangat rinci. Anda dapat mengkompilasinya sekali dan meneruskannya dengan mengikuti langkah-langkahnya. Selain itu,Dan bosnya[3]Satu hal telah ditambahkan berdasarkan gambar ini.
Jadi gunakan ini di siniBayangan cermin dari bos[4], sebelum itu lihat dependensi yang dia sebutkan (kernel versi 5.10.160 dan mali ddk g18p0):
Seharusnya itu tidak menjadi masalah. Dia juga menyebutkan bahwa dia akan melakukannyamali_csffw.bin
File disalin ke/lib/firmware/
Selanjutnya saya cek dan ada file ini di folder ini.
Standarnya ditautkang15p0
, jadi kami menghapus tautan lunak ini dan membuat tautan baru keg18p0
.Namun, setelah pengujian, gunakang15p0
Versi container redroid juga bisa menggunakan GPU secara normal.
Tes brushing videonya oke, saya hanya bisa bilang tidak stuck atau mulus. Lagi pula, konfigurasi ponsel saat ini sudah sangat tinggi, dan jauh lebih lancar dari papan pengembangan ini.
sudo apt install docker.io -y
sudo usermod -aG docker $USER
sudo chmod a rw /var/run/docker.sock
Dua baris perintah terakhir ditujukan bagi pengguna biasa untuk menjalankan buruh pelabuhan tanpa menambahkan sudo.
Lalu tarik gambarnya: docker pull cnflysky/redroid-rk3588:12.0.0-latest
。
docker run -d --privileged
-p 5555:5555
-v ~/redroid-data:/data
--name redroid
cnflysky/redroid-rk3588:12.0.0-latest androidboot.redroid_height=1920 androidboot.redroid_width=1080 androidboot.redroid_magisk=1 androidboot.redroid_virt_wifi=1
Kemudian gunakan adb untuk terhubung ke port ini (adb connect 192.168.31.208:5555
) dapat digunakanQtScrcpy
Lihat desktop penampung ini
Instal aida64 terlebih dahulu untuk melihat apakah panggilan kartu grafis normal:
Jika Anda menggunakan kartu grafis mali-G610 untuk rendering, tidak akan ada masalah, dan refresh rate akan menjadi 60hz. Jika menggunakan soft solution, refresh rate hanya akan menjadi 15hz.
Ketika wadah ini dimulai, ia membawa aandroidboot.redroid_magisk=1
Nyalakan saja magisk, sehingga Anda dapat melihat bahwa magisk berjalan normal setelah menyalakan komputer. Pertama kali Anda mengklik, Anda mungkin perlu memulai ulangdocker restart redroid
Ini dapat digunakan secara normal setelah restart.
Pertama buka zygisk di magisk, lalu gunakan perintah adb push untuk memasukkan paket instalasi lspose ke dalam container. Kemudian instal di Modules, lalu restart dan Anda akan melihat bahwa lsverted juga berjalan normal.
Cukup instal modul XPODS dan Anda dapat masuk ke antarmuka pengaturan lspose.
Ini resmitutorial[5]Jelaskan cara mengkompilasi gambar buruh pelabuhan dengan gapps. Namun, bahkan dengan gapps, itu tidak dapat melewati Google.safetynet
Verifikasi, banyak aplikasi yang tidak bisa digunakan.
Ada juga yang menanyakan masalah ini, tetapi tidak ada solusi:https://github.com/remote-android/redroid-doc/issues/378
. Gambar yang diunduh termasuk Google Store.
Setelah membaca masalah ini, jika Anda tidak mengatur WIFI virtual, beberapa perangkat lunak akan menentukan bahwa tidak ada jaringan meskipun ada jaringan, seperti QQ. Karena mereka hanya mendeteksi WIFI dan trafik, keduanya tidak tersedia di container docker. Namun pengujian saya menemukan bahwa banyak perangkat lunak dengan WIFI virtual akan menunjukkan bahwa tidak ada jaringan, tetapi Internet akan normal tanpa menyalakan WIFI virtual, jadi disarankan untuk tidak menyalakannya, ketahuilah bahwa ada hal seperti itu .
Jadi kita perlu mendapatkan WIFI virtual di dalam wadah, yang kita perlukanDukungan kernel[6]
sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
beralih keip6tables-legacy
Setelah itu, buruh pelabuhan perlu memulai ulang layanansudo systemctl restart docker
, memulai ulang mesin tidak ada gunanya, dan penampung akan terputus dari Internet.
Kernel sistem yang diinstal tidak mengaktifkan parameter ini.zcat /proc/config.gz | grep CONFIG_MAC80211_HWSIM
Kode kernel yang disediakan oleh github sangat mudah untuk dikompilasi dan dapat dikompilasi dalam satu langkah. Sayangnya, tidak ada opsi untuk mengubah parameter kernel, dan ketika Anda memodifikasi file konfigurasi kernel, itu akan diubah kembali selama kompilasi.
Setelah berjuang selama beberapa hari, saya memeriksa semua pertanyaan dalam masalah ini dan tidak dapat menemukan jawabannya. Saya tidak punya pilihan selain melihat sendiri skrip kompilasi kernel disediakan di sini.
Alamat pengunduhan paket deb kernel, yang digunakan oleh sistemUbuntu22[7]:https://www.123pan.com/s/ihEKVv-TbOx.html
Kode ekstraksi:AZ3A
. Selain parameter di atas, saya juga menambahkan parameter terkait ebpf yang akan dibahas nanti.
Pertama denganuname -a
Periksa informasi kernel saat ini
Pertama, transfer file kernel yang telah dikompilasi ke mesin, lalu jalankansudo dpkg -i *.deb
, total ada lima file deb. Yang pertama adalah informasi build dan tidak perlu diinstal.
Kemudian gunakansudo reboot
Mulai ulang dan periksa informasi kernel.
Parameter kernel juga diaktifkan secara normal:
Setelah memperbarui kernel dan memulai ulang, penampung yang awalnya dibuat akan terputus dari Internet, dan hanya penampung yang dibuat kemudian yang dapat mengakses Internet secara normal. Awalnya saya mengira ada masalah dengan kernel, jadi saya harus me-refresh sistem dan mengkompilasi ulang kernel.
Meskipun ada koneksi Internet, video stasiun B tidak dapat di-refresh. Saya hanya dapat me-refresh halaman beranda, dan browser tidak dapat mengakses halaman web. (Catatan: Anda harus terlebih dahulu masuk ke pengaturan untuk terhubung ke WIFI virtual sebelum Anda dapat terhubung ke Internet)
Menurut petunjuk di sini:https://github.com/CNflysky/redroid-rk3588/issues/2
Koneksi nirkabel terjamin saja?Meskipun saya tidak mengerti apa artinya. Mungkinkah hanya ada satu rute?ip route
Secara default, ada dua rute
Yang kedua adalah WIFI virtual. Bagaimana kalau saya menghapus yang pertama dan mencoba: ip route del 192.168.200.0/24 dev radio0 proto kernel scope link src 192.168.200.2
Saya menemukan bahwa kadang-kadang ketika ada koneksi Internet, video dapat diputar. Seringkali, video macet dan perlu waktu untuk memuat video. Namun, menyegarkan beranda sangat cepat, dan komentarnya juga sangat banyak cepat. Mengubah DNS juga tidak membantu. Saya akan mencoba perangkat lunak lain nanti untuk melihat apakah hal yang sama terjadi.
Anda dapat merujuk ke:https://github.com/CNflysky/redroid-rk3588/issues/5
, saya tidak akan mencobanya. Menurut instruksi redroid, Anda juga dapat menentukan agen saat memulai. Jika Anda menyetel vpn secara global, adb mungkin terputus.
Mungkin gagal, coba saja beberapa kali lagi.
https://github.com/remote-android/redroid-doc/issues?q=rk3588
https://github.com/redroid-rockchip
https://blog.csdn.net/CNflysky/article/details/136452455
https://github.com/CNflysky/redroid-rk3588
https://github.com/remote-android/redroid-doc/blob/master/android-builder-docker/README.md
https://github.com/redroid-rockchip/vendor_redroid_ext/tree/master/wifi
https://github.com/Joshua-Riek/ubuntu-rockchip/releases