Lansarea sistemului de operare cu drepturi depline pe Android. Instrucțiuni: Instalarea sistemului de operare Linux pe un smartphone Android (tabletă)

12 noiembrie 2011 la 03:17

Transmigrarea sufletului: Linux pe o tabletă Android

  • *nix

Bună ziua tuturor.

Povestea mea începe cu lectura, după care am decis să cumpăr un miracol al producției chinezești de tablete: un superpad. Această tabletă a fost luată ca o jucărie pentru „sapă puțin”, part-time, un cititor, un joc pentru perechi și un ceas într-o călătorie lungă... O să notez imediat că am două hard disk-uri USB de 500 GB și 1TB, pe care este stocat tot ceea ce este cel mai important pentru o viață distractivă și sunt împărțite în ntfs și ext4. Și, firește, tableta nu le vede.

Iată voluntarul meu

Acesta este primul motiv pentru a săpa mai adânc. După ce ați vizualizat 200 de pagini de forum pe xda-developers.com, sigur

În această etapă, toate încercările de a deschide această tabletă au fost abandonate. Până la momentul glorios pentru student - sesiune. Și din moment ce în timpul sesiunii elevii fac absolut de toate, atâta timp cât nu sunt în materie, s-au reluat adunările de noapte distractive pe internet pe site-uri evident burgheze. Și ideea genială a venit să instalez Orthodox Linux pe această tabletă, în cazul meu - ubuntu.
Ce a ieșit din asta, vezi mai jos.

Este clar că nu poți să-l ridici și să-l instalezi... ei bine, unde s-a dus al nostru...

Noi vom avea nevoie:

Să ne uităm la principalele etape ale încărcării Android și Linux
1. Porniți și porniți executarea codului ROM Porniți și porniți execuția codului ROM
2. Încărcătorul de pornire Încărcătorul de pornire
3. Nucleul Linux Nucleul Linux
4. Procesul de init Procesul de init
5. Zygote și Dalvik console(bash, zsh...) / wm(kde, gnome...)
6. Serverul de sistem Boot finalizat
7. Încărcare finalizată

După cum puteți vedea, diferențele încep din etapa de execuție init.
Este cel mai ușor lucru de schimbat.

O să scriu sincer, m-am gândit că poți folosi doar Android init și că a fost bine înșurubat de kernel. Și chiar și după ce am primit un exemplu de disc ram funcțional de pe o altă tabletă, nu credeam că va începe...

conținutul ramdiska
bin dev etc home init init.rc lib linuxrc mnt newroot opt ​​​​proc root sbin sys tmp usr var
În /bin există busybox, în /sbin există switch_root cu un link către acesta.
Cod de pornire de pe ramdisk de la zt-180

#!/bin/sh echo Pornind de la imaginea initram. Echo Se așteaptă trezirea SD-CARD... sleep 3 echo "Montarea noilor rootfs" mount -t ext2 /dev/mmcblk0p2 /newroot && echo OK echo Așteptați, comutați la root... exec switch_root /newroot /sbin/init echo hrm, au un shell în loc de exec /bin/ash

Tot ce rămâne este să flash discul ram în memorie (am folosit Burntool sub xp) și - voila, etapa de pornire. Da, am flashat firmware-ul în loc de recuperare, așa că pentru a porni Linux trebuie să țineți apăsate tastele la pornire.

Deci, etapa de încărcare a fost finalizată și ar trebui să aveți răbdare, deoarece consola nu dă semne de viață și totul se încarcă destul de lent.

Se configurează autentificarea automată pentru prima consolă
În /etc/init/tty1.conf înlocuiți ultima linie cu exec /bin/login -f Yor_Login< /dev/tty1 >/dev/tty1 2>&1 apoi în ~/.bashrc puteți scrie comenzi care vor porni în timpul conectării automate.
Ne luptăm cu serverul X
Pentru mine cu siguranță nu a funcționat bine cu ecranul tactil, xorg.conf și xterm... Am eliminat driverul sinaptic și am pus următoarele în ~/.xinitrc:
#!/bin/bash # $Xorg: xinitrc.cpp,v 1.3 2000/08/17 19:54:30 cpqbld Exp $ # /etc/X11/xinit/xinitrc # # fișier global xinitrc, folosit de toate sesiunile X începute prin xinit (startx) # invocă scriptul global de sesiune X #. /etc/X11/Xsession xclock -geometry 50x50-1+1 & exec xterm -geometry 80x66+0+0 -name login
Combaterea mediului de lucru
Am vrut să instalez kde pentru că îmi place foarte mult redarea grafică cu biblioteca qt. O să spun imediat: da, s-a instalat și a pornit, dar CUM...
În primul rând, am configurat imediat autentificarea automată:
în /etc/kde4/kdm/kdmrc găsim și modificăm următoarele pentru a ne potrivi
AutoLoginEnable=true # Dacă este adevărat, autentificare automată după deconectare. Dacă este fals, autentificarea automată este efectuată numai # când pornește o sesiune de afișare. # Implicit este false #AutoLoginAgain=true # Întârzierea în secunde înainte ca conectarea automată să se activeze. # Implicit este 0 AutoLoginDelay=3 # Utilizatorul să se conecteze automat. NU specifica niciodată root! # Implicit este "" AutoLoginUser=Autentificare # Parola pentru ca utilizatorul să se autentifice automat. Acest lucru NU este necesar # decât dacă utilizatorul este conectat la un domeniu NIS sau Kerberos. Dacă utilizați această opțiune #, ar trebui să „chmod 600 kdmrc” din motive evidente. # Implicit este "" AutoLoginPass=Parola
și, așa cum este scris, facem chmod 600 kdmrc în consolă sub root, astfel încât oamenii răi să nu spioneze parola noastră.
În al doilea rând, la intrare, screen saver-ul a rămas suspect de mult timp, iar eu, având îndoieli, am sunat startkde de pe consolă. După o afișare lungă și plictisitoare de tot felul de erori, plasma s-a încărcat în sfârșit în modul netbook. Efectele grafice sunt dezactivate, deoarece stăm sub un framebuffer, iar în unele locuri există încetiniri sălbatice, dar totuși acesta este kde și s-a încărcat!
Reglați totul pentru a vă potrivi
Fiecare are a lui, nu l-am optimizat încă, dar sunt multe de făcut: grăbiți încărcarea, optimizați spațiul de lucru. Mă uit către un wm mai ușor – e16 – dar nu l-am făcut încă cel principal. De asemenea, trebuie să calibrați ecranul tactil, din fericire există deja o tastatură virtuală în kde.
Mă uit spre openbox +

