Minggu, 19 Maret 2017

Cara menjalankan berbagai distro linux di Android

Cara menjalankan berbagai distro linux di Android.



Pada tutorial ini saya menggunakan file rootfs kalifs-minimal.tar.xz (117.38MB)

Sebagai informasi spek android yg saya pakai:
Android 4.2 jellybean
Kernel 3.4.5
Processor dual core (1.2GHz)
Architecture AMRHF (ARMV7)
RAM 512MB


Dan tutorial ini dikhususkan untuk pengguna kali linux nethunter abal2 :P

oke caranya sebenarnya mudah..
tapi pertama untuk apa?
ada alasan tertentu mengapa kita (harus) membuat kali linux nethunter kita menjadi file IMG:
1.Agar dapat memasang banyak software/aplikasi. Ya, untuk ruang system yg hanya kisaran 2GB maka jika ingin memasang banyak aplikasi tentu tdk akan bisa.. apalagi jika ingin mengupgrade kali linuxnya yg membutuhkan ruang penyimpanan yg besar. Ditambah penyimpanan system yg sangat dibutuhkan oleh system androidnya untuk menampung data apps serta file2 penting lainnya.
2.Agar dpt di jalankan meskipun kita mengganti ROM. Tentu kita tau bahwa system kali nethunter terpasang di memory system. Bayangkan kalau kita ingin mengganti ROM, maka kita harus menghapus folder system untuk dpt memasang ROM baru dan tentu system kali linuxnya akan ikut terhapus.

oke skip ke prosesnya..

siapkan file kali linux yg masih mentah. Disini saya menggunakan file kalifs-minimal.tar.xz (117.38MB) yg saya taruh di /sdcard . Jadinya: /sdcard/kalifs-minimal.tar.xz
Buat yg tdk tau atau tdk ada folder /sdcard nya, maka coba buka terminal dan ketik:
echo ${EXTERNAL_STORAGE}
nah, nanti akan tertampil path sdcard yg dimaksud.
misal tertampil: /storage/sdcard0
maka taruh file rootfs nya (kalifs-minimal.tar.xz) di /storage/sdcard0/#DISINI gunakan rootex untuk memindahkannya.
Kalian jg bisa mengubah file linux mentahannya dgn file lain misal: kalifs-full.tar.xz yg penting berupa file rootfs yg sdh menjadi archive (tar.gz, tar.xz, dll). Disini saya contohkan menggunakan file rootfs kali linux nethunter yaitu kalifs-minimal.tar.xz

pertama install dan jalankan linux deploynya.
tunggu proses pemasangan untuk linux deploynya hingga selesai.
lalu klik icon download dan sesuaikan dgn pengaturan dibawah (yg lain biarkan saja):
distribution: rootfs
source path: ${EXTERNAL_STORAGE}/kalifs-minimal.tar.xz
installation type: file
installation path: ${EXTERNAL_STORAGE}/linux.img
image size: 1000 #Note: untuk test kita coba 1000MB (1GB) , bisa diubah sesuai selera. Jika yakin maka ubah sesuai selera (misal: 10000MB (10GB) asal ruang sdcard mencukupi). Note: pastikan bahwa ukuran system dari file rootfs tdk melebihi ukuran file IMG nya ! ukuran system file rootfs dpt diketahui dgn membuka file archive rootfs nya (disini file rootfsnya adalah kalifs-minimal.tar.xz) dan periksa ukuran seluruh folder dan filenya. Misal untuk tutorial ini ukuran rootfs nya adalah: 663.84MB , jd file IMG nya harus melebihi ukuran system rootfs nya.
file system: auto
Mounts -> Enable: centang
Mount points -> tambah (+) misal: /data/local/mnt

oke siip..
untuk ssh dan vnc bisa diubah ataupun tdk.
ssh: enable -> centang
ssh settings: port -> 22
gui: enable -> centang
oke skip aja..

lanjut klik back, klik menu dan klik install, klik OK dan tunggu hingga selesai.

setelah selesai (tanda: <<< deploy) , klik menu -> configure, setelah itu klik icon play bertuliskan start dan klik OK untuk me-mount system linuxnya dan memulai layanan (ssh, vnc, dll).
coba lihat di terminal:
netstat

jika berhasil maka port 22 akan terbuka..
jika tdk berarti gagal :P

jangan bersedih jika server ssh atau vnc nya tdk berjalan..
kita bisa jalankan secara manual :)

oke pertama kita harus masuk ke system linuxnya.
gunakan skrip dibawah untuk masuk ke system linuxnya:
https://github.com/lin0x4ndroid/linux_deploy_cli/blob/master/deploy.sh
Setelah di download, lalu taruh di /sdcard atau tempat lain misal di: /

setelah itu buka terminal dan ketik:
su
cd /TEMPAT_FILENYA_DITARUH #/sdcard
sh deploy.sh

