Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • Windows Phone
  • Instalarea Linux pe un sistem Android. Instalarea programelor Linux pe un smartphone care rulează Android

Instalarea Linux pe un sistem Android. Instalarea programelor Linux pe un smartphone care rulează Android

Rularea Linux pe Android este posibilă! Și nu aveți nevoie de un dispozitiv cu drepturi de root pentru aceasta: tot software-ul necesar este disponibil în magazinul oficial Google Play. În doar 10–15 minute puteți obține un sistem de operare care diferă de Android prin funcționalitate avansată.

Notă: dacă urmați instrucțiunile noastre, sistemul de operare Linux va rula într-un mediu virtual. Android va rula în continuare în fundal. A numi un astfel de sistem complet ar fi incorect. Cu toate acestea, face față bine unei liste de sarcini standard.

Înainte de instalare, închideți toate aplicațiile inutile și ștergeți memoria RAM a dispozitivului dvs. Android.

1. Din Magazinul Google Play, instalați GNURoot Debian și XServer XSDL.

2. Înainte de a începe instalarea Linux, asigurați-vă că dispozitivul este conectat la o rețea Wi-Fi stabilă. Lansați GNURoot. Pachetele de mediu necesare vor începe descărcarea.

Instalarea durează de la 30 de secunde la câteva minute, în funcție de viteza conexiunii la internet. Ignorați tickerele până când apare următorul mesaj:

root@localhost:/#

Pentru cei familiarizați cu conceptul de „”, nu lăsați această linie să vă sperie: aplicația nu va cauza niciun rău dispozitivului, deoarece funcționează într-un „sandbox”.

3. Introduceți următoarea comandă:

apt-get update

Așteptați până când pachetele sunt descărcate. Acest lucru va fi indicat de linia Citire liste de pachete... Terminat.

4. Acum introduceți o altă linie:

apt-get upgrade

La întrebarea „Doriți să continuați?” introduceți litera engleză Y și apăsați Enter. Instalarea pachetelor va începe.

De data aceasta, procedura de instalare va dura puțin mai mult. Așteptați cu răbdare până la finalizarea instalării până când apare linia râvnită:

root@localhost:/#

Mediul Debian Linux este instalat și acum puteți continua să implementați shell-ul grafic.

5. Instalarea tuturor pachetelor de distribuție Linux se realizează cu următoarea comandă:

apt-get install lxde

Există, de asemenea, o opțiune de instalare a nucleului de sistem folosind linia:

apt-get install lxde-core

Confirmați instalarea introducând din nou Y și apăsând Enter. Procesul de descărcare a pachetului va începe.

În timpul instalării, asigurați-vă că toate fișierele s-au descărcat cu succes și că, la despachetare, dispozitivul nu rămâne fără spațiu liber. În caz contrar, pornirea sistemului va eșua.

6. Pentru a finaliza instalarea sistemului de operare, trebuie să descărcați trei utilitare suplimentare:

  • XTerm - pentru a accesa terminalul din shell-ul grafic Linux;
  • Synaptic Package Manager - pentru gestionarea pachetelor apt și descărcarea aplicațiilor;
  • Pulseaudio - pentru instalarea driverelor de sunet.

Toate cele trei utilitare sunt instalate folosind o comandă de terminal GNURoot:

apt-get install xterm synaptic pulseaudio

Aproximativ 260 MB de date vor fi descărcate pe dispozitiv.

7. Acum minimizați aplicația GNURoot și deschideți XServer XSDL instalat anterior. Sunteți de acord să descărcați fonturi suplimentare. După finalizarea instalării, atingeți de mai multe ori ecranul (aplicația vă va cere să selectați rezoluția și dimensiunea fontului - totul depinde de preferințele dvs.) până când vedeți un ecran de splash cu un fundal albastru și text alb.

Lansați din nou GNURoot și introduceți următoarele două comenzi una după alta:

export DISPLAY=:0 PULSE_SERVER=tcp:127.0.0.1:4712
startlxde &

Secvența de repornire ulterioară a sistemului (când doriți să deschideți din nou Linux) arată astfel: porniți XServer XSDL și așteptați să apară ecranul albastru, deschideți GNURoot și introduceți cele două comenzi de mai sus, reveniți la XServer XSDL.

Dacă terminalul se plânge de o comandă nevalidă, reveniți la pasul 5 din aceste instrucțiuni și încercați să instalați un nucleu complet. Verificați starea memoriei dispozitivului dvs. Android.