A trecut foarte puțin timp de la lansarea primelor smartphone-uri care rulează sistemul de operare Android înainte ca entuziaștii să învețe să ruleze distribuții Linux cu drepturi depline pe ele. Astăzi, metodele de instalare a distribuțiilor Linux pe dispozitivele Android sunt cunoscute pe scară largă, iar depozitul Google Play are chiar sisteme automate pentru instalarea și rularea Linux. În acest articol, voi încerca să acumulez toată experiența acumulată de lucru cu Linux pe smartphone-uri, să vă spun de ce este necesar acest lucru și să arăt cum să evitați posibilele capcane atunci când transferați Linux pe un smartphone sau tabletă.

Pentru ce?

La prima vedere, poate părea ciudat că cineva încearcă să ruleze un sistem de operare pe un dispozitiv mobil care, în principiu, nu este conceput să funcționeze cu un ecran mic și fără un manipulator (mouse) și tastatură suficient de precise. Cu toate acestea, nu ar trebui să trageți concluzii pripite. O distribuție Linux poate oferi proprietarului unui smartphone destul de multe avantaje, inclusiv un set de instrumente vechi dovedite, cum ar fi utilitare de linie de comandă, editori avansati, servere FTP și SSH, instrumente de rețea și instrumente de dezvoltare a aplicațiilor. Rulând Linux fără un shell grafic pe un smartphone cu o tastatură hardware (Motorola Droid, de exemplu), puteți utiliza toate acestea destul de confortabil în deplasare, fără a fi nevoie să părăsiți Androidul însuși. Toate instrumentele sunt disponibile în orice moment, iar smartphone-ul continuă să fie un smartphone, permițându-vă să primiți apeluri și să ascultați radio pe internet.

Al doilea argument pentru instalarea Linux pe un smartphone este capacitatea de a-l folosi ca stație de lucru portabilă care poate fi conectată la orice PC și poate accesa imediat terminalul folosind un client SSH/Telnet sau un client VNC/RDesktop. Aceasta este prin definiție mai bună decât unitățile flash cu Linux instalat, deoarece nu este nevoie, în primul rând, să reporniți mașina și, în al doilea rând, să conduceți datele înainte și înapoi; rezultatele muncii dvs. vor fi disponibile imediat după ce vă deconectați smartphone-ul de la computer.

În cele din urmă, Linux oferă cel mai mare beneficiu pe tablete, al căror ecran permite lucrul mai mult sau mai puțin acceptabil într-un mediu grafic, iar capacitatea de a conecta un mouse și o tastatură printr-un cablu OTG oferă în general șansa de a transforma tableta într-un stație de lucru la început. În același timp, nu există nicio diferență specială între instalarea unei distribuții Linux pe o tabletă și un smartphone.

Cum?

Este foarte ușor să portați Linux pe Android și kernel-ul Linux joacă un rol major aici. Orice distribuție Linux este un set de aplicații și biblioteci care rulează peste nucleul Linux și, deoarece Android în sine se bazează pe un kernel Linux aproape neschimbat, aceste aplicații și biblioteci pot fi rulate în mediul Android fără probleme. Trebuie doar să găsiți o distribuție pentru care să existe un port pentru platforma ARM (nu uitați că 99% din toate dispozitivele Android rulează pe ARM), să o instalați folosind un emulator ARM pe un hard disk virtual (adică să un fișier), plasați acest fișier pe cardul SD al dispozitivului, deschideți un terminal, montați imaginea ca dispozitiv de loopback și crootați-o în interior. Toate! Este la fel de simplu ca rularea unui server FTP într-un mediu chrootat - o metodă simplă și testată de zeci de ani.

Singura piatră de poticnire atunci când decideți să rulați o distribuție Linux în interiorul Android este mediul grafic. Deși nu există dificultăți în accesarea consolei datorită prezenței unui emulator de terminal cu drepturi depline, problemele încep cu aplicațiile grafice - nu există un server X nativ pentru Android și este imposibil să rulați un server X obișnuit în cadrul distribuției în sine. datorită diferențelor fundamentale în arhitectura grafică subsisteme robot verzi. În ciuda faptului că folosește un standard Linux Framebuffer pe deasupra căruia puteți rula un server X, dreptul exclusiv de a-l folosi aparține inițial bibliotecilor Android de nivel superior, așa că vă rămâne fie să încărcați o distribuție Linux în loc de Android ( care este complet nepractic) sau găsirea unor soluții alternative.