nah kita sdh berhasil masuk ke system linuxnya, horee !! :D
jika ingin menjalankan server ssh ketik:
service ssh start
untuk vnc saya tdk tau karena blm memasang server vnc nya :P

Oke kita pasang jg server vnc nya biar bisa saling melengkapi :D
ketik:
apt-get update # Harus terkoneksi dgn internet ! mungkin memakan ruang sekitar 100MB++
apt-get install tightvncserver # sekitar 22.2MB dan 130MB setelah di extract/dipasang. Wow besar jg ya :O itulah mengapa kita (harus) membuat system linuxnya menjadi file IMG untuk memory system nya yg kecil (dibawah 2GB).
oke setelah terpasang maka kita start server vnc nya:
vncserver -geometry 800x480 :0 # ubah 800x480 dgn ukuran layar masing" dan ubah angka 0 di :0 dgn angka apapun (0-10) untuk port vnc servernya.

dan selesai..
coba ketik:
netstat

jika ada port ssh dan vnc (jika dipasang) terbuka maka selamat kamu mendapatkan 2 juta rupiah ! :P

default portnya adalah:
22 (ssh)
5900 (vnc)

jadi jika port 22 dan 5900 terbuka (tampil diterminal) maka itu artinya berhasil.

oke lanjut kita coba konekin.
untuk ssh kita pake app termius, untuk setting silakan atur sendiri ya..
localhost:22
username: root
password: root # tebak" aja :D , jika tdk tau password nya maka buka terminal dan ketik: passwd # Nanti disuruh mengubah password untuk user sekarang.., gunakan passwd NAMA_USER , misal: passwd root ,, lalu ketik password barunya dan jika sdh maka tulis di form password app termiusnya..

lalu konekin.. jika berhasil maka akan tampil banner kali linux nya serta root@kali:/#

untuk vnc pake app vncviewer, atur:
localhost:5900

lalu konekin.. untuk user: root , password: sesuai yg diubah sebelumnya..

selesai
oia sampe lupa.. karena ditutorial ini saya mamakai file rootfs kalifs-minimal.tar.xz .. maka tentu saat terkoneksi app vnc client nya akan blank.. karena blm ada DE nya..
jd dipasang dulu ya.. sesuai selera sih..
ada beberapa pilihan rasa nih:
lxde
kde
mate
xterm
xfce

Mudahkan??
jd tinggal buka app linux deploy nya dan klik start -> terminal, ketik: sh /sdcard/deploy.sh -> done

Untuk stop tinggal klik stop di app linux deploynya..
jika bandel alias gak mau stop atau fail.. maka ketik:
busybox mount -l /data/local/mnt
kemungkinan kalo gak bisa unmount itu karena adanya suatu program yg "membuka/membrowse" folder linuxnya.

done

oia tutorial ini jg bisa dicoba untuk menjadikan file rootfs dari distro manapun menjadi file IMG dan menjalankannya di Android kita :)
asalkan arsitekturnya sama.

tapi menurut saya "mungkin" hanya beberapa distro yg akan berhasil berjalan di android.

beberapa di antaranya yg sdh saya test dan berhasil:
kali linux nethunter

parrot 3.0 (parrotsec-3.0-rootfs-armhf.tar.gz 1.73GB -> ?GB. Pengextrakan sekitar 4~ jam lebih dgn ukuran system sekitar 4GB lebih. Saya menggunakan file IMG 4GB (3.91GB) dan mengalami kendala karena ruang file IMG yg tdk mencukupi dan alhasil beberapa perintah tdk dpt berjalan).


Arch linux (ArchLinuxARM-armv7-latest.tar.gz 303.64MB -> 745.46MB) sukses masuk ke shellnya tp waktu pengextrakannya gagal.


untuk info:
ukuran system rootfs nya dpt kita hitung secara manual (walaupun tdk akurat, untuk file type tar.gz. Untuk yg tar.xz tdk dpt dihitung dgn method ini): ukuran file rootfsnya*2+100MB.
misal: 300MB*2=600MB+100MB=700MB

Catatan:
jika kita sdh me-mount file IMG yg berisikan system linux (misal: ubuntu) dan meng-unmountnya maka ketika kita klik Install di App linux deploynya maka system linux yg berada di file IMG tersebut akan hilang sehingga file IMG nya kembali menjadi kosong seperti semula.
dan juga jika kita sdh membuat file IMG dan mengklik Install lg maka file IMG yg sdh ada/dibuat tdk akan dihapus tp akan meneruskan pembuatan file IMG yg sdh ada/dibuat sampai ukuran yg ditentukan.

Jadi silakan berexperimen sendiri ya !

Buat yg mau share file rootfs dari distro yg dipakai bisa share linknya di komentar.

Happy opreking !

Regard's #alkemis~

Tidak ada komentar:

Posting Komentar

Cara menampilkan php error ke Browser

Kali ini saya akan share sesuai judul post. Oke mari kita mulai. saya menggunakan kali linux debian based. dan menggunakan nginx sebagai ...