8. Acum deschideți XServer XSDL, așteptați câteva secunde și veți avea Linux gata de funcționare.

Pentru a instala aplicații, în colțul din stânga jos, deschideți meniul Start și selectați Run. Tastați Synaptic și apăsați Enter.

În fereastra care se deschide, utilizați căutarea și instalați aplicațiile necesare. Acesta ar putea fi browserul Firefox, editorul de imagini GIMP, suita de birou Libre și alte programe compatibile cu Linux.

Desigur, această opțiune pentru instalarea Linux nu poate fi numită o lansare cu drepturi depline a sistemului de operare pe Android. Virtual Linux are mai multe limitări, dar dacă utilizați un mouse și o tastatură fără fir (eventual conectarea cu un adaptor OTG și un hub USB), vă puteți transforma smartphone-ul sau tableta într-un laptop cu funcționalitatea unui sistem de operare pentru adulți.

Mulți utilizatori moderni de computere sau dispozitive mobile au auzit cel puțin despre un sistem de operare precum Linux. Dar puțini oameni știu că popularul telefon mobil se bazează și pe acest sistem, renumit pentru securitatea sa. Desigur, mințile curioase au avut o întrebare - este posibil să instalați Linux pe o tabletă? Sau pe un smartphone? Vei fi surprins, dar este posibil.

De ce este nevoie?

Mai întâi, să ne dăm seama de ce este posibil să aveți nevoie de Linux pe un dispozitiv mobil. Utilizatorul mediu probabil nu are nevoie de atât de mult, dar există și specialiști, de exemplu, dezvoltatori, administratori și alții. Desigur, ca instrument principal de lucru, aceasta este o decizie destul de controversată. Dar dacă îl considerăm ca un asistent mobil care va ajuta pe drum sau undeva departe de computerul principal, această opțiune are dreptul la viață.

Da, poate fi util și pentru utilizatorul mediu Linux. Este întotdeauna mai convenabil să aveți la îndemână versiuni complete de software, de exemplu, aplicații de birou, un client pentru rețele de torrent și multe altele. În plus, să nu uităm că acesta este practic același sistem de operare ca pe un computer, prin urmare, întreaga varietate de software pentru Linux, în cele mai multe cazuri, se va instala și va funcționa pe o tabletă fără probleme.

Dacă sunteți deja interesat, atunci acum vă întrebați cât de dificil este să instalați Linux pe un dispozitiv mobil. Probabil ați auzit despre cum administratorii cu barbă în pulovere tricotate își configurează mașinile pe timp de noapte și cred că doar câțiva aleși se pot descurca cu acest proces, dar nu este așa. În primul rând, în fiecare an, Linux devine din ce în ce mai ușor de utilizat (aparent, pentru a populariza sistemul, iar acest lucru funcționează parțial), iar în al doilea rând, multe autoinstalare și instrucțiuni detaliate au fost create special pentru instalare pe dispozitive mobile. Și în timp ce un utilizator fără experiență poate avea o problemă cu cel din urmă, cu primul, cel mai adesea totul merge ca un ceas.

Cum se instalează și ce este necesar pentru aceasta

Deci, încă ați decis să instalați Linux pe tabletă. Ce vei avea nevoie pentru asta:

  • dispozitivul în sine (nucleul firmware-ului trebuie să accepte dispozitive în buclă, frecvența ceasului este de cel puțin 1 GHz - toate aceste date sunt ușor de găsit fie în documentația dispozitivului, fie în rețea);
  • drepturile root obținute asupra acestuia;
  • aproximativ 4 gigabytes de memorie liberă;
  • Suport sistem de fișiere Ext2.

De menționat că majoritatea tabletelor îndeplinesc aceste specificații, așa că nu ar trebui să aveți probleme.

După ce sunteți sigur că dispozitivul dvs. îndeplinește toate cerințele, trebuie să descărcați imaginea sistemului și scriptul de instalare. Există destul de multe dintre ele, vă recomandăm să utilizați Ubuntu Installer ca fiind unul dintre cele mai simple și mai intuitive. Și Ubuntu în sine este destul de prietenos chiar și cu utilizatorii complet neexperimentați.


Există două versiuni de imagini Ubuntu pentru tablete - o versiune de probă, cu o cantitate minimă de software preinstalat și o versiune maximă, axată pe utilizarea de zi cu zi (cu o suită de birou deja instalată, client torrent, program de e-mail, instrumente de dezvoltare pentru mai multe limbaje de programare populare etc.).