Verificarea functionarii modulelor necesare

Rețineți că suportul pentru dispozitivele loopback și sistemele de fișiere ext2/ext3 necesare pentru a monta imaginea nu este disponibil în toate nucleele Linux instalate pe smartphone-urile Android. Puteți verifica asistență folosind lsmod | grep -e bucla -e ext2.

Entuziaștii au ieșit din această situație folosind o metodă simplă de conectare „de la distanță” la desktop folosind orice client VNC disponibil pentru Android. În mediul chroot, serverul Xvnc X rulează și toate aplicațiile rulează sub controlul său. Utilizatorul trebuie doar să instaleze clientul VNC, să introducă adresa locală - și voila, pe ecran apare un desktop cu drepturi depline.

Singurul blocaj atunci când utilizați Desktop la distanță este performanța. Chiar și atunci când lucrează la nivel local, VNC nu poate oferi nivelul adecvat de putere, care ar fi suficient pentru defilarea lină sau mișcarea ferestrelor fără întârziere. Nu a fost încă posibil să se rezolve această problemă. Proiectele de dezvoltare a unui server X nativ care să folosească subsistemul grafic Android sunt încă foarte brute și nu pot fi folosite pentru a rula medii grafice cu drepturi depline. Cu toate acestea, nimeni nu interzice utilizarea lor; de exemplu, X Server de la Darkside Technologies Pty Ltd (goo.gl/ap3uD) este destul de potrivit pentru rularea unui software simplu.

Inițial, Linux pentru Android exista doar sub forma unei imagini cu un sistem deja instalat, precum și instrucțiuni explicative despre cum să conectați și să utilizați această imagine. Apoi au apărut script-uri care au automatizat procesul de conectare a imaginii și de pornire a Linux-ului, dar au necesitat și ceva muncă a creierului. În sfârșit, recent au existat programe de instalare disponibile pe Google Play (de exemplu, goo.gl/RSA1j), care automatizează într-o oarecare măsură procesul de lansare a distribuției, deși, în esență, acesta este încă același ghid de instalare, dar interactiv, cu link-uri directe către descărcarea de imagini și scripturi.

Opțiuni alternative

Am menționat deja mai sus că distribuția Linux poate fi încărcată în loc de Android, datorită căruia se va putea folosi Framebuffer pentru acces direct la adaptorul video și va accelera semnificativ funcționarea interfeței grafice. Cu toate acestea, a face acest lucru pe un smartphone este aproape inutil - Linux este nepotrivit ca sistem principal pe ecrane mici și va fi imposibil să primiți apeluri și să utilizați Internetul. Dar pe o tabletă Linux va arăta destul de decent.

De obicei, așa-numita versiune nativă a distribuției Linux este instalată pe un dispozitiv care rulează inițial Android, după cum urmează. O partiție suplimentară este creată pe unitatea internă NAND a tabletei, pe care este copiată distribuția Linux. Încărcătorul de pornire U-Boot (utilizat de majoritatea tabletelor) este apoi configurat să folosească această partiție ca partiție de pornire. Ca rezultat, tableta va porni automat în sistemul Linux după pornirea alimentării.

Pentru a lăsa posibilitatea de a porni Android, încărcătorul de boot U-Boot este reconfigurat astfel încât partiția cu sistemul Linux să nu fie cea principală, ci să servească drept „partiție de recuperare” (Recovery Mode), accesibilă prin pornirea dispozitivului cu tasta de volum ținută apăsată (aceeași care este folosită pentru a flash-ul dispozitivului și pentru a efectua diverse operațiuni de recuperare). În acest fel, puteți obține un dispozitiv cu pornire dublă: Android în mod implicit și o distribuție Linux atunci când porniți în modul de recuperare. Modul de recuperare în sine rămâne accesibil doar cu ajutorul unor instrumente speciale.

Dacă memoria NAND nu este suficientă pentru a găzdui un sistem Linux cu drepturi depline, părți din acesta (de obicei partiția /usr) sunt mutate într-o imagine sau o partiție de pe un card SD. Apropo, partiția ext2 de pe cardul de memorie poate fi folosită și pentru a instala Linux care rulează într-un mediu chroot.

Instalarea unei distribuții native Linux este mai dificilă decât instalarea uneia care rulează într-un mediu chroot, dar merită dacă ai o tabletă și un cablu OTG cu care poți conecta o tastatură și un mouse.

Lecție practică

După cum am spus deja, numai distribuțiile portate pe arhitectura ARM sunt potrivite pentru rularea Android. În primul rând, acestea sunt Ubuntu și Debian, iar primul, din motive evidente, prezintă un interes mult mai mare în rândul roboticii. De asemenea, puteți instala Gentoo și mai multe distribuții specializate, cum ar fi Backtrack. Să luăm în considerare cel mai tipic caz, adică instalarea Ubuntu conform schemei standard, fără a folosi instalatori automati sau orice altceva.


Mai întâi, avem nevoie de o imagine de hard disk cu distribuția instalată. Îl puteți crea singur folosind emulatorul QEMU, însă, datorită faptului că procedura de instalare este absolut standard și tipică, nu o voi descrie, ci pur și simplu vă voi direcționa către adresa goo.gl/9nvBi. Iată o arhivă cu o imagine pe care este preinstalat Ubuntu 12.04 cu mediul grafic LXDE (nu ar fi înțelept să rulați Unity/Gnome pe un telefon/tabletă). Arhiva trebuie dezambalată și fișierul ubuntu.img ar trebui să fie plasat pe cardul de memorie.

Apoi, trebuie să montați imaginea și să o faceți un chroot în mediul de distribuție. Pentru a face acest lucru, aveți nevoie de drepturi de root, firmware cu suport pentru dispozitive de loopback bloc și busybox instalat (căutați pe Piață „instalator busybox”; CyanogenMod îl are în mod implicit). Secvențiere:

  1. Deschideți emulatorul de terminal în Android (dacă nu, puteți instala emulatorul de terminal din Market). Sau conectăm smartphone-ul/tableta la computer și accesăm terminalul folosind adb: $ cd path-to-Android-SDK/platform-tools $ sudo ./adb shell

    Nu uitați că modul de depanare în acest caz trebuie să fie activat: „Setări -> Pentru dezvoltatori -> Depanare Android”.

  2. Obținem drepturi root:$su
  3. Creăm un dispozitiv de loopback bloc, conectăm o imagine de disc la el și o montem:# mknod /dev/block/loop255 b 7 255 # mount -o remount,rw / # mkdir /mnt/ubuntu # mount -o loop,noatime -t ext2 \ /sdcard/ubuntu.img /mnt/ubuntu

    Conținutul imaginii ar trebui să apară în directorul /sdcard/ubuntu. Verificați dacă acesta este cazul.

  4. Conectăm toate sistemele de fișiere virtuale necesare pentru ca distribuția să funcționeze:# mount -t proc proc /mnt/ubuntu/proc # mount -t sysfs sysfs /mnt/ubuntu/sys # mount -o bind /dev /mnt/ubuntu/dev
  5. Îl configuram astfel încât să puteți obține acces complet la rețea din mediul chroot:# sysctl -w net.ipv4.ip_forward=1 # echo "nameserver 8.8.8.8" > /mnt/ubuntu/etc/resolv.conf # echo "nameserver 8.8.4.4" >> /mnt/ubuntu/etc/resolv.conf # echo „127.0.0.1 localhost” > /mnt/ubuntu/etc/hosts
  6. Să mergem la mediul chroot:# chroot /mnt/ubuntu

De fapt, aici se termină instalarea. Acum puteți lansa software-ul consolei, actualiza sistemul, porni servicii de rețea și face aproape tot ce se poate face cu un sistem Linux desktop obișnuit, fără a uita, desigur, că unele software care interacționează direct cu hardware-ul și diverse pseudo-dispozitive specializate vor nu functioneaza. De asemenea, nu uitați că FS virtual ar trebui să fie demontat după terminarea lucrărilor.

Acum trebuie să instalăm și să rulăm serverul Xvnc X, care exportă dispozitivele de afișare și intrare folosind protocolul VNC. TightVNCserver este deja în imaginea prezentată și este chiar configurat, dar pentru a înțelege mai bine procesul și a putea rezolva orice probleme care apar, voi descrie în detaliu procesul de instalare și lansare.

  1. Actualizați și instalați TightVNCserver:# apt-get update # apt-get install tightvncserver
  2. Creați un fișier /root/.vnc/xstartup și scrieți următoarele în el:#!/bin/sh xrdb $HOME/.Xresources xsetroot -solid gri export XKL_XMODMAP_DISABLE=1 icewm & lxsession

    A treia comandă este necesară aici pentru a remedia problemele care pot apărea din cauza absenței fizice a unei tastaturi pe dispozitiv.

  3. Lansăm Xvnc folosind wrapper-ul vncserver cu drepturi de root:# export USER=rădăcină # vncserver -geometry 1024x800

    Ca urmare a executării ultimei comenzi, pe ecran va fi afișată o solicitare pentru o parolă pentru a accesa serverul VNC, este mai bine să specificați ceva simplu precum „123”. Puteți seta practic orice rezoluție, dar este mai bine dacă se potrivește cu rezoluția fizică a ecranului dispozitivului.

  4. Instalați aplicația AndroidVNC pe smartphone, lansați-o, specificați adresa IP și portul 5901 și conectați-vă. Desktopul LXDE ar trebui să apară pe ecran.

Pentru a nu vă deranja să introduceți manual toate comenzile, puteți folosi scriptul ubuntu.sh aflat aici: goo.gl/xSpK4. Doar puneți-l și imaginea ubuntu.img în directorul ubuntu de pe cardul SD și rulați scriptul cu comanda sh ubuntu.sh, iar după 5-10 secunde conectați-vă la desktop folosind AndroidVNC. Rețineți că scriptul montează imaginea în directorul /data/local/mnt.


Instalarea Gentoo pe o partiție ext2

Deci, am instalat Ubuntu folosind o imagine cu un sistem de fișiere și trucuri cu un dispozitiv loopback și un mediu chroot. Acest lucru s-a dovedit a fi ușor de făcut, iar cu utilizarea scripturilor este în general foarte ușor, dar dacă mergem mai departe și instalăm o distribuție mai hardcore, și nu folosind imagini, ci pe o partiție ext2 dedicată pe cardul de memorie? Astfel putem rezolva problema unor firmware și nuclee fără suport pentru dispozitive loopback și, mai mult, ne putem bucura de o distribuție normală instalată conform tuturor regulilor.