Pe lângă imagine și script, veți avea nevoie și de un emulator de terminal pentru Android și VNC Viewer. De asemenea, nu uitați să îl activați în setările sistemului.


Algoritmul este foarte simplu - lansați emulatorul de terminal și introduceți trei comenzi:

- cd /sdcard/ubuntu

- sh ubuntu.sh

După care scriptul vă va cere o rezoluție (de exemplu, 1024x768 sau alta) și, dacă ați descărcat imaginea maximă, shell-ul grafic în care doriți să lucrați. Aveți de ales între Gnome și LXDE, pe dispozitivele mobile este mai bine să alegeți a doua opțiune.

Rămâne să răspundem la câteva solicitări: autentificare/parolă (ubuntu/ubuntu), adresă IP (localhost) și port (5900). Gata, înainte de tine este un Ubuntu cu drepturi depline cu shell-ul LXDE.


Avantajul acestei metode de instalare este că necesită cel mai mic număr de acțiuni din partea utilizatorului și nu instalează Linux în loc de Android, ci îl imită. Desigur, există modalități de a instala Linux ca un al doilea sistem sau de a înlocui „robotul verde” cu totul, dar pentru a începe și a vă familiariza cu posibilitățile, metoda descrisă mai sus este mai mult decât suficientă.

Rularea Linux pe Android este posibilă! Și nu aveți nevoie de un dispozitiv cu drepturi de root pentru aceasta: tot software-ul necesar este disponibil în magazinul oficial Google Play. În doar 10–15 minute puteți obține un sistem de operare care diferă de Android prin funcționalitate avansată.

Notă: dacă urmați instrucțiunile noastre, sistemul de operare Linux va rula într-un mediu virtual. Android va rula în continuare în fundal. A numi un astfel de sistem complet ar fi incorect. Cu toate acestea, face față bine unei liste de sarcini standard.

Înainte de instalare, închideți toate aplicațiile inutile și ștergeți memoria RAM a dispozitivului dvs. Android.

1. Din Magazinul Google Play, instalați GNURoot Debian și XServer XSDL.

2. Înainte de a începe instalarea Linux, asigurați-vă că dispozitivul este conectat la o rețea Wi-Fi stabilă. Lansați GNURoot. Pachetele de mediu necesare vor începe descărcarea.

Instalarea durează de la 30 de secunde la câteva minute, în funcție de viteza conexiunii la internet. Ignorați tickerele până când apare următorul mesaj:

root@localhost:/#

Pentru cei familiarizați cu conceptul de „”, nu lăsați această linie să vă sperie: aplicația nu va cauza niciun rău dispozitivului, deoarece funcționează într-un „sandbox”.

3. Introduceți următoarea comandă:

apt-get update

Așteptați până când pachetele sunt descărcate. Acest lucru va fi indicat de linia Citire liste de pachete... Terminat.

4. Acum introduceți o altă linie:

apt-get upgrade

La întrebarea „Doriți să continuați?” introduceți litera engleză Y și apăsați Enter. Instalarea pachetelor va începe.

De data aceasta, procedura de instalare va dura puțin mai mult. Așteptați cu răbdare până la finalizarea instalării până când apare linia râvnită:

root@localhost:/#

Mediul Debian Linux este instalat și acum puteți continua să implementați shell-ul grafic.

5. Instalarea tuturor pachetelor de distribuție Linux se realizează cu următoarea comandă:

apt-get install lxde

Există, de asemenea, o opțiune de instalare a nucleului de sistem folosind linia:

apt-get install lxde-core

Confirmați instalarea introducând din nou Y și apăsând Enter. Procesul de descărcare a pachetului va începe.

În timpul instalării, asigurați-vă că toate fișierele s-au descărcat cu succes și că, la despachetare, dispozitivul nu rămâne fără spațiu liber. În caz contrar, pornirea sistemului va eșua.

6. Pentru a finaliza instalarea sistemului de operare, trebuie să descărcați trei utilitare suplimentare:

  • XTerm - pentru a accesa terminalul din shell-ul grafic Linux;
  • Synaptic Package Manager - pentru gestionarea pachetelor apt și descărcarea aplicațiilor;
  • Pulseaudio - pentru instalarea driverelor de sunet.

Toate cele trei utilitare sunt instalate folosind o comandă de terminal GNURoot:

apt-get install xterm synaptic pulseaudio

Aproximativ 260 MB de date vor fi descărcate pe dispozitiv.