Să luăm Gentoo ca pe un sistem experimental. Pentru a-l instala pe o partiție ext2, avem nevoie de un card de memorie cu o capacitate de cel puțin 2 GB și un smartphone rootat cu busybox instalat. Secvența acțiunilor este următoarea.

  1. Facem o copie de rezervă a datelor de pe cardul de memorie și creăm o partiție suplimentară pe aceasta, cu o capacitate de cel puțin doi gigaocteți. Acest lucru se poate face folosind orice program de partiționare a discului, dar rețineți că, dacă doriți să continuați să utilizați cardul SD în scopul propus, atunci ar trebui să creați o partiție FAT32 la începutul cardului, astfel încât să devină prima unul, iar o partiție suplimentară pentru instalarea distribuției ar trebui să fie a doua.
  2. Formatarea partițiilor cardului SD:$ sudo mkfs.vfat /dev/sdc1 $ sudo mkfs.ext2 /dev/sdc2
  3. Luăm telefonul, mergem la „Setări -> Despre telefon” și ne uităm la ce procesor este instalat. Apoi, accesați pagina goo.gl/PRfux și descărcați stage3 pentru arhitectura dorită, de exemplu stage3 pentru ARM v7 se află în directorul current-stage3-armv7a.
  4. Montăm partiția ext2 a cardului de memorie pe computer și despachetăm conținutul arhivei rezultate în ea:$ sudo mount /dev/sdc2 /mnt $ sudo tar -xxpf stage3-*.bz2 -C /mnt

    Edităm imediat configurațiile și tot ce aveți nevoie, după gust, inclusiv editarea /etc/resolv.conf conform exemplului din secțiunea anterioară.

  5. Lansăm emulatorul de terminal (sau rulăm „adb shell”), montăm tot ce avem nevoie și mergem la chroot (aproape la fel ca în cazul Ubuntu): # mount -o remount,rw / # mkdir /mnt/gentoo # mount /dev/ block/mmcblk0p2 /mnt/gentoo # mount -t proc proc /mnt/ubuntu/proc # mount -t sysfs sysfs /mnt/ubuntu/sys # mount -o bind /dev /mnt/ubuntu/dev # sysctl -w net ipv4.ip_forward=1 # chroot /mnt/gentoo

Accesul la desktop se face la fel ca în Ubuntu, doar că acum va trebui să asamblați o grămadă de software direct pe telefon :). Cu toate acestea, puteți configura un mediu pentru compilarea încrucișată pe computer, dar acesta este un subiect pentru un articol separat.

Instalare nativă

După ce ați lansat Ubuntu folosind un server VNC, veți observa încetineala funcționării acestuia, care este asociată cu supraîncărcarea protocolului VNC pentru transmiterea imaginilor „prin rețea”. Pentru a evita această problemă, puteți instala Ubuntu ca sistem principal lângă Android, astfel încât să poată utiliza direct adaptorul video. Din păcate, nu există o modalitate universală de a face acest lucru. Fiecare dispozitiv este unic în felul său, incluzând diferite tabele de partiții ale memoriei NAND pe care este instalat, diverse dispozitive și drivere pentru funcționarea lor.


Din fericire, procesul de instalare a versiunii native a distribuției este bine descris pentru multe dispozitive pe forumurile în limba rusă, așa că găsirea instrucțiunilor nu va fi dificilă. Cu toate acestea, merită să acordați imediat atenție mai multor caracteristici ale acestui tip de instalare:

  • Partiție NAND separată sau principală. Distribuția Linux poate fi instalată fie într-o partiție pre-creată în memoria NAND, fie în partiția principală de boot. În primul caz, dezvoltatorul de firmware lasă de obicei opțiunea de a încărca Android folosind un script special sau prin încărcarea unei distribuții Linux în modul de recuperare, în al doilea va fi instalat în loc de Android și pentru a returna capacitatea de a descărca robotul, va trebui să reflashați din nou dispozitivul.
  • Capacitate dublă de pornire. Dacă distribuția Linux este instalată pe o partiție separată, dezvoltatorul poate lăsa opțiunea de a porni Android. Cu toate acestea, ar trebui să acordați imediat atenție modului în care are loc această descărcare: folosind modul de recuperare sau un script lansat de pe un computer obișnuit. Totuși, a doua metodă va fi incomodă pe drum.
  • Suport hardware. Nucleul Linux original al firmware-ului Android include deja toate driverele necesare care pot fi necesare pentru funcționarea unui sistem Linux cu drepturi depline, dar nu toate firmware-urile Linux vor porni totul de la sine. Probleme apar adesea cu adaptorul Wi-Fi și ecranul tactil, care nu răspunde adecvat la atingere. Prin urmare, înainte de a instala firmware-ul, ar trebui să citiți cu atenție despre posibilele complicații.

În orice caz, fiți pregătiți pentru faptul că în timpul instalării distribuției Linux toate datele dumneavoastră vor fi distruse. Nu există nicio cale fără asta.

Ce urmeaza

O distribuție Linux instalată lângă sistemul original Android poate deveni un instrument de lucru foarte convenabil, dar în acest moment „Linux inside Android” este considerat mai mult o jucărie și o modalitate de a se arăta prietenilor decât o soluție serioasă. Sunt sigur că în curând, când va apărea o implementare cu drepturi depline a serverului grafic Wayland pentru Android, situația va începe să se schimbe și vom vedea distribuții cu o interfață adaptată pentru ecrane mici, precum și aplicații Linux cu drepturi depline distribuite în sub formă de pachete APK obișnuite. De asemenea, nu uitați de proiectul „Ubuntu pentru Android” - în cadrul acestuia, se lucrează la un port oficial al Ubuntu pentru Android, care vă va permite să vă folosiți smartphone-ul ca unitate de sistem portabilă conectată la orice monitor.