7. Acum minimizați aplicația GNURoot și deschideți XServer XSDL instalat anterior. Sunteți de acord să descărcați fonturi suplimentare. După finalizarea instalării, atingeți de mai multe ori ecranul (aplicația vă va cere să selectați rezoluția și dimensiunea fontului - totul depinde de preferințele dvs.) până când vedeți un ecran de splash cu un fundal albastru și text alb.

Lansați din nou GNURoot și introduceți următoarele două comenzi una după alta:

export DISPLAY=:0 PULSE_SERVER=tcp:127.0.0.1:4712
startlxde &

Secvența de repornire ulterioară a sistemului (când doriți să deschideți din nou Linux) arată astfel: porniți XServer XSDL și așteptați să apară ecranul albastru, deschideți GNURoot și introduceți cele două comenzi de mai sus, reveniți la XServer XSDL.

Dacă terminalul se plânge de o comandă nevalidă, reveniți la pasul 5 din aceste instrucțiuni și încercați să instalați un nucleu complet. Verificați starea memoriei dispozitivului dvs. Android.

8. Acum deschideți XServer XSDL, așteptați câteva secunde și veți avea Linux gata de funcționare.

Pentru a instala aplicații, în colțul din stânga jos, deschideți meniul Start și selectați Run. Tastați Synaptic și apăsați Enter.

În fereastra care se deschide, utilizați căutarea și instalați aplicațiile necesare. Acesta ar putea fi browserul Firefox, editorul de imagini GIMP, suita de birou Libre și alte programe compatibile cu Linux.

Desigur, această opțiune pentru instalarea Linux nu poate fi numită o lansare cu drepturi depline a sistemului de operare pe Android. Virtual Linux are mai multe limitări, dar dacă utilizați un mouse și o tastatură fără fir (eventual conectarea cu un adaptor OTG și un hub USB), vă puteți transforma smartphone-ul sau tableta într-un laptop cu funcționalitatea unui sistem de operare pentru adulți.

Bună ziua tuturor.

Povestea mea începe cu lectura acestui articol, după care am decis să cumpăr un miracol al producției de tablete chinezești: 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 am făcut încă nicio optimizare, dar sunt multe de făcut: accelerarea încărcării, optimizarea spațiului de lucru. Mă uit către un wm mai ușor – e16 – dar încă nu l-am făcut principalul meu. De asemenea, trebuie să calibrați ecranul tactil, din fericire există deja o tastatură virtuală în kde.
Mă uit spre openbox +

Mulți proprietari de telefoane Android întâmpină dificultăți să ruleze software Linux real pe dispozitivele lor. După toate legile, se pare că ar trebui să funcționeze aici, dar din anumite motive aveți nevoie de drepturi de root pentru a-l instala, el însuși este distribuit în unele instalatoare de casă, iar alegerea programelor este foarte limitată. Acest articol va oferi un răspuns la întrebarea de ce s-a întâmplat acest lucru și va sugera o soluție - o modalitate convenabilă de a instala și rula aproape orice software Linux pe Android.

Linux sau nu Linux?

După cum știți, Android se bazează pe nucleul Linux și include un set de biblioteci standard și utilități de linie de comandă tipice unei distribuții Linux obișnuite. Cu toate acestea, lansarea software-ului Linux clasic aici este foarte dificilă din multe motive, inclusiv incompatibilitatea ABI, lipsa unui manager de pachete, sistemul de securitate proprietar și absența multor componente ale unui sistem Linux standard.

Deci, în ciuda prezenței bibliotecii standard libc și a altora în Android, implementarea lor în majoritatea cazurilor este incompatibilă cu bibliotecile din proiectul GNU și este mult redusă în funcționalitate. Din acest motiv, software-ul Linux trebuie cel puțin reconstruit special pentru procesoarele Android și ARM și, în multe cazuri, de asemenea, corectat, adăugând funcționalități care lipsesc din biblioteci.

BotBrew: lista de dispozitive acceptate

BotBrew a fost testat pe următoarele dispozitive: Barnes & Noble NOOK Color, LG P970 Optimus Black, Huawei Ascend M860, HTC Desire, HTC Evo 4G, HTC Evo 3D, HTC Inspire 4G, HTC Droid Eris, HTC Hero, Samsung Galaxy Nexus, Samsung Galaxy S2 (GT-I9100), Samsung Galaxy Y (GT-S5360), Motorola Atrix 4G, Motorola Droid/Milestone, Sony Ericsson Xperia X8, Asus EeePad Transformer TF101.