Majoritatea utilizatorilor de Android știu că această platformă rulează pe sistemul de operare Linux, dar, în ciuda acestui fapt, multe dintre programele sale nu sunt disponibile. De aceea, o soluție excelentă este să instalați pe tabletă un shell Linux numit Ubuntu. Acesta rulează prin emulator și rulează în paralel cu Android, oferind o selecție largă de aplicații care de obicei nu se încarcă pe dispozitivele cu acest sistem de operare.

Ambele sisteme de operare pot rula în paralel

Vom vedea cum să îl instalați singur fără ajutorul unor aplicații speciale, folosind doar un emulator și programul VNC Viewer.

Instalarea Ubuntu pe tabletă

Ce parametri sunt necesari pentru acest shell? Avem nevoie de drepturi de root, memorie liberă de 2,5–3,5 GB. Este necesară o frecvență minimă de ceas de 1 GHz și este necesar suport pentru sistemul de fișiere Ext2. Ca instrumente care facilitează instalarea, avem nevoie de mai multe programe, inclusiv un emulator - acesta va fi util pentru lansarea ulterioară a software-ului.

Ce sunt drepturile root și cum să le obții? Acestea reprezintă drepturi de administrator. În acest caz, a avea astfel de drepturi vă va permite să modificați parametrii de sistem ai tabletei, astfel încât să nu puteți instala Ubuntu pentru Android fără ele.

Puteți obține aceste drepturi prin diverse aplicații, dintre care un număr mare le veți găsi în Play Market. Descărcați unul dintre ele, activați drepturile de administrator și apoi continuați să instalați Ubuntu direct pe tabletă.

Pentru a face acest lucru, trebuie să faceți următoarele:

  • Conectați-vă la setările de sistem ale tabletei dvs. și, în secțiunea „Pentru dezvoltatori”, activați modul de depanare USB. Dacă nu aveți această funcție, accesați meniul „Despre dispozitiv” și găsiți linia cu numărul versiunii - faceți clic rapid pe ea de 5 ori la rând, după care va apărea un mesaj că ați devenit dezvoltator și ar trebui să apară În listă;

  • Creați un folder în memoria cardului numit Ubuntu;
  • Descărcați scriptul pentru a lansa Linux și unul dintre ansamblurile software - există doar două dintre ele. Primul este minim, conține doar aplicații individuale, cele mai populare și are o dimensiune de jumătate de gigabyte, după instalare ocupă 2,5 GB de spațiu liber pe cardul de memorie. Al doilea este un ansamblu complet, are un set extins de programe, respectiv, are o dimensiune inițială de 1,5 GB și după despachetare va ocupa 3,5 GB de memorie;
  • Apoi, ar trebui să descărcați două programe: Terminal Emulator pentru Android și VNC Viewer;
  • Deschideți aplicația Emulator și rulați următoarele comenzi în ea:
  1. cd /sdcard/ubuntu;
  2. sh ubuntu.sh.

Notă.Înainte de a introduce comenzi, emulatorul vă va cere să faceți acest lucru la pornirea inițială și, desigur, trebuie să fiți de acord cu această acțiune.

  • Apoi, trebuie să furnizați detalii despre rezoluția ecranului și tipul de mediu desktop în aceeași aplicație Emulator.
  • După câteva minute, dacă instalarea este corectă, veți vedea un mesaj cu textul root@localhost:/# - asta înseamnă că shell-ul Linux din emulator a fost lansat cu succes.

Linux Deploy. Aceasta este o aplicație open source concepută pentru a automatiza procesul de instalare, configurare și rulare a distribuțiilor GNU/Linux pe platforma Android în interiorul unui container chroot. Aplicația creează o imagine de disc pe un card de memorie sau alt suport, o montează și instalează acolo distribuția Linux selectată. Este acceptată instalarea într-un fișier, direct pe o partiție a cardului de memorie, într-un director cu sistemul de fișiere ext2/ext3/ext4 și în RAM. Aplicațiile dintr-o distribuție Linux rulează într-un mediu chroot, rulează în paralel cu sistemul principal și sunt comparabile ca viteză. Toate modificările aduse dispozitivului sunt reversibile, de exemplu. Aplicația și componentele pe care le-a creat pot fi complet dezinstalate.

Instalarea distribuției Linux se realizează prin rețea din oglinzile oficiale de pe Internet. Deoarece Linux Deploy se bazează pe un apel de sistem către nucleul Linux, numai distribuțiile Linux pot acționa ca sisteme „oaspeți”. Prin interfața programului, puteți controla procesul de instalare a distribuției Linux, iar după instalare, puteți porni și opri serviciile sistemului instalat (există suport pentru lansarea propriilor scripturi). Procesul de instalare este afișat ca rapoarte text în fereastra principală a aplicației. În timpul instalării, programul însuși configurează mediul de lucru, care include sistemul de bază, serverul SSH, serverul VNC și un mediu grafic din care să alegeți. De asemenea, puteți gestiona parametrii serverelor SSH și VNC prin interfața programului.

Instalarea unei distribuții Linux durează aproximativ 30 de minute. Dimensiunea minimă recomandată a imaginii de disc fără GUI este de 512 MB, iar cu GUI - 1024 MB (pentru LXDE). După instalarea inițială, parola de acces prin SSH și VNC este atribuită ca „changeme”, care poate fi schimbată folosind instrumente de distribuție standard sau prin setările aplicației.

Caracteristici:

  • Distribuții acceptate: Debian, Ubuntu, Kali Linux, Arch Linux, Fedora, CentOS, Gentoo, openSUSE, Slackware, RootFS (tgz, tbz2, txz)
  • Tip de instalare: fișier, partiție, RAM, director
  • Sisteme de fișiere acceptate: ext2, ext3, ext4
  • Arhitecturi acceptate: ARM, ARM64, x86, x86_64, modul de emulare a arhitecturii (ARM<->x86)
  • Metode de conectare la container: CLI, SSH, VNC, server X, framebuffer
  • Interfețe de management (CLI): terminal Android (sau adb), telnet, interfață web (terminal prin browser)
  • Mediu desktop: XTerm, LXDE, Xfce, MATE, altele (configurare manuală)
  • Limbi acceptate: interfață în mai multe limbi

ATENŢIE!

Acest program vine FĂRĂ NICIO GARANȚIE, iar autorul nu este responsabil pentru eventualele consecințe ale utilizării lui. Acesta este software gratuit și îl puteți redistribui conform termenilor licenței GPLv3.

INSTRUCȚIUNI DE INSTALARE GNU/LINUX

  1. Conectați WiFi sau altă rețea cu acces la Internet. Instalarea se realizează printr-o rețea și nu va funcționa fără acces la Internet.
  2. Asigurați-vă că dispozitivul dvs. a primit drepturi de superutilizator (root). Instalați cea mai recentă versiune de Linux Deploy și rulați-o.
  3. La prima lansare a aplicației, se lansează automat actualizarea mediului de lucru, care este un director care conține toate scripturile, setările și profilurile containerului necesare. Setările mediului de lucru pot fi vizualizate în „ Setări -> Mediu de lucru". Directorul de mediu nu trebuie modificat decât dacă există un motiv pentru a face acest lucru. Este util să lăsați opțiunea " activată. Setări -> Ține ecranul aprins" ("Setări -> Blocarea ecranului"), cât timp aplicația este activă, ecranul, WiFi și procesorul nu vor intra în modul de repaus.
  4. Programul acceptă lucrul cu mai multe profiluri, unde sunt stocați parametrii fiecărei instanțe GNU/Linux. Puteți comuta rapid între instanțe prin fereastra de gestionare a profilului (se deschide făcând clic pe pictograma din antetul ferestrei principale). În mod implicit, un profil este creat cu numele „linux”. Accesați setările profilului curent (butonul din dreapta) și configurați opțiunile necesare pentru instalarea și rularea distribuției GNU/Linux ( vezi descrierea parametrului).
  5. Linux Deploy 2.x nu necesită instalare pe sistemul BusyBox, dar în cazuri rare este posibil să fie nevoie să utilizați sistemul BusyBox. Pentru a face acest lucru, instalați ®Compatibil BusyBox. În parametrii BusyBox, înainte de instalare, trebuie să selectați opțiunea " Înlocuiți applet-urile". Apoi, în setările mediului de lucru Linux Deploy, trebuie să specificați calea către sistem BusyBox în câmpul " Setări -> variabila PATH" ("Setări -> variabila PATH"), De exemplu, /system/xbinși începeți să actualizați mediul de lucru" Setări -> Actualizați mediul" ("Setări -> Actualizați ENV").
  6. Rulați instalarea distribuției selectate: " Meniul -> Instalare" ("Meniul -> Instalare"). Jurnalul de instalare este afișat în fereastra principală a aplicației. Instalarea durează în medie aproximativ 30 de minute. Etapa de creare a imaginii poate dura mult timp (aproximativ 15 minute) dacă dimensiunea este mai mare de 2 GB.
  7. Dacă instalarea este finalizată fără erori, puteți porni sistemul Linux cu „ START" ("START"). Acest lucru va lansa serviciile specificate în parametri - SSH, VNC și altele.
  8. Pentru a accesa consola unui sistem Linux prin SSH, trebuie să instalați ConnectBot (sau un alt client SSH). Pentru a accesa desktopul Linux, trebuie să instalați un server X, cum ar fi XServer XSDL. În setări ar trebui să specificați IP-ul dispozitivului de conectat, pentru același dispozitiv - 127.0.0.1. Parola pentru SSH și VNC este specificată în parametrii containerului. Puteți schimba parola utilizatorului curent din consolă folosind comanda passwd. Pentru a rula programe ca root, utilizați comanda sudo (de exemplu, sudo synaptic). În mod implicit, utilizatorul root (cu excepția cazului în care este specificat ca nume de utilizator în setări) nu are o parolă, dar puteți seta o parolă pentru aceasta cu comanda sudo passwd root.
  9. Pentru a opri sistemul Linux, toate serviciile care rulează sub el și pentru a demonta discurile, trebuie doar să apăsați butonul " STOP" ("STOP").
  10. Linux Deploy vă permite să gestionați containerele prin CLI (Command Line Interface). Pentru a accesa CLI, puteți folosi telnet sau un browser web, având în prealabil activat interfețele de management corespunzătoare în setări.
  11. Pentru a reduce timpul de instalare a sistemului de bază sau în cazul unor probleme cu instalarea sistemului din depozitele oficiale, puteți importa un container dintr-o arhivă pregătită în prealabil. În acest scop, există un depozit de containere create folosind Linux Deploy și accesibile prin interfața aplicației din " Repertoriu" ("Repertoriu"). Doar selectați containerul dorit în interfața de depozit și faceți clic pe " Import" ("Import"). După aceasta, în aplicație va fi creat un nou profil, ai cărui parametri pot fi modificați dacă este necesar. Apoi trebuie doar să rulați instalarea " Meniul -> Instalare" ("Meniul -> Instalare"), va fi pregătită calea de instalare (se va crea o imagine pentru container), arhiva containerului va fi descărcată, dezambalată și configurată. După finalizarea procedurii, puteți porni containerul cu butonul " START" ("START").