Sistemul de securitate Android, care reduce privilegiile aplicațiilor la maximum și nu le permite să treacă dincolo de propriul director, împiedică serios și funcționarea software-ului standard Linux. Prin urmare, este adesea necesar să obțineți drepturi de root, ceea ce elimină aceste restricții. Lipsa unui manager de pachete care să vă permită să instalați software Linux obișnuit, și nu doar aplicații Java, forțează dezvoltatorii să scrie aplicații care sunt necesare doar pentru a instala alte aplicații. Așa apar toate aceste programe de instalare personalizate.

Ei bine, pentru a completa imaginea, Android pur și simplu nu are multe componente standard Linux, inclusiv, de exemplu, chiar și unele integrale precum stiva grafică X Window sau biblioteca GTK+. Se fac unele încercări de a aduce toate acestea aici, desigur, dar lucrurile nu se mișcă dincolo de versiunile alfa semi-funcționale.

Cu toate acestea, oportunitatea de a transfera funcționalitatea unui sistem Linux cu drepturi depline pe Android este o idee prea tentantă pentru entuziaști să nu încerce să rezolve problemele care apar în acest proces și să ne ofere o soluție universală cu drepturi depline. Cea mai evidentă și simplă modalitate este de a rula o versiune „virtualizată” a unei distribuții Linux cu drepturi depline, despre care am scris deja în detaliu. Această metodă este interesantă, dar suferă de problema împărțirii sistemului în două zone, fiecare dintre acestea funcționând independent de cealaltă.

Proiectul BotBrew pare mult mai interesant - în cadrul său, se dezvoltă un manager de pachete și un depozit destul de obișnuit pentru sistemele Linux, cu ajutorul căruia puteți instala software-ul Linux într-un director separat în interiorul Android. De asemenea, la un moment dat, au fost inventate multe scripturi diferite care facilitează și fără probleme inutile asamblarea software-ului Linux potrivit pentru a lucra în interiorul Android pe fratele său mai mare. Restul articolului va fi dedicat acestor două proiecte.

BotBrew

Proiectul BotBrew este conceput pentru a rezolva multe probleme legate de instalarea software-ului Linux pe care le poate avea un utilizator și pentru a pregăti sistemul Android să accepte aplicații care îi sunt străine. În esență, sistemul este format din patru componente:
  • un depozit cu aplicații Android precompilate, cu ajutorul căruia puteți instala multe aplicații Linux folosind o singură comandă;
  • manager de pachete, care folosește Opkg sau dpkg ușor împreună cu apt-get în versiunea experimentală a BotBrew Bazil;
  • managerul de proces runit, care este necesar pentru a lansa și a menține corect funcționarea demonilor, dacă sunt instalați;
  • un sistem de construcție proprietar care conține toate instrumentele necesare pentru compilarea încrucișată a aplicațiilor folosind orice distribuție Linux desktop.
Pentru a funcționa, acest miracol al gândirii de programare nu necesită absolut nimic: drepturi de root și puțin spațiu liber în memoria internă a smartphone-ului sau pe cardul de memorie. Mai mult decât atât, prima opțiune este de preferat, deoarece în cazul SD fișierele vor fi aruncate pe un disc virtual, care nu este acceptat de toate nucleele.


Inițializare

În acest moment, versiunea clasică de BotBrew, care folosește propriul depozit, vă permite să instalați software precum dcron, GCC, Git, dropbear SSH server, browser consola Lynx, scanner de securitate Nmap, instrument de backup rsync, editor Vim, web lighttpd server, limbaje de scripting Python și Ruby, precum și alte câteva zeci de pachete. Apropo, toate acestea sunt instalate într-un director dedicat în memoria internă a smartphone-ului/tabletei și nu aglomerează în niciun fel sistemul principal. Cu alte cuvinte, puteți scăpa de BotBrew și de tot ce ați instalat prin simpla ștergere a unui director.

Instalați software-ul

Deci, cum folosiți BotBrew pentru a instala software-ul Linux? În primul rând, avem nevoie de un pachet cu programul în sine. Este disponibil pe Google Play (rețineți că aveți nevoie de root BotBrew, nu Bazil experimental) și cântărește mai puțin de un megaoctet. După instalare, lansați și faceți clic pe butonul „Continuați” din partea de jos a ecranului, astfel încât software-ul să descarce toate componentele necesare funcționării sale, cum ar fi managerul de pachete de consolă și alte utilitare (în termenii Debian Linux - bootstrap). Cântăresc doar câțiva megaocteți, așa că nu va trebui să așteptați mult. Odată ce instalarea este finalizată, BotBrew va afișa o fereastră cu site-ul oficial al proiectului, pe care o puteți închide în siguranță.