ACTUALIZARE A PROGRAMULUI

După actualizarea programului, mediul de lucru este actualizat automat. Dacă este necesar, actualizarea poate fi pornită manual: " Setări -> Actualizați mediul" ("Setări -> Actualizați ENV"). Actualizările de program (mediu) nu afectează un sistem GNU/Linux deja instalat, adică sistemul instalat nu poate fi deteriorat sau modificat în niciun fel din cauza unei actualizări.
Pentru a modifica setările unui sistem deja instalat sau pentru a readuce setările la cele originale, trebuie să efectuați configurația: " Meniul -> Configurați" ("Meniul -> Configurați"). Dacă unele componente sunt selectate în parametri, atunci configurația va instala pachete pentru componentele selectate.

DEZINSTALAREA UNUI PROGRAM

Înainte de a dezinstala programul, trebuie să opriți distribuția GNU/Linux folosind butonul STOP, dacă nu puteți opri distribuția, este recomandat să reporniți dispozitivul. După aceea, rulați comanda " Setări -> Șterge mediul" ("Setări -> Eliminați ENV"). După aceasta, puteți șterge aplicația. Ștergerea unei aplicații cu un container nemontat este periculoasă; ștergerea unei versiuni de aplicație mai mică decât 1.5.3 șterge și toate datele din toate partițiile montate în container! Pot exista și fișiere .img care sunt create pe cardul de memorie la instalarea distribuțiilor, astfel de fișiere pot fi șterse manual prin orice manager de fișiere.

Descărcați aplicația pentru a instala Linux pe Android - Linux Deploy pe Android poti urma linkul de mai jos.

Cum se instalează pe Android pe Linux? Această întrebare mi-a apărut după ce am încercat fără succes să configurez . Nu, totul a funcționat, cu excepția unui singur lucru: rețeaua și internetul. Indiferent câte manuale am citit despre redirecționarea porturilor, nimic nu a funcționat pentru mine. Pe Android 2.3, rețeaua funcționează imediat, dar pe Android 4 nu, așa că am decis să merg pe o altă cale și să instalez un emulator Android pe Linux. Cum se instalează Android pe Linux?

De fapt, acum voi descrie experimentul, așa că nu știu ce se va întâmpla în cele din urmă și dacă ceva va funcționa deloc, așa că înainte de a-mi repeta pașii, citiți articolul până la sfârșit. Deci, să începem!

În primul rând, mergem pe site-ul web și descarcăm pachetul de care avem nevoie de pe Android și tot ce vine cu el. Am descărcat versiunea de sub Linux, Cu siguranță.


În timp ce totul se descarcă, să instalăm componente suplimentare în Linux pentru a rula Android SDK - o mașină Java prin care totul va funcționa. Deschideți un terminal și executați comanda:

Sudo apt-get install openjdk-7-jre

Cd android-sdk-linux

După aceasta, executăm comanda, așa cum este scrisă în manual, care se afla în arhivă:

Tools/android update sdk --no-ui

După aceasta, programul se conectează la serviciul Google și începe să descarce și să instaleze fișierele de care are nevoie. A durat FOARTE mult timp pentru a descărca, deoarece au fost descărcați mai mult de 2 gigaocteți de pachete diferite pentru dezvoltatori. Pot fi acest pas ar fi putut fi omisși lansați imediat SDK manager. Pentru a face acest lucru, utilizați comanda cd pentru a accesa directorul de instrumente:

Cd android-sdk-linux/tools

După aceasta, rulăm comanda:

./android

Ca urmare, programul rulează:


Se pare că am instalat toate pachetele cu instrumentele de comandă/android update sdk --no-ui. Dar, de fapt, nu am nevoie de ele, deoarece nu voi face dezvoltarea Android, așa că le voi șterge pe cele inutile mai târziu. Cum să rulați Android pe Linux?

Acum trebuie să mergeți la fila meniu Instrumente - Gestionați AVD-urile. Va apărea o fereastră în care va trebui să setați parametrii Android și mediul său de lucru. am intrebat astea:

După setarea parametrilor, faceți clic pe OK și mașina noastră virtuală cu Android apare în manager.


Acum apăsați butonul startși lansați Androidul nostru.


După cum puteți vedea, totul a funcționat și, cel mai important, Internetul funcționează imediat și, de dragul acestui lucru, totul a început. Acum puteți încerca să vă configurați contul Android și să începeți să instalați aplicații de pe Google Play.

Singurul negativ este frânele puternice în timpul funcționării. Dar cred că aici trebuie doar să experimentați puțin, instalând diferite versiuni de Android și setând diferiți parametri pentru instalarea acestuia. Acesta este modul în care îl puteți instala Android pe Linux pentru dezvoltarea aplicațiilor în el și doar pentru testare.

Dacă știți cum să îmbunătățiți performanța Android în Linux, atunci împărtășiți-vă experiența în comentarii.

Zilele trecute, vechiul meu netbook mi-a revenit, mic, slab, l-am cumpărat în 2010. Și m-am gândit: atât Linux, cât și Windows vor fi pe el...

Probabil ați avut imediat o întrebare: - „De ce să instalați Android pe VirtualBox (mașină virtuală)?” Și motivele pot fi diferite, dar practic...