Acum pe ecran ar trebui să vedeți o listă de pachete disponibile pentru instalare. Există destul de multe, dar din motivele descrise mai sus nu veți găsi aplicații grafice printre ele. Dar există o varietate de servere, compilatoare și interpreți, așa că toți cei care doresc să se „joace” serios cu un smartphone vor avea loc să se întoarcă. Pentru a instala un pachet, trebuie doar să atingeți numele acestuia și pe următorul ecran care conține informații despre aplicație, faceți clic pe butonul „Instalare”.

Dans cu tamburine

Dacă întâmpinați probleme cu BotBrew bootstrap, puteți încerca să îl instalați manual folosind următoarea comandă:

Wget http://repo.botbrew.com/anise/bootstrap/install.sh -O - | su
Dacă acest lucru nu ajută, puteți încerca să eliminați toate instalările („Eliminați BotBrew” din setări) și apoi încercați să rulați această comandă.

După aceasta, pachetul va apărea în fila „Instalat”, dar nu veți vedea niciun buton „Run” sau ceva de genul acesta. Aplicația va trebui lansată independent de consolă, ceea ce este totuși logic. Aplicația în sine este instalată în interiorul structurii de directoare /data/botbrew, în care mediul real al distribuției Linux cu directoarele /etc, /usr și altele este „emulat”. Și pentru a nu chinui utilizatorii cu nevoia de a introduce calea completă către comandă, dezvoltatorii BotBrew au furnizat o comandă wrapper cu același nume. Pentru a-l utiliza pentru a lansa, de exemplu, browserul de consolă Lynx instalat, ar trebui să tastați următoarea comandă:

$ botbrew lynx http://xakep.ru
Alternativ, directorul /data/botbrew/bin poate fi adăugat la variabila de mediu PATH, dar acest lucru va trebui făcut după fiecare pornire a terminalului:

$ export PATH="$PATH:/data/botbrew/bin"
Apropo, lucrurile stau mult mai bine cu demonii și cu diverse servicii de rețea. După pornire, demonii vor fi lansati imediat și puteți controla includerea lor prin interfața grafică, accesibilă făcând clic pe butonul „Play” din partea de jos a interfeței BotBrew. Unele aplicații pot necesita crearea de utilizatori suplimentari și modificarea setărilor acestora, acest lucru se poate face în același mod ca pe un sistem Linux obișnuit:

  1. Crearea unui utilizator:
    $ botbrew adduser Vasya
  2. Deschiderea accesului la Internet pentru utilizator:
    $ botbrew addgroup vasya inet
  3. Comutați BotBrew la alt utilizator:
    $ botbrew su vasya
Vă rugăm să rețineți că toate aceste modificări vor afecta doar mediul virtual BotBrew și nu vor afecta în niciun fel sistemul principal. Consola poate fi folosită și pentru a instala aplicații care ocolesc GUI. Pentru a face acest lucru, ar trebui să utilizați managerul de pachete de consolă Opkg, a cărui sintaxă a comenzii este pe deplin compatibilă cu apt-get:

$ botbrew opkg instalează dropbear
Funcționare inversă:

$ botbrew opkg eliminați dropbear
Pentru a rămâne „în fruntea progresului”, depozitul BotBrew trebuie actualizat din când în când făcând clic pe butonul corespunzător din interfața grafică (nu poate fi confundat cu nimic altceva). Noile versiuni ale pachetelor vor fi afișate în fila „Upgradable”. Doar atingeți numele lui și faceți clic pe „Actualizați”.

BotBrew Busuioc

De asemenea, puteți găsi pe piață o aplicație numită BotBrew Basil, care este marcată ca experimentală. În esență, acesta este în continuare același BotBrew, dar cu o diferență foarte importantă. În loc de propriile depozite și managerul de pachete Opkg, folosește depozitele Debian Linux ARM și managerul de pachete apt-get. Aceasta înseamnă că cantitatea de software care poate fi instalată folosind „versiunea braziliană” a aplicației este mult mai mare. De zece ori mai mult.

Pe lângă utilizarea depozitelor Debian, Basil are și o interfață ușor modificată. De exemplu, imediat după lansare, vă solicită să selectați un director de instalare. Implicit este /data/botbrew-basil, ceea ce, după părerea mea, este destul de logic, dar puteți alege oricare altul, inclusiv pe partiția ext2 a cardului de memorie (FAT nu va funcționa).

A doua diferență importantă este posibilitatea de a alege modul de utilizare a aplicației, care apare imediat după ce faceți clic pe „Continuați”. Există patru opțiuni aici:

  1. Utilizați BotBrew pe linia de comandă - în esență un analog al instalării în stilul BotBrew obișnuit.
  2. Utilizați sistemul dpkg/APT - instalare împreună cu apt-get și depozitele Debian. Opțiune de instalare recomandată.
  3. Run Python programs este un analog al primei opțiuni cu instalarea automată a Python.
  4. Instalați o Debian minimă - instalare minimalistă a Debian.
Permiteți-mi să explic al doilea și al patrulea punct. Primul BotBrew și primul articol din această listă nu fac altceva decât să instaleze un sistem Linux minimalist (constând doar din câteva comenzi și biblioteci), în cadrul căruia este lansat software-ul Linux. Cu toate acestea, apt-get, spre deosebire de Opkg minimalist, necesită o instalare Linux mai mult sau mai puțin completă. Prin urmare, selectând a doua opțiune, veți obține un fel de micro-Linux pe smartphone-ul dvs. Și dacă putem instala o microversiune, de ce să nu instalăm o distribuție mai mult sau mai puțin cu drepturi depline. Acesta este motivul pentru care există un al patrulea punct.

După bootstrap-ul BotBrew Basil, pe ecran va apărea aceeași interfață de gestionare a instalării aplicației, cunoscută nouă din versiunea clasică a aplicației, iar în sistem va apărea comanda botbrew2, cu ajutorul căreia puteți lansa software-ul. Nu există diferențe semnificative în management aici, cu excepția, poate, a comenzii apt-get în loc de opkg și a capacității de a conecta depozite suplimentare (inclusiv primul depozit BotBrew) direct prin interfața de instalare a aplicației.

Să luăm lucrurile în propriile noastre mâini

Aplicațiile precompilate și depozitele cu pachete gata făcute sunt grozave, dar ce se întâmplă dacă aplicația de care aveți nevoie nu este disponibilă pentru instalare? La urma urmei, chiar și același BotBrew Basil, care vă permite să conectați depozitele Debian cu o cantitate imensă de software, datorită naturii sale experimentale, nu va funcționa pe fiecare smartphone.

În acest caz, putem încerca să construim singuri aplicația. Cu toate acestea, aici ne așteaptă câteva dificultăți: adevărul este că pentru a construi software pentru un smartphone, va trebui să pregătiți instrumentele necesare de compilare încrucișată, apoi să țineți cont de toate dependențele aplicației care este asamblată și, în cele din urmă, în unele cazuri, faceți modificările necesare codului. Toate acestea sunt chestiuni destul de supărătoare pe care nu merită să pierdeți timpul.

Cu toate acestea, putem folosi munca altor oameni pentru a automatiza procesul de construire a software-ului. Una dintre cele mai dezvoltate și interesante soluții în acest domeniu este un set de scripturi SCRIPTSET, dezvoltate de utilizatorul smitna de la XDA Developers. Vă permite să asamblați o mare varietate de aplicații în doar câteva comenzi, inclusiv htop, ImageMagick, iptables, ELinks, Screen, mc, node.js, Samba, strace, QEMU, Parted, SANE (poate fi folosit pentru imprimare directă la o imprimantă cu telefon!) și multe altele. Scriptul în sine va descărca compilatorul încrucișat, toate dependențele și aplicațiile necesare, va aplica patch-uri acolo unde este necesar și va genera o arhivă pregătită pentru despachetare pe telefon.

SCRIPTSET funcționează numai pe Linux, dar dacă aveți Windows, puteți instala Ubuntu într-o mașină virtuală. Apoi, ar trebui să deschideți un terminal și să instalați instrumentele necesare pentru a construi compilatorul încrucișat:

$ sudo apt-get install build-essential cmake autoconf2.13 scons
După aceasta, puteți obține SCRIPTSET-ul și îl puteți despacheta:

$ cd ~ $ wget http://goo.gl/zvnom -O scriptset-2.6.zip $ unzip scriptset-2.6.zip
Ca urmare a despachetării, vom primi... o altă arhivă: scriptset-2.6.tar.bz2. Dar asta nu este tot, arhiva este ambalată fără directorul rădăcină tradițional pentru tar, așa că trebuie să o creați singur. Și deja despachetați în el:

$ mkdir scriptset $ cd scriptset $ tar -xjf ../scriptset-2.6.tar.bz2

După despachetare, în director vor apărea mai multe scripturi, configurații, precum și un fișier README de dimensiuni impresionante, care conține instrucțiuni pentru utilizarea scripturilor. Scripturile nu au un bit de execuție (ceea ce nu este surprinzător, având în vedere problemele anterioare), așa că trebuie să îl setați singur:

$ chmod 755 *.sh

# vi ~/scriptset/configuration.conf // Director pentru instalarea aplicațiilor pe smartphone TARGET_SYSROOT="/data/sysroot" // Procesor țintă TARGET_MARCH="armv7-a" TARGET_MTUNE="cortex-a9" TARGET_MFPU="neon" TARGET_MFLOAT =" softfp"

Acest lucru va fi suficient pentru a construi corect orice aplicație; Procesorul țintă va fi un ARMv7 standard cu un set suplimentar de instrucțiuni NEON. Acesta este instalat în orice smartphone lansat în ultimii trei până la patru ani. Directorul /data/sysroot va fi folosit pentru a instala aplicații pe smartphone, totuși, destul de ciudat, va trebui să fie creat și pe computerul desktop:

$ sudo mkdir -p /data/sysroot $ sudo chown user:users /data/sysroot $ sudo chmod 777 /data/sysroot
După cum explică autorul scripturilor, această acțiune este necesară deoarece căile pentru directoarele cheie din unele aplicații sunt cusute în etapa de construire. Prin urmare, dacă ar fi să construim o aplicație folosind directorul curent și orice alt director ca rădăcină, pur și simplu nu ar funcționa pe un smartphone din cauza diferențelor de căi. Sunt sigur că ar fi mai corect să rezolvi această problemă folosind chroot, dar este mai ușor și mai rapid să creezi directorul dorit și să-l ștergi când ai terminat.

În continuare, trebuie să indicăm lista aplicațiilor pe care intenționăm să le colectăm. Pentru a face acest lucru, deschideți fișierul package_selection.conf și schimbați nu cu da în opțiunile necesare. De exemplu, pentru a construi bash, ImageMagick și Screen, trebuie să modificați următoarele trei linii:

# vi ~/scriptset/package_selection.conf BASH=da IMAGEMAGICK=da SCREEN=da
Rețineți că setările dintre liniile # ALWAYS NEEDED nu pot fi modificate. Aceste aplicații și biblioteci sunt întotdeauna necesare și fără ele pur și simplu nu pot fi construite alte aplicații. Acum puteți compila aplicațiile. Pentru a face acest lucru, trebuie doar să rulați scriptul build.sh fără argumente:

$./build.sh
Dacă toate pachetele necesare au fost instalate și compilatorul nu a generat erori în timpul construirii, ca urmare a construirii vor apărea două arhive în directorul curent: cs-sysroot.tar.bz2 și android-mysysroot.tar.bz2. Primul este mediul necesar rulării aplicațiilor, creat de compilatorul încrucișat, iar al doilea este setul de aplicații în sine. Ambele arhive trebuie transferate pe cardul de memorie al smartphone-ului și apoi, rulând un emulator de terminal pe acesta sau conectându-se prin ADB, executați două comenzi:

$ tar xjf /sdcard/cs-sysroot.tar.bz2 $ tar xjf /sdcard/android-mysysroot.tar.bz2
Ca urmare, directorul /data/sysroot va apărea în memoria internă a smartphone-ului, în care vor fi localizate aplicațiile. Acestea ar trebui să fie lansate de pe același terminal, indicând calea completă. De exemplu:

$ /data/sysroot/usr/bin/bash
Ei bine, sau după ce porniți terminalul, adăugați /data/sysroot/usr/bin la PATH:

$ export PATH="$PATH:/data/sysroot/usr/bin"

concluzii

În ciuda diferențelor destul de serioase dintre Android și o distribuție tipică Linux, instalarea aplicațiilor de consolă Linux pe un smartphone nu este atât de dificilă. Din păcate, încă nu se vorbește despre aplicații grafice, dar există deja proiecte de portare a bibliotecii Qt și a serverului grafic Wayland pe Android și în curând, sper, vom obține o soluție funcțională.


Prima dată publicată în revista Hacker, 08/2013.

Cele mai bune articole pe această temă