Εκκίνηση πλήρους λειτουργικού συστήματος στο Android. Οδηγίες: Εγκατάσταση του λειτουργικού συστήματος Linux σε smartphone Android (tablet)

12 Νοεμβρίου 2011 στις 03:17

Μετανάστευση της ψυχής: linux σε tablet android

  • *νεράιδα

Καλημερα σε ολους.

Η ιστορία μου ξεκινά με την ανάγνωση, μετά την οποία αποφάσισα να αγοράσω ένα θαύμα της κινεζικής κατασκευής tablet: ένα superpad. Αυτό το tablet λήφθηκε ως παιχνίδι για «σκάψιμο λίγο», μερική απασχόληση, αναγνώστη, παιχνίδι για ζευγάρια και ρολόι σε ένα μακρύ ταξίδι... Θα σημειώσω αμέσως ότι έχω δύο σκληρούς δίσκους USB των 500 GB και 1 TB, στα οποία αποθηκεύονται ό,τι πιο σημαντικό για μια διασκεδαστική ζωή, και χωρίζονται σε ntf και ext4. Και, φυσικά, το tablet δεν τα βλέπει.

Εδώ είναι ο εθελοντής μου

Αυτός είναι ο πρώτος λόγος για να σκάψουμε βαθύτερα. Μετά την προβολή 200 σελίδων φόρουμ στο xda-developers.com, σίγουρα

Σε αυτό το στάδιο, όλες οι προσπάθειες ανοίγματος αυτού του tablet έχουν τεθεί στο ράφι. Μέχρι την ένδοξη ώρα για τον μαθητή - τη συνεδρία. Και δεδομένου ότι οι μαθητές κάνουν απολύτως τα πάντα κατά τη διάρκεια της συνεδρίας, αρκεί να μην είναι στο θέμα, οι διασκεδαστικές νυχτερινές συγκεντρώσεις στο Διαδίκτυο σε προφανώς αστικές τοποθεσίες έχουν ξαναρχίσει. Και ήρθε η φαεινή ιδέα να εγκαταστήσω το Orthodox Linux σε αυτό το tablet, στην περίπτωσή μου - ubuntu.
Τι προέκυψε από αυτό, δείτε παρακάτω.

Είναι σαφές ότι δεν μπορείτε απλά να το σηκώσετε και να το εγκαταστήσετε... καλά, πού πήγαν το δικό μας...

Θα χρειαστούμε:

Ας δούμε τα κύρια στάδια φόρτωσης Android και Linux
1. Ενεργοποιήστε και εκκινήστε την εκτέλεση κώδικα ROM Ενεργοποιήστε και εκκινήστε την εκτέλεση κώδικα ROM
2. Ο φορτωτής εκκίνησης Ο φορτωτής εκκίνησης
3. Ο πυρήνας του Linux Ο πυρήνας του Linux
4. Η διαδικασία έναρξης Η διαδικασία έναρξης
5. Zygote και Dalvik κονσόλα (bash, zsh...) / wm(kde, gnome...)
6. Ο διακομιστής συστήματος Η εκκίνηση ολοκληρώθηκε
7. Η εκκίνηση ολοκληρώθηκε

Όπως μπορείτε να δείτε, οι διαφορές ξεκινούν από το αρχικό στάδιο της εκτέλεσης.
Είναι το πιο εύκολο πράγμα να αλλάξεις.

Θα γράψω ειλικρινά, νόμιζα ότι θα μπορούσατε να χρησιμοποιήσετε μόνο το Android init και ότι ήταν σφιχτά βιδωμένο στον πυρήνα. Και ακόμη και αφού έλαβα ένα παράδειγμα λειτουργικού ramdisk από άλλο tablet, δεν πίστευα ότι θα ξεκινήσει...

ramdiska περιεχόμενο
bin dev etc home init init.rc lib linuxrc mnt newroot opt proc root sbin sys tmp usr var
Στο /bin υπάρχει busybox, στο /sbin υπάρχει switch_root με σύνδεσμο προς αυτό.
Κωδικός έναρξης από το ramdisk από zt-180

#!/bin/sh echo Ξεκινώντας από την εικόνα initram. Echo Αναμονή για αφύπνιση SD-CARD... sleep 3 echo "Mounting new rootfs" mount -t ext2 /dev/mmcblk0p2 /newroot && echo OK echo Κρατήστε πατημένο, εναλλαγή ρίζας... exec switch_root /newroot /sbin/init echo hrm, αντί για ένα κέλυφος, exec /bin/ash

Το μόνο που μένει είναι να αναβοσβήνει το ramdisk στη μνήμη (χρησιμοποίησα burntool κάτω από xp) και - voila, το στάδιο εκκίνησης. Ναι, έκανα flash το υλικολογισμικό αντί για ανάκτηση, οπότε για να ξεκινήσετε το Linux πρέπει να κρατήσετε πατημένα τα πλήκτρα κατά την εκκίνηση.

Έτσι, το στάδιο φόρτωσης ολοκληρώθηκε και πρέπει να κάνετε υπομονή, καθώς η κονσόλα δεν δείχνει σημάδια ζωής και όλα φορτώνουν αρκετά αργά.

Ρύθμιση αυτόματης σύνδεσης για την πρώτη κονσόλα
Στο /etc/init/tty1.conf αντικαταστήστε την τελευταία γραμμή με exec /bin/login -f Yor_Login< /dev/tty1 >/dev/tty1 2>&1 στη συνέχεια στο ~/.bashrc σας μπορείτε να γράψετε εντολές που θα ξεκινούν κατά την αυτόματη σύνδεση.
Πολεμάμε τον X-server
Για μένα σίγουρα δεν δούλεψε καλά με την οθόνη αφής, το xorg.conf και το xterm... Αφαίρεσα το synaptic driver και έβαλα τα εξής στο ~/.xinitrc:
#!/bin/bash # $Xorg: xinitrc.cpp,v 1.3 2000/08/17 19:54:30 cpqbld Exp $ # /etc/X11/xinit/xinitrc # # παγκόσμιο αρχείο xinitrc, που χρησιμοποιείται από όλες τις συνεδρίες X ξεκίνησε από xinit (startx) # invoke global script session X #. /etc/X11/Xsession xclock -geometry 50x50-1+1 & exec xterm -geometry 80x66+0+0 -name login
Καταπολέμηση του εργασιακού περιβάλλοντος
Ήθελα να εγκαταστήσω το kde γιατί μου αρέσει πολύ η απόδοση γραφικών με τη βιβλιοθήκη qt. Θα πω αμέσως: ναι, εγκαταστάθηκε και ξεκίνησε, αλλά ΠΩΣ...
Πρώτα, ρύθμισα αμέσως την αυτόματη σύνδεση:
στο /etc/kde4/kdm/kdmrc βρίσκουμε και αλλάζουμε τα παρακάτω ανάλογα με τον εαυτό μας
AutoLoginEnable=true # Εάν ισχύει, συνδεθείτε αυτόματα μετά την αποσύνδεση. Εάν είναι false, η αυτόματη σύνδεση πραγματοποιείται μόνο # όταν ξεκινά μια περίοδος λειτουργίας εμφάνισης. # Η προεπιλογή είναι ψευδής #AutoLoginAgain=true # Η καθυστέρηση σε δευτερόλεπτα πριν ξεκινήσει η αυτόματη σύνδεση. # Η προεπιλογή είναι 0 AutoLoginDelay=3 # Ο χρήστης που θα συνδεθεί αυτόματα. ΠΟΤΕ μην προσδιορίζετε root! # Η προεπιλογή είναι "" AutoLoginUser=Login # Ο κωδικός πρόσβασης για αυτόματη σύνδεση του χρήστη. Αυτό ΔΕΝ απαιτείται # εκτός εάν ο χρήστης είναι συνδεδεμένος σε έναν τομέα NIS ή Kerberos. Εάν χρησιμοποιείτε αυτήν την επιλογή #, θα πρέπει να "chmod 600 kdmrc" για προφανείς λόγους. # Η προεπιλογή είναι "" AutoLoginPass=Κωδικός πρόσβασης
και, όπως γράφτηκε, κάνουμε chmod 600 kdmrc στην κονσόλα κάτω από το root, έτσι ώστε οι κακοί άνθρωποι να μην κατασκοπεύουν τον κωδικό πρόσβασής μας.
Δεύτερον, στην είσοδο η προφύλαξη οθόνης κρεμόταν για ύποπτα μεγάλο χρονικό διάστημα και εγώ, έχοντας αμφιβολίες, κάλεσα το startkde από την κονσόλα. Μετά από μια μακρά και κουραστική εμφάνιση όλων των ειδών σφαλμάτων, το πλάσμα τελικά φορτώθηκε σε λειτουργία netbook. Τα γραφικά εφέ είναι απενεργοποιημένα, αφού καθόμαστε κάτω από ένα framebuffer, και σε ορισμένα σημεία υπάρχουν άγριες επιβραδύνσεις, αλλά και πάλι αυτό είναι kde και έχει φορτωθεί!
Ρυθμίστε τα πάντα για να σας ταιριάζουν
Το καθένα έχει το δικό του, δεν έχω κάνει ακόμη καμία βελτιστοποίηση, αλλά πρέπει να γίνουν πολλά: επιτάχυνση της φόρτωσης, βελτιστοποίηση του χώρου εργασίας. Αναζητώ ένα πιο ελαφρύ wm - e16 - αλλά δεν το έχω κάνει ακόμα το κύριο. Πρέπει επίσης να βαθμονομήσετε την οθόνη αφής, ευτυχώς υπάρχει ήδη ένα εικονικό πληκτρολόγιο στο kde.
Κοιτάζω προς το openbox +

Πέρασε πολύ λίγος χρόνος από την κυκλοφορία των πρώτων smartphone με λειτουργικό Android OS προτού οι ενθουσιώδες μάθουν να εκτελούν πλήρεις διανομές Linux σε αυτά. Σήμερα, οι μέθοδοι εγκατάστασης διανομών Linux σε συσκευές Android είναι ευρέως γνωστές και το αποθετήριο του Google Play διαθέτει ακόμη και αυτοματοποιημένα συστήματα εγκατάστασης και λειτουργίας Linux. Σε αυτό το άρθρο, θα προσπαθήσω να συγκεντρώσω όλη τη συσσωρευμένη εμπειρία εργασίας με Linux σε smartphone, να σας πω γιατί χρειάζεται και να δείξω πώς να αποφύγετε πιθανές παγίδες κατά τη μεταφορά του Linux σε smartphone ή tablet.

Για τι;

Με την πρώτη ματιά, μπορεί να φαίνεται περίεργο ότι κάποιος προσπαθεί να εκτελέσει ένα λειτουργικό σύστημα σε μια κινητή συσκευή που, κατ 'αρχήν, δεν έχει σχεδιαστεί για να λειτουργεί με μικρή οθόνη και χωρίς επαρκώς ακριβή χειριστή (ποντίκι) και πληκτρολόγιο. Ωστόσο, δεν πρέπει να βγάζετε βιαστικά συμπεράσματα. Μια διανομή Linux μπορεί να προσφέρει πολλά πλεονεκτήματα σε έναν κάτοχο smartphone, όπως ένα σύνολο παλαιών αποδεδειγμένων εργαλείων, όπως βοηθητικά προγράμματα γραμμής εντολών, προηγμένους επεξεργαστές, διακομιστές FTP και SSH, εργαλεία δικτύωσης και εργαλεία ανάπτυξης εφαρμογών. Εκτελώντας Linux χωρίς γραφικό κέλυφος σε smartphone με πληκτρολόγιο υλικού (για παράδειγμα, το Motorola Droid), μπορείτε να τα χρησιμοποιήσετε όλα αυτά άνετα εν κινήσει, χωρίς να χρειάζεται να φύγετε από το ίδιο το Android. Όλα τα εργαλεία είναι διαθέσιμα ανά πάσα στιγμή και το smartphone εξακολουθεί να είναι smartphone, επιτρέποντάς σας να λαμβάνετε κλήσεις και να ακούτε διαδικτυακό ραδιόφωνο.

Το δεύτερο επιχείρημα για την εγκατάσταση του Linux σε ένα smartphone είναι η δυνατότητα χρήσης του ως φορητού σταθμού εργασίας που μπορεί να συνδεθεί σε οποιονδήποτε υπολογιστή και να αποκτήσει άμεση πρόσβαση στο τερματικό χρησιμοποιώντας έναν πελάτη SSH/Telnet ή έναν πελάτη VNC/RDesktop. Αυτό είναι εξ ορισμού καλύτερο από τις μονάδες flash με εγκατεστημένο Linux, καθώς δεν χρειάζεται, πρώτον, να επανεκκινήσετε το μηχάνημα και, δεύτερον, να οδηγήσετε δεδομένα εμπρός και πίσω. τα αποτελέσματα της εργασίας σας θα είναι διαθέσιμα αμέσως αφού αποσυνδέσετε το smartphone σας από τον υπολογιστή.

Τέλος, το Linux δίνει το μεγαλύτερο πλεονέκτημα στα tablet, η οθόνη των οποίων σας επιτρέπει να εργάζεστε περισσότερο ή λιγότερο ανεκτά σε ένα γραφικό περιβάλλον και η δυνατότητα σύνδεσης ποντικιού και πληκτρολογίου μέσω καλωδίου OTG δίνει γενικά την ευκαιρία να μετατρέψετε το tablet σε πλήρης σταθμός εργασίας. Ταυτόχρονα, δεν υπάρχει ιδιαίτερη διαφορά μεταξύ της εγκατάστασης μιας διανομής Linux σε tablet και smartphone.

Πως;

Είναι πολύ εύκολο να μεταφέρετε το Linux στο Android και ο πυρήνας του Linux παίζει σημαντικό ρόλο εδώ. Οποιαδήποτε διανομή Linux είναι ένα σύνολο εφαρμογών και βιβλιοθηκών που τρέχουν πάνω από τον πυρήνα του Linux και δεδομένου ότι το ίδιο το Android βασίζεται σε έναν σχεδόν αμετάβλητο πυρήνα Linux, αυτές οι εφαρμογές και οι βιβλιοθήκες μπορούν να εκτελεστούν μέσα στο περιβάλλον Android χωρίς κανένα πρόβλημα. Απλά πρέπει να βρείτε μια διανομή για την οποία υπάρχει μια θύρα στην πλατφόρμα ARM (μην ξεχνάτε ότι το 99% όλων των συσκευών Android τρέχουν σε ARM), να την εγκαταστήσετε χρησιμοποιώντας έναν εξομοιωτή ARM σε έναν εικονικό σκληρό δίσκο (δηλαδή, για να ένα αρχείο), αποθέστε αυτό το αρχείο στην κάρτα SD της συσκευής, ανοίξτε ένα τερματικό, προσαρτήστε την εικόνα ως συσκευή loopback και περάστε την μέσα. Ολοι! Είναι τόσο απλό όσο η εκτέλεση ενός διακομιστή FTP σε περιβάλλον chrooted - μια απλή και δοκιμασμένη μέθοδος δεκαετιών.

Το μόνο εμπόδιο όταν αποφασίζετε να εκτελέσετε μια διανομή Linux στο Android είναι το γραφικό περιβάλλον. Αν και δεν υπάρχουν δυσκολίες πρόσβασης στην κονσόλα χάρη στην παρουσία ενός πλήρους εξομοιωτή τερματικού, τα προβλήματα ξεκινούν με τις γραφικές εφαρμογές - δεν υπάρχει εγγενής διακομιστής X για Android και είναι αδύνατο να τρέξει ένας κανονικός διακομιστής X εντός της ίδιας της διανομής λόγω θεμελιωδών διαφορών στην αρχιτεκτονική γραφικών των υποσυστημάτων πράσινου ρομπότ. Παρά το γεγονός ότι χρησιμοποιεί ένα τυπικό Linux Framebuffer πάνω από το οποίο μπορείτε να εκτελέσετε έναν διακομιστή X, το αποκλειστικό δικαίωμα χρήσης του ανήκει αρχικά σε βιβλιοθήκες Android υψηλότερου επιπέδου, επομένως σας απομένει είτε να φορτώσετε μια διανομή Linux αντί για Android ( κάτι που είναι εντελώς ανέφικτο) ή να βρούμε λύσεις .

Έλεγχος λειτουργίας των απαραίτητων μονάδων

Λάβετε υπόψη ότι η υποστήριξη για συσκευές loopback και συστήματα αρχείων ext2/ext3 που απαιτούνται για την προσάρτηση της εικόνας δεν είναι διαθέσιμη σε όλους τους πυρήνες Linux που είναι εγκατεστημένοι σε smartphone Android. Μπορείτε να ελέγξετε για υποστήριξη χρησιμοποιώντας το lsmod | grep -e loop -e ext2.

Οι λάτρεις έχουν ξεπεράσει αυτήν την κατάσταση χρησιμοποιώντας μια απλή μέθοδο «απομακρυσμένης» σύνδεσης στην επιφάνεια εργασίας χρησιμοποιώντας οποιονδήποτε πελάτη VNC διαθέσιμο για Android. Μέσα στο περιβάλλον chroot, εκτελείται ο διακομιστής Xvnc X και όλες οι εφαρμογές εκτελούνται υπό τον έλεγχό του. Ο χρήστης πρέπει απλώς να εγκαταστήσει τον πελάτη VNC, να εισαγάγει την τοπική διεύθυνση - και voila, μια πλήρης επιφάνεια εργασίας εμφανίζεται στην οθόνη.

Το μόνο εμπόδιο όταν χρησιμοποιείτε την Απομακρυσμένη επιφάνεια εργασίας είναι η απόδοση. Ακόμη και όταν εργάζεστε τοπικά, το VNC δεν μπορεί να παρέχει το κατάλληλο επίπεδο ισχύος, το οποίο θα ήταν αρκετό για ομαλή κύλιση ή μετακίνηση των παραθύρων χωρίς καθυστέρηση. Δεν έχει καταστεί ακόμη δυνατή η επίλυση αυτού του προβλήματος. Ωστόσο, κανείς δεν απαγορεύει τη χρήση τους. για παράδειγμα, ο X Server από την Darkside Technologies Pty Ltd (goo.gl/ap3uD) είναι αρκετά κατάλληλος για την εκτέλεση απλού λογισμικού.

Αρχικά, το Linux για Android υπήρχε μόνο με τη μορφή εικόνας με ήδη εγκατεστημένο σύστημα, καθώς και επεξηγηματικές οδηγίες σχετικά με τον τρόπο σύνδεσης και χρήσης αυτής της εικόνας. Στη συνέχεια εμφανίστηκαν σενάρια που αυτοματοποιούσαν τη διαδικασία σύνδεσης της εικόνας και εκκίνησης του Linux, αλλά απαιτούσαν και λίγη εγκεφαλική εργασία. Τέλος, πρόσφατα υπήρξαν διαθέσιμα προγράμματα εγκατάστασης στο Google Play (για παράδειγμα, goo.gl/RSA1j), τα οποία αυτοματοποιούν σε κάποιο βαθμό τη διαδικασία εκκίνησης της διανομής, αν και, στην ουσία, αυτός εξακολουθεί να είναι ο ίδιος οδηγός εγκατάστασης, αλλά διαδραστικός, με απευθείας συνδέσμους για λήψη εικόνων και σεναρίων.

Εναλλακτικές επιλογές

Ανέφερα ήδη παραπάνω ότι η διανομή Linux μπορεί να φορτωθεί αντί για Android, χάρη στην οποία θα είναι δυνατή η χρήση του Framebuffer για άμεση πρόσβαση στον προσαρμογέα βίντεο και η σημαντική επιτάχυνση της λειτουργίας της γραφικής διεπαφής. Ωστόσο, είναι σχεδόν άσκοπο να το κάνετε αυτό σε smartphone - το Linux είναι ακατάλληλο ως το κύριο σύστημα σε μικρές οθόνες και θα είναι επίσης αδύνατο να λαμβάνετε κλήσεις και να χρησιμοποιείτε το Διαδίκτυο. Αλλά σε ένα tablet, το Linux θα φαίνεται αρκετά αξιοπρεπές.

Συνήθως, η λεγόμενη εγγενής έκδοση της διανομής Linux εγκαθίσταται σε μια συσκευή που εκτελεί αρχικά Android ως εξής. Δημιουργείται ένα επιπλέον διαμέρισμα στην εσωτερική μονάδα NAND του tablet, στο οποίο αντιγράφεται η διανομή Linux. Ο φορτωτής εκκίνησης U-Boot (χρησιμοποιείται στα περισσότερα tablet) στη συνέχεια διαμορφώνεται ώστε να χρησιμοποιεί αυτό το διαμέρισμα ως διαμέρισμα εκκίνησης. Ως αποτέλεσμα, το tablet θα εκκινήσει αυτόματα στο σύστημα Linux μετά την ενεργοποίηση.

Για να αφήσει τη δυνατότητα εκκίνησης του Android, ο φορτωτής εκκίνησης U-Boot επαναδιαμορφώνεται έτσι ώστε το διαμέρισμα με το σύστημα Linux να μην είναι το κύριο, αλλά να χρησιμεύει ως "διαμέρισμα ανάκτησης" (Λειτουργία ανάκτησης), προσβάσιμο ενεργοποιώντας τη συσκευή με πατημένο το πλήκτρο έντασης (το ίδιο που χρησιμοποιείται για να αναβοσβήνει η συσκευή και να εκτελεί διάφορες λειτουργίες ανάκτησης). Με αυτόν τον τρόπο μπορείτε να αποκτήσετε μια συσκευή διπλής εκκίνησης: Android από προεπιλογή και διανομή Linux κατά την εκκίνηση σε λειτουργία ανάκτησης. Η ίδια η λειτουργία ανάκτησης παραμένει προσβάσιμη μόνο με τη βοήθεια ειδικών εργαλείων.

Εάν η μνήμη NAND δεν είναι αρκετή για να φιλοξενήσει ένα πλήρες σύστημα Linux, τμήματα της (συνήθως το διαμέρισμα /usr) μετακινούνται σε μια εικόνα ή ένα διαμέρισμα σε μια κάρτα SD. Παρεμπιπτόντως, ένα διαμέρισμα ext2 σε μια κάρτα μνήμης μπορεί επίσης να χρησιμοποιηθεί για την εγκατάσταση Linux που εκτελείται σε περιβάλλον chroot.

Η εγκατάσταση μιας εγγενούς διανομής Linux είναι πιο δύσκολη από την εγκατάσταση μιας διανομής που εκτελείται σε περιβάλλον chroot, αλλά αξίζει τον κόπο αν έχετε ένα tablet και ένα καλώδιο OTG με το οποίο μπορείτε να συνδέσετε πληκτρολόγιο και ποντίκι.

Πρακτικό μάθημα

Όπως είπα ήδη, μόνο οι διανομές που μεταφέρονται στην αρχιτεκτονική ARM είναι κατάλληλες για λειτουργία Android. Πρώτα απ 'όλα, αυτά είναι το Ubuntu και το Debian και το πρώτο, για προφανείς λόγους, έχει πολύ μεγαλύτερο ενδιαφέρον στη ρομποτική. Μπορείτε επίσης να εγκαταστήσετε το Gentoo και πολλές εξειδικευμένες διανομές, όπως το Backtrack. Ας εξετάσουμε την πιο χαρακτηριστική περίπτωση, δηλαδή την εγκατάσταση του Ubuntu σύμφωνα με το τυπικό σχήμα, χωρίς τη χρήση αυτοματοποιημένων προγραμμάτων εγκατάστασης ή οτιδήποτε άλλο.


Πρώτα, χρειαζόμαστε μια εικόνα σκληρού δίσκου με εγκατεστημένη τη διανομή. Μπορείτε να το δημιουργήσετε μόνοι σας χρησιμοποιώντας τον εξομοιωτή QEMU, ωστόσο, λόγω του γεγονότος ότι η διαδικασία εγκατάστασης είναι απολύτως τυπική και τυπική, δεν θα την περιγράψω, αλλά απλώς θα σας κατευθύνω στη διεύθυνση goo.gl/9nvBi. Εδώ είναι ένα αρχείο με μια εικόνα στην οποία είναι προεγκατεστημένο το Ubuntu 12.04 με το γραφικό περιβάλλον LXDE (δεν θα ήταν συνετό να τρέξετε το Unity/Gnome σε τηλέφωνο/tablet). Το αρχείο πρέπει να αποσυσκευαστεί και το αρχείο ubuntu.img να τοποθετηθεί στην κάρτα μνήμης.

Στη συνέχεια, πρέπει να προσαρτήσετε την εικόνα και να την μεταφέρετε στο περιβάλλον διανομής. Για να το κάνετε αυτό, χρειάζεστε δικαιώματα root, υλικολογισμικό με υποστήριξη για συσκευές loopback μπλοκ και εγκατεστημένο το busybox (αναζητήστε στο Market για «εγκατάσταση busybox»· το CyanogenMod το έχει από προεπιλογή). Ακολουθία ενεργειών:

  1. Ανοίξτε τον εξομοιωτή τερματικού στο Android (εάν όχι, μπορείτε να εγκαταστήσετε το Terminal Emulator από το Market). Ή συνδέουμε το smartphone/tablet στον υπολογιστή και έχουμε πρόσβαση στο τερματικό χρησιμοποιώντας adb: $ cd path-to-Android-SDK/platform-tools $ sudo ./adb shell

    Μην ξεχνάτε ότι η λειτουργία εντοπισμού σφαλμάτων σε αυτήν την περίπτωση πρέπει να είναι ενεργοποιημένη: "Ρυθμίσεις -> Για προγραμματιστές -> Εντοπισμός σφαλμάτων Android".

  2. Παίρνουμε δικαιώματα root:$su
  3. Δημιουργούμε μια συσκευή loopback μπλοκ, συνδέουμε μια εικόνα δίσκου σε αυτήν και την προσαρτούμε:# 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

    Τα περιεχόμενα της εικόνας θα πρέπει να εμφανίζονται στον κατάλογο /sdcard/ubuntu. Ελέγξτε ότι ισχύει αυτό.

  4. Συνδέουμε όλα τα εικονικά συστήματα αρχείων που είναι απαραίτητα για τη λειτουργία της διανομής:# mount -t proc proc /mnt/ubuntu/proc # mount -t sysfs sysfs /mnt/ubuntu/sys # mount -o bind /dev /mnt/ubuntu/dev
  5. Το διαμορφώνουμε έτσι ώστε να έχετε πλήρη πρόσβαση στο Δίκτυο από το περιβάλλον 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. Ας πάμε στο περιβάλλον chroot:# chroot /mnt/ubuntu

Στην πραγματικότητα, εδώ τελειώνει η εγκατάσταση. Τώρα μπορείτε να εκκινήσετε λογισμικό κονσόλας, να ενημερώσετε το σύστημα, να ξεκινήσετε υπηρεσίες δικτύου και να κάνετε σχεδόν ό,τι μπορεί να γίνει με ένα κανονικό σύστημα επιτραπέζιου υπολογιστή Linux, χωρίς φυσικά να ξεχνάτε ότι κάποιο λογισμικό που αλληλεπιδρά απευθείας με το υλικό και διάφορες εξειδικευμένες ψευδο-συσκευές θα δεν λειτουργεί. Επίσης, μην ξεχνάτε ότι τα εικονικά FS θα πρέπει να αποσυναρμολογούνται μετά την ολοκλήρωση της εργασίας.

Τώρα πρέπει να εγκαταστήσουμε και να εκτελέσουμε τον διακομιστή Xvnc X, ο οποίος εξάγει συσκευές οθόνης και εισόδου χρησιμοποιώντας το πρωτόκολλο VNC. Ο TightVNCserver βρίσκεται ήδη στην εικόνα που παρουσιάζεται και είναι ακόμη ρυθμισμένος, αλλά για να κατανοήσετε καλύτερα τη διαδικασία και να μπορέσετε να επιλύσετε τυχόν προβλήματα που προκύπτουν, θα περιγράψω λεπτομερώς τη διαδικασία εγκατάστασης και εκκίνησης.

  1. Ενημερώστε και εγκαταστήστε τον TightVNCserver:# apt-get update # apt-get install tightvncserver
  2. Δημιουργήστε ένα αρχείο /root/.vnc/xstartup και γράψτε τα εξής σε αυτό:#!/bin/sh xrdb $HOME/.Xresources xsetroot -συμπαγής γκρι εξαγωγή XKL_XMODMAP_DISABLE=1 icewm & lxsession

    Η τρίτη εντολή χρειάζεται εδώ για να διορθώσετε προβλήματα που μπορεί να προκύψουν λόγω της φυσικής απουσίας πληκτρολογίου στη συσκευή.

  3. Εκκινούμε το Xvnc χρησιμοποιώντας το περιτύλιγμα vncserver με δικαιώματα ρίζας:# εξαγωγή USER=root # vncserver -geometry 1024x800

    Ως αποτέλεσμα της εκτέλεσης της τελευταίας εντολής, θα εμφανιστεί στην οθόνη ένα αίτημα για έναν κωδικό πρόσβασης για πρόσβαση στον διακομιστή VNC, είναι καλύτερο να ορίσετε κάτι απλό όπως "123". Μπορείτε να ορίσετε σχεδόν οποιαδήποτε ανάλυση, αλλά είναι καλύτερα να ταιριάζει με τη φυσική ανάλυση της οθόνης της συσκευής.

  4. Εγκαταστήστε την εφαρμογή AndroidVNC στο smartphone σας, εκκινήστε την, καθορίστε τη διεύθυνση IP και τη θύρα 5901 και συνδεθείτε.Η επιφάνεια εργασίας LXDE θα πρέπει να εμφανίζεται στην οθόνη.

Για να μην ασχοληθείτε με τη μη αυτόματη εισαγωγή όλων των εντολών, μπορείτε να χρησιμοποιήσετε το σενάριο ubuntu.sh, που βρίσκεται εδώ: goo.gl/xSpK4. Απλώς τοποθετήστε το και την εικόνα του ubuntu.img στον κατάλογο του ubuntu στην κάρτα SD και εκτελέστε το σενάριο με την εντολή sh ubuntu.sh και μετά από 5-10 δευτερόλεπτα συνδεθείτε στην επιφάνεια εργασίας χρησιμοποιώντας το AndroidVNC. Λάβετε υπόψη ότι το σενάριο προσαρτά την εικόνα στον κατάλογο /data/local/mnt.


Εγκατάσταση του Gentoo σε ένα διαμέρισμα ext2

Έτσι, εγκαταστήσαμε το Ubuntu χρησιμοποιώντας μια εικόνα με σύστημα αρχείων και κόλπα με μια συσκευή loopback και ένα περιβάλλον chroot. Αυτό αποδείχτηκε εύκολο να γίνει και με τη χρήση σεναρίων είναι γενικά πολύ εύκολο, αλλά τι γίνεται αν προχωρήσουμε παρακάτω και εγκαταστήσουμε μια πιο σκληρή διανομή και όχι χρησιμοποιώντας εικόνες, αλλά σε ένα αποκλειστικό διαμέρισμα ext2 στην κάρτα μνήμης; Με αυτόν τον τρόπο μπορούμε να λύσουμε το πρόβλημα ορισμένων υλικολογισμικών και πυρήνων χωρίς υποστήριξη για συσκευές loopback και, επιπλέον, μπορούμε να απολαμβάνουμε μια κανονική διανομή εγκατεστημένη σύμφωνα με όλους τους κανόνες.


Ας πάρουμε το Gentoo ως πειραματικό σύστημα. Για να το εγκαταστήσουμε σε ένα διαμέρισμα ext2, χρειαζόμαστε μια κάρτα μνήμης με χωρητικότητα τουλάχιστον 2 GB και ένα rooted smartphone με εγκατεστημένο το busybox. Η σειρά των ενεργειών είναι η εξής.

  1. Κάνουμε αντίγραφο ασφαλείας των δεδομένων από την κάρτα μνήμης και δημιουργούμε ένα επιπλέον διαμέρισμα σε αυτήν, χωρητικότητας τουλάχιστον δύο gigabyte. Αυτό μπορεί να γίνει χρησιμοποιώντας οποιοδήποτε πρόγραμμα διαμερισμάτων δίσκου, αλλά έχετε κατά νου ότι εάν θέλετε να συνεχίσετε να χρησιμοποιείτε την κάρτα SD για τον προορισμό της, τότε θα πρέπει να δημιουργήσετε ένα διαμέρισμα FAT32 στην αρχή της κάρτας, ώστε να γίνει το πρώτο ένα και ένα επιπλέον διαμέρισμα για την εγκατάσταση της διανομής θα πρέπει να είναι το δεύτερο.
  2. Μορφοποίηση διαμερισμάτων κάρτας SD:$ sudo mkfs.vfat /dev/sdc1 $ sudo mkfs.ext2 /dev/sdc2
  3. Παίρνουμε το τηλέφωνο, πηγαίνουμε στις "Ρυθμίσεις -> Σχετικά με το τηλέφωνο" και κοιτάμε ποιος επεξεργαστής είναι εγκατεστημένος.Στη συνέχεια, μεταβείτε στη σελίδα goo.gl/PRfux και πραγματοποιήστε λήψη του stage3 για την επιθυμητή αρχιτεκτονική, για παράδειγμα το stage3 για το ARM v7 βρίσκεται στον κατάλογο current-stage3-armv7a.
  4. Τοποθετούμε το διαμέρισμα ext2 της κάρτας μνήμης στον υπολογιστή και αποσυσκευάζουμε τα περιεχόμενα του αρχείου που προκύπτει σε αυτό:$ προσάρτηση sudo /dev/sdc2 /mnt $ sudo tar -xxpf στάδιο3-*.bz2 -C /mnt

    Επεξεργαζόμαστε αμέσως τις ρυθμίσεις παραμέτρων και όλα όσα χρειάζεστε, σύμφωνα με το γούστο σας, συμπεριλαμβανομένης της επεξεργασίας του /etc/resolv.conf σύμφωνα με το παράδειγμα από την προηγούμενη ενότητα.

  5. Εκκινούμε τον εξομοιωτή τερματικού (ή εκτελούμε το "κέλυφος adb"), προσαρτούμε όλα όσα χρειαζόμαστε και πηγαίνουμε στο chroot (σχεδόν το ίδιο όπως στην περίπτωση του 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

Η πρόσβαση στην επιφάνεια εργασίας γίνεται με τον ίδιο τρόπο όπως στο Ubuntu, μόνο που τώρα θα πρέπει να συγκεντρώσετε ένα σωρό λογισμικό απευθείας στο τηλέφωνο :). Ωστόσο, μπορείτε να ρυθμίσετε ένα περιβάλλον για πολλαπλή μεταγλώττιση στον υπολογιστή σας, αλλά αυτό είναι ένα θέμα για ένα ξεχωριστό άρθρο.

Εγγενής εγκατάσταση

Έχοντας ξεκινήσει το Ubuntu χρησιμοποιώντας έναν διακομιστή VNC, θα παρατηρήσετε τη βραδύτητα της λειτουργίας του, η οποία σχετίζεται με το κόστος του πρωτοκόλλου VNC για τη μετάδοση εικόνων "μέσω του δικτύου". Για να αποφύγετε αυτό το πρόβλημα, μπορείτε να εγκαταστήσετε το Ubuntu ως το κύριο σύστημα δίπλα στο Android, ώστε να μπορεί να χρησιμοποιεί απευθείας τον προσαρμογέα βίντεο. Δυστυχώς, δεν υπάρχει καθολικός τρόπος για να γίνει αυτό. Κάθε συσκευή είναι μοναδική με τον δικό της τρόπο, συμπεριλαμβανομένων διαφορετικών πινάκων διαμερισμάτων της μνήμης NAND στην οποία είναι εγκατεστημένη, διαφόρων συσκευών και προγραμμάτων οδήγησης για τη λειτουργία τους.


Ευτυχώς, η διαδικασία εγκατάστασης της εγγενούς έκδοσης της διανομής περιγράφεται καλά για πολλές συσκευές σε φόρουμ ρωσικής γλώσσας, επομένως η εύρεση οδηγιών δεν θα είναι δύσκολη. Ωστόσο, αξίζει να δοθεί αμέσως προσοχή σε πολλά χαρακτηριστικά αυτού του τύπου εγκατάστασης:

  • Ξεχωριστό ή κύριο διαμέρισμα NAND. Η διανομή Linux μπορεί να εγκατασταθεί είτε σε ένα προ-δημιουργημένο διαμέρισμα στη μνήμη NAND είτε στο κύριο διαμέρισμα εκκίνησης. Στην πρώτη περίπτωση, ο προγραμματιστής υλικολογισμικού συνήθως αφήνει την επιλογή φόρτωσης του Android χρησιμοποιώντας ένα ειδικό σενάριο ή φορτώνοντας μια διανομή Linux σε λειτουργία ανάκτησης, στη δεύτερη, θα εγκατασταθεί αντί για Android και για να επιστρέψετε τη δυνατότητα λήψης του ρομπότ, θα πρέπει να κάνετε reflash ξανά τη συσκευή.
  • Δυνατότητα διπλής εκκίνησης. Εάν η διανομή Linux είναι εγκατεστημένη σε ξεχωριστό διαμέρισμα, ο προγραμματιστής μπορεί να αφήσει την επιλογή εκκίνησης του Android. Ωστόσο, θα πρέπει να δώσετε αμέσως προσοχή στον τρόπο με τον οποίο γίνεται αυτή η λήψη: χρησιμοποιώντας τη λειτουργία ανάκτησης ή ένα σενάριο που εκκινείται από έναν κανονικό υπολογιστή. Ωστόσο, η δεύτερη μέθοδος θα είναι άβολη στο δρόμο.
  • Υποστήριξη υλικού. Ο αρχικός πυρήνας Linux του υλικολογισμικού Android περιλαμβάνει ήδη όλα τα απαραίτητα προγράμματα οδήγησης που μπορεί να χρειαστούν για τη λειτουργία ενός πλήρους συστήματος Linux, αλλά δεν θα ξεκινήσουν όλα τα υλικολογισμικά Linux όλα από μόνα τους. Συχνά προκύπτουν προβλήματα με τον προσαρμογέα Wi-Fi και την οθόνη αφής, η οποία δεν ανταποκρίνεται επαρκώς στην αφή. Επομένως, πριν εγκαταστήσετε το υλικολογισμικό, θα πρέπει να διαβάσετε προσεκτικά για πιθανές επιπλοκές.

Σε κάθε περίπτωση, να είστε προετοιμασμένοι για το γεγονός ότι κατά την εγκατάσταση της διανομής Linux θα καταστραφούν όλα τα δεδομένα σας. Δεν υπάρχει τρόπος χωρίς αυτό.

Τι ακολουθεί

Μια διανομή Linux που είναι εγκατεστημένη δίπλα στο αρχικό σύστημα Android μπορεί να γίνει ένα πολύ βολικό εργαλείο εργασίας, αλλά αυτή τη στιγμή το "Linux εντός Android" θεωρείται περισσότερο παιχνίδι και τρόπος επίδειξης στους φίλους παρά μια σοβαρή λύση. Είμαι βέβαιος ότι σύντομα, όταν εμφανιστεί μια πλήρης εφαρμογή του διακομιστή γραφικών Wayland για Android, η κατάσταση θα αρχίσει να αλλάζει και θα δούμε διανομές με διεπαφή προσαρμοσμένη για μικρές οθόνες, καθώς και πλήρεις εφαρμογές Linux που διανέμονται στο τη μορφή κανονικών πακέτων APK. Επίσης, μην ξεχνάτε το έργο "Ubuntu για Android" - στο πλαίσιο του, οι εργασίες βρίσκονται σε εξέλιξη σε μια επίσημη θύρα του Ubuntu για Android, η οποία θα σας επιτρέψει να χρησιμοποιήσετε το smartphone σας ως φορητή μονάδα συστήματος συνδεδεμένη σε οποιαδήποτε οθόνη.

Οι περισσότεροι χρήστες Android γνωρίζουν ότι αυτή η πλατφόρμα λειτουργεί με λειτουργικό σύστημα Linux, αλλά παρόλα αυτά, πολλά από τα προγράμματά της δεν είναι διαθέσιμα. Αυτός είναι ο λόγος για τον οποίο μια εξαιρετική λύση είναι να εγκαταστήσετε ένα κέλυφος Linux που ονομάζεται Ubuntu στο tablet. Εκτελείται μέσω του Emulator και εκτελείται παράλληλα με το Android, παρέχοντας μια μεγάλη ποικιλία εφαρμογών που συνήθως δεν φορτώνονται σε συσκευές με αυτό το λειτουργικό σύστημα.

Και τα δύο λειτουργικά συστήματα μπορούν να λειτουργούν παράλληλα

Θα δούμε πώς να το εγκαταστήσετε μόνοι σας χωρίς τη βοήθεια ειδικών εφαρμογών, χρησιμοποιώντας μόνο έναν εξομοιωτή και το πρόγραμμα VNC Viewer.

Εγκατάσταση του Ubuntu στο tablet

Ποιες παράμετροι απαιτούνται για αυτό το κέλυφος; Χρειαζόμαστε δικαιώματα root, δωρεάν μνήμη 2,5–3,5 GB. Απαιτείται ελάχιστη συχνότητα ρολογιού 1 GHz και απαιτείται υποστήριξη για το σύστημα αρχείων Ext2. Ως εργαλεία που διευκολύνουν την εγκατάσταση, χρειαζόμαστε πολλά προγράμματα, συμπεριλαμβανομένου ενός εξομοιωτή - θα είναι χρήσιμο για την περαιτέρω εκκίνηση του λογισμικού.

Τι είναι τα δικαιώματα root και πώς να τα αποκτήσετε; Αντιπροσωπεύουν δικαιώματα διαχειριστή. Σε αυτήν την περίπτωση, η κατοχή τέτοιων δικαιωμάτων θα σας επιτρέψει να αλλάξετε τις παραμέτρους συστήματος του tablet, επομένως δεν θα μπορείτε να εγκαταστήσετε το Ubuntu για Android χωρίς αυτές.

Μπορείτε να αποκτήσετε αυτά τα δικαιώματα μέσω διαφόρων εφαρμογών, μεγάλο αριθμό από τις οποίες θα βρείτε στο Play Market. Κατεβάστε ένα από αυτά, ενεργοποιήστε τα δικαιώματα διαχειριστή και, στη συνέχεια, προχωρήστε στην απευθείας εγκατάσταση του Ubuntu στο tablet σας.

Για να γίνει αυτό πρέπει να κάνετε τα εξής:

  • Συνδεθείτε στις ρυθμίσεις συστήματος του tablet σας και στην ενότητα "Για προγραμματιστές", ενεργοποιήστε τη λειτουργία εντοπισμού σφαλμάτων USB. Εάν δεν έχετε αυτήν τη λειτουργία, μεταβείτε στο μενού "Σχετικά με τη συσκευή" και βρείτε τη γραμμή με τον αριθμό κατασκευής - κάντε γρήγορα κλικ σε αυτήν 5 φορές στη σειρά, μετά από την οποία θα εμφανιστεί ένα μήνυμα ότι έχετε γίνει προγραμματιστής και πρέπει να εμφανιστεί στη λίστα?

  • Δημιουργήστε ένα φάκελο στη μνήμη της κάρτας που ονομάζεται Ubuntu.
  • Πραγματοποιήστε λήψη του σεναρίου για την εκκίνηση του Linux και μιας από τις συγκροτήσεις λογισμικού - υπάρχουν μόνο δύο από αυτές. Το πρώτο είναι ελάχιστο, περιέχει μόνο μεμονωμένες, πιο δημοφιλείς εφαρμογές και έχει μέγεθος μισού gigabyte, μετά την εγκατάσταση καταλαμβάνει 2,5 GB ελεύθερου χώρου στην κάρτα μνήμης. Το δεύτερο είναι μια πλήρης συναρμολόγηση, έχει ένα εκτεταμένο σύνολο προγραμμάτων, αντίστοιχα, έχει αρχικό μέγεθος 1,5 GB και μετά την αποσυσκευασία θα καταλάβει 3,5 GB μνήμης.
  • Στη συνέχεια, θα πρέπει να κάνετε λήψη δύο προγραμμάτων: Terminal Emulator για Android και VNC Viewer.
  • Ανοίξτε την εφαρμογή Emulator και εκτελέστε τις ακόλουθες εντολές σε αυτήν:
  1. cd /sdcard/ubuntu;
  2. sh ubuntu.sh.

Σημείωμα.Πριν εισαγάγετε εντολές, ο εξομοιωτής θα σας ζητήσει να το κάνετε κατά την αρχική εκκίνηση και, φυσικά, πρέπει να συμφωνήσετε με αυτήν την ενέργεια.

  • Στη συνέχεια, πρέπει να παρέχετε τις λεπτομέρειες ανάλυσης οθόνης και τον τύπο περιβάλλοντος επιφάνειας εργασίας στην ίδια εφαρμογή Emulator.
  • Μετά από λίγα λεπτά, εάν η εγκατάσταση είναι σωστή, θα δείτε ένα μήνυμα με το κείμενο root@localhost:/# - αυτό σημαίνει ότι το κέλυφος Linux στον εξομοιωτή ξεκίνησε με επιτυχία.

Ανάπτυξη Linux. Αυτή είναι μια εφαρμογή ανοιχτού κώδικα που έχει σχεδιαστεί για να αυτοματοποιεί τη διαδικασία εγκατάστασης, διαμόρφωσης και εκτέλεσης διανομών GNU/Linux στην πλατφόρμα Android μέσα σε ένα κοντέινερ chroot. Η εφαρμογή δημιουργεί μια εικόνα δίσκου σε μια κάρτα μνήμης ή άλλο μέσο, ​​την προσαρτά και εγκαθιστά εκεί την επιλεγμένη διανομή Linux. Υποστηρίζεται η εγκατάσταση σε αρχείο, απευθείας σε διαμέρισμα κάρτας μνήμης, σε κατάλογο με το σύστημα αρχείων ext2/ext3/ext4 και στη μνήμη RAM. Οι εφαρμογές από μια διανομή Linux τρέχουν σε περιβάλλον chroot, εκτελούνται παράλληλα με το κύριο σύστημα και είναι συγκρίσιμες σε ταχύτητα. Όλες οι αλλαγές που γίνονται στη συσκευή είναι αναστρέψιμες, δηλ. Η εφαρμογή και τα στοιχεία που δημιούργησε μπορούν να απεγκατασταθούν πλήρως.

Η εγκατάσταση της διανομής Linux πραγματοποιείται μέσω του δικτύου από επίσημους καθρέφτες στο Διαδίκτυο. Εφόσον το Linux Deploy βασίζεται σε μια κλήση συστήματος στον πυρήνα του Linux, μόνο οι διανομές Linux μπορούν να λειτουργήσουν ως συστήματα "επισκέπτης". Μέσω της διεπαφής προγράμματος, μπορείτε να ελέγξετε τη διαδικασία εγκατάστασης της διανομής Linux και μετά την εγκατάσταση, μπορείτε να ξεκινήσετε και να σταματήσετε τις υπηρεσίες του εγκατεστημένου συστήματος (υπάρχει υποστήριξη για την εκκίνηση των δικών σας σεναρίων). Η διαδικασία εγκατάστασης εμφανίζεται ως αναφορές κειμένου στο κύριο παράθυρο της εφαρμογής. Κατά την εγκατάσταση, το ίδιο το πρόγραμμα διαμορφώνει το περιβάλλον εργασίας, το οποίο περιλαμβάνει το βασικό σύστημα, διακομιστή SSH, διακομιστή VNC και ένα γραφικό περιβάλλον για να διαλέξετε. Μπορείτε επίσης να διαχειριστείτε τις παραμέτρους των διακομιστών SSH και VNC μέσω της διεπαφής του προγράμματος.

Η εγκατάσταση μιας διανομής Linux διαρκεί περίπου 30 λεπτά. Το συνιστώμενο ελάχιστο μέγεθος εικόνας δίσκου χωρίς GUI είναι 512 MB και με GUI - 1024 MB (για LXDE). Μετά την αρχική εγκατάσταση, ο κωδικός πρόσβασης για πρόσβαση μέσω SSH και VNC εκχωρείται ως "changeme", ο οποίος μπορεί να αλλάξει χρησιμοποιώντας τυπικά εργαλεία διανομής ή μέσω ρυθμίσεων εφαρμογής.

Χαρακτηριστικά:

  • Υποστηριζόμενες διανομές: Debian, Ubuntu, Kali Linux, Arch Linux, Fedora, CentOS, Gentoo, openSUSE, Slackware, RootFS (tgz, tbz2, txz)
  • Τύπος εγκατάστασης: αρχείο, διαμέρισμα, RAM, κατάλογος
  • Υποστηριζόμενα συστήματα αρχείων: ext2, ext3, ext4
  • Υποστηριζόμενες αρχιτεκτονικές: ARM, ARM64, x86, x86_64, λειτουργία εξομοίωσης αρχιτεκτονικής (ARM<->x86)
  • Μέθοδοι σύνδεσης με το κοντέινερ: CLI, SSH, VNC, διακομιστής X, framebuffer
  • Διεπαφές διαχείρισης (CLI): τερματικό Android (ή adb), telnet, διεπαφή ιστού (τερματικό μέσω προγράμματος περιήγησης)
  • Περιβάλλον επιφάνειας εργασίας: XTerm, LXDE, Xfce, MATE, άλλο (μη αυτόματη ρύθμιση)
  • Υποστηριζόμενες γλώσσες: πολυγλωσσική διεπαφή

ΠΡΟΣΟΧΗ!

Αυτό το πρόγραμμα παρέχεται ΧΩΡΙΣ ΕΓΓΥΗΣΗ και ο συγγραφέας δεν ευθύνεται για τυχόν συνέπειες της χρήσης του. Αυτό είναι δωρεάν λογισμικό και μπορείτε να το αναδιανείμετε σύμφωνα με τους όρους της άδειας χρήσης GPLv3.

ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ GNU/LINUX

  1. Συνδέστε WiFi ή άλλο δίκτυο με πρόσβαση στο Διαδίκτυο. Η εγκατάσταση πραγματοποιείται μέσω δικτύου και δεν θα λειτουργήσει χωρίς πρόσβαση στο Διαδίκτυο.
  2. Βεβαιωθείτε ότι η συσκευή σας έχει λάβει δικαιώματα υπερχρήστη (root). Εγκαταστήστε την πιο πρόσφατη έκδοση του Linux Deploy και εκτελέστε το.
  3. Κατά την πρώτη εκκίνηση της εφαρμογής, εκκινείται αυτόματα η ενημέρωση του περιβάλλοντος εργασίας, που είναι ένας κατάλογος που περιέχει όλα τα απαραίτητα σενάρια, τις ρυθμίσεις και τα προφίλ κοντέινερ. Οι ρυθμίσεις περιβάλλοντος εργασίας μπορούν να προβληθούν στο " Ρυθμίσεις -> Εργασιακό περιβάλλον". Ο κατάλογος περιβάλλοντος δεν θα πρέπει να αλλάξει εκτός εάν υπάρχει λόγος να γίνει αυτό. Είναι χρήσιμο να αφήσετε την επιλογή " ενεργοποιημένη. Ρυθμίσεις -> Κρατήστε την οθόνη αναμμένη" ("Ρυθμίσεις -> Κλείδωμα οθόνης"), ενώ η εφαρμογή είναι ενεργή, η οθόνη, το WiFi και ο επεξεργαστής δεν θα μεταβούν σε κατάσταση αναστολής λειτουργίας.
  4. Το πρόγραμμα υποστηρίζει εργασία με πολλά προφίλ, όπου αποθηκεύονται οι παράμετροι κάθε παρουσίας GNU/Linux. Μπορείτε να κάνετε γρήγορη εναλλαγή μεταξύ παρουσιών μέσω του παραθύρου διαχείρισης προφίλ (ανοίγει κάνοντας κλικ στο εικονίδιο στην κεφαλίδα του κύριου παραθύρου). Από προεπιλογή, δημιουργείται ένα προφίλ με το όνομα "linux". Μεταβείτε στις ρυθμίσεις του τρέχοντος προφίλ (το άκρο δεξιά κουμπί) και διαμορφώστε τις απαραίτητες επιλογές για την εγκατάσταση και εκτέλεση της διανομής GNU/Linux ( δείτε την περιγραφή της παραμέτρου).
  5. Το Linux Deploy 2.x δεν απαιτεί εγκατάσταση στο σύστημα BusyBox, αλλά σε σπάνιες περιπτώσεις μπορεί να χρειαστεί να χρησιμοποιήσετε το σύστημα BusyBox. Για να το κάνετε αυτό, εγκαταστήστε ®Συμβατό με BusyBox. Στις παραμέτρους BusyBox, πριν την εγκατάσταση, πρέπει να επιλέξετε την επιλογή " Αντικαταστήστε τις μικροεφαρμογέςΣτη συνέχεια, στις ρυθμίσεις του περιβάλλοντος εργασίας Linux Deploy πρέπει να καθορίσετε τη διαδρομή προς το σύστημα BusyBox στο πεδίο " Ρυθμίσεις -> μεταβλητή PATH" ("Ρυθμίσεις -> μεταβλητή PATH"), Για παράδειγμα, /system/xbinκαι ξεκινήστε την ενημέρωση του εργασιακού περιβάλλοντος" Ρυθμίσεις -> Ενημέρωση περιβάλλοντος" ("Ρυθμίσεις -> Ενημέρωση ENV").
  6. Εκτελέστε την εγκατάσταση της επιλεγμένης διανομής: " Μενού -> Εγκαθιστώ" ("Μενού -> Εγκαθιστώ"). Το αρχείο καταγραφής εγκατάστασης εμφανίζεται στο κύριο παράθυρο της εφαρμογής. Η εγκατάσταση διαρκεί περίπου 30 λεπτά κατά μέσο όρο. Το στάδιο δημιουργίας εικόνας μπορεί να διαρκέσει πολύ (περίπου 15 λεπτά) εάν το μέγεθος είναι μεγαλύτερο από 2 GB.
  7. Εάν η εγκατάσταση ολοκληρωθεί χωρίς σφάλματα, μπορείτε να ξεκινήσετε το σύστημα Linux με το " ΑΡΧΗ" ("ΑΡΧΗ"). Αυτό θα ξεκινήσει τις υπηρεσίες που καθορίζονται στις παραμέτρους - SSH, VNC και άλλες.
  8. Για να αποκτήσετε πρόσβαση στην κονσόλα ενός συστήματος Linux μέσω SSH, πρέπει να εγκαταστήσετε το ConnectBot (ή άλλο πρόγραμμα-πελάτη SSH). Για να αποκτήσετε πρόσβαση στην επιφάνεια εργασίας του Linux, πρέπει να εγκαταστήσετε έναν διακομιστή X, όπως τον XServer XSDL. Στις ρυθμίσεις θα πρέπει να καθορίσετε την IP της συσκευής για σύνδεση, για την ίδια συσκευή - 127.0.0.1. Ο κωδικός πρόσβασης για SSH και VNC καθορίζεται στις παραμέτρους του κοντέινερ. Μπορείτε να αλλάξετε τον κωδικό πρόσβασης του τρέχοντος χρήστη από την κονσόλα χρησιμοποιώντας την εντολή passwd. Για να εκτελέσετε προγράμματα ως root, χρησιμοποιήστε την εντολή sudo (για παράδειγμα, sudo synaptic). Από προεπιλογή, ο χρήστης root (εκτός αν ορίζεται ως όνομα χρήστη στις ρυθμίσεις) δεν έχει κωδικό πρόσβασης, αλλά μπορείτε να ορίσετε έναν κωδικό πρόσβασης για αυτόν με την εντολή sudo passwd root.
  9. Για να σταματήσετε το σύστημα Linux, όλες τις υπηρεσίες που εκτελούνται κάτω από αυτό και να αποσυνδέσετε τους δίσκους, απλώς πατήστε το κουμπί " ΣΤΑΣΗ" ("ΣΤΑΣΗ").
  10. Το Linux Deploy σάς επιτρέπει να διαχειρίζεστε κοντέινερ μέσω CLI (Διεπαφή γραμμής εντολών). Για πρόσβαση στο CLI, μπορείτε να χρησιμοποιήσετε το telnet ή ένα πρόγραμμα περιήγησης ιστού, έχοντας προηγουμένως ενεργοποιήσει τις κατάλληλες διεπαφές διαχείρισης στις ρυθμίσεις.
  11. Για να μειώσετε το χρόνο εγκατάστασης του βασικού συστήματος ή σε περίπτωση προβλημάτων με την εγκατάσταση του συστήματος από επίσημα αποθετήρια, μπορείτε να εισαγάγετε ένα κοντέινερ από ένα προπαρασκευασμένο αρχείο. Για το σκοπό αυτό, υπάρχει ένα αποθετήριο κοντέινερ που δημιουργήθηκε με χρήση Linux Deploy και είναι προσβάσιμο μέσω της διεπαφής της εφαρμογής στο " Αποθήκη" ("Αποθήκη"). Απλώς επιλέξτε το επιθυμητό κοντέινερ στη διεπαφή αποθετηρίου και κάντε κλικ στο " Εισαγωγή" ("Εισαγωγή"). Μετά από αυτό, θα δημιουργηθεί ένα νέο προφίλ στην εφαρμογή, οι παράμετροι του οποίου μπορούν να αλλάξουν εάν είναι απαραίτητο. Στη συνέχεια, πρέπει απλώς να εκτελέσετε την εγκατάσταση " Μενού -> Εγκαθιστώ" ("Μενού -> Εγκαθιστώ"), θα προετοιμαστεί η διαδρομή εγκατάστασης (θα δημιουργηθεί μια εικόνα για το κοντέινερ), θα γίνει λήψη, αποσυσκευασία και διαμόρφωση του αρχείου κοντέινερ. Αφού ολοκληρώσετε τη διαδικασία, μπορείτε να ξεκινήσετε το κοντέινερ με το " ΑΡΧΗ" ("ΑΡΧΗ").

ΕΝΗΜΕΡΩΣΗ ΠΡΟΓΡΑΜΜΑΤΟΣ

Μετά την ενημέρωση του προγράμματος, το περιβάλλον εργασίας ενημερώνεται αυτόματα. Εάν είναι απαραίτητο, η ενημέρωση μπορεί να ξεκινήσει με μη αυτόματο τρόπο: " Ρυθμίσεις -> Ενημέρωση περιβάλλοντος" ("Ρυθμίσεις -> Ενημέρωση ENV"). Οι ενημερώσεις προγράμματος (περιβάλλοντος) δεν επηρεάζουν ένα ήδη εγκατεστημένο σύστημα GNU/Linux, δηλαδή το εγκατεστημένο σύστημα δεν μπορεί να καταστραφεί ή να αλλάξει με οποιονδήποτε τρόπο λόγω μιας ενημέρωσης.
Για να αλλάξετε τις ρυθμίσεις ενός ήδη εγκατεστημένου συστήματος ή για να επιστρέψετε τις ρυθμίσεις στις αρχικές, πρέπει να εκτελέσετε τη διαμόρφωση: " Μενού -> Διαμόρφωση" ("Μενού -> Διαμόρφωση"). Εάν επιλεγούν ορισμένα στοιχεία στις παραμέτρους, τότε η διαμόρφωση θα εγκαταστήσει πακέτα για τα επιλεγμένα στοιχεία.

ΚΑΤΑΓΚΑΤΑΣΤΑΣΗ ΠΡΟΓΡΑΜΜΑΤΟΣ

Πριν απεγκαταστήσετε το πρόγραμμα, πρέπει να σταματήσετε τη διανομή GNU/Linux χρησιμοποιώντας το κουμπί ΣΤΑΣΗ, εάν δεν μπορείτε να σταματήσετε τη διανομή, συνιστάται η επανεκκίνηση της συσκευής. Μετά από αυτό, εκτελέστε την εντολή " Ρυθμίσεις -> Διαγραφή περιβάλλοντος" ("Ρυθμίσεις -> Αφαιρέστε το ENV"). Μετά από αυτό, μπορείτε να διαγράψετε την εφαρμογή. Η διαγραφή μιας εφαρμογής με μη προσαρτημένο κοντέινερ είναι επικίνδυνη. Η διαγραφή έκδοσης εφαρμογής χαμηλότερη από 1.5.3 διαγράφει επίσης όλα τα δεδομένα από όλα τα διαμερίσματα που είναι τοποθετημένα στο κοντέινερ! Μπορεί επίσης να υπάρχουν αρχεία .img που δημιουργούνται στην κάρτα μνήμης κατά την εγκατάσταση διανομών, τέτοια αρχεία μπορούν να διαγραφούν με μη αυτόματο τρόπο μέσω οποιουδήποτε διαχειριστής αρχείων.

Κατεβάστε την εφαρμογή για εγκατάσταση Linux σε Android - Linux Deploy σε Androidμπορείτε να ακολουθήσετε τον παρακάτω σύνδεσμο.

Πώς να εγκαταστήσετε στο Android σε Linux;Αυτή η ερώτηση μου προέκυψε μετά από ανεπιτυχή προσπάθεια ρύθμισης. Όχι, όλα λειτούργησαν, εκτός από ένα πράγμα: το δίκτυο και το Διαδίκτυο. Όσα εγχειρίδια κι αν διάβασα για την προώθηση θυρών, δεν μου βγήκε τίποτα. Στο Android 2.3 το δίκτυο λειτουργεί αμέσως, αλλά στο Android 4 δεν λειτουργεί, έτσι αποφάσισα να πάω από την άλλη πλευρά και να εγκαταστήσω έναν εξομοιωτή Android στο Linux. Πώς να εγκαταστήσετε το Android σε Linux;

Στην πραγματικότητα, θα περιγράψω τώρα το πείραμα, οπότε δεν ξέρω τι θα συμβεί τελικά και αν κάτι θα λειτουργήσει καθόλου, οπότε πριν επαναλάβω τα βήματά μου, διαβάστε το άρθρο μέχρι το τέλος. Ας ξεκινήσουμε λοιπόν!

Αρχικά, πηγαίνουμε στον ιστότοπο και κατεβάζουμε το πακέτο που χρειαζόμαστε από το Android και όλα όσα συνοδεύουν. Κατέβασα την έκδοση κάτω από Linux, Ασφαλώς.


Ενώ γίνεται λήψη όλων, ας εγκαταστήσουμε πρόσθετα στοιχεία στο Linux για να τρέξουμε το Android SDK - μια μηχανή Java μέσω της οποίας θα λειτουργούν όλα. Ανοίξτε ένα τερματικό και εκτελέστε την εντολή:

Εγκαταστήστε το Sudo apt-get openjdk-7-jre

Cd android-sdk-linux

Μετά από αυτό, εκτελούμε την εντολή, όπως γράφτηκε στο εγχειρίδιο, το οποίο ήταν στο αρχείο:

Εργαλεία/ενημέρωση Android sdk --no-ui

Μετά από αυτό, το πρόγραμμα συνδέεται με την υπηρεσία Google και ξεκινά τη λήψη και εγκατάσταση των αρχείων που χρειάζεται. Χρειάστηκε ΠΟΛΥ πολύς χρόνος για τη λήψη, καθώς λήφθηκαν περισσότερα από 2 gigabyte διαφορετικών πακέτων για προγραμματιστές. Ισως αυτό το βήμα θα μπορούσε να είχε παραλειφθείκαι εκκινήστε αμέσως τον διαχειριστή SDK. Για να το κάνετε αυτό, χρησιμοποιήστε την εντολή cd για να μεταβείτε στον κατάλογο εργαλείων:

Cd android-sdk-linux/εργαλεία

Μετά από αυτό εκτελούμε την εντολή:

./android

Ως αποτέλεσμα, το πρόγραμμα εκτελείται:


Αποδεικνύεται ότι εγκατέστησα όλα τα πακέτα με τα εργαλεία εντολών/ενημερωμένη έκδοση Android sdk --no-ui. Αλλά στην πραγματικότητα, δεν τα χρειάζομαι, αφού δεν θα κάνω ανάπτυξη Android, οπότε θα διαγράψω τα περιττά αργότερα. Πώς να εκτελέσετε το Android σε Linux?

Τώρα πρέπει να μεταβείτε στην καρτέλα μενού Εργαλεία - Διαχείριση AVD. Θα εμφανιστεί ένα παράθυρο στο οποίο θα πρέπει να ορίσετε τις παραμέτρους του Android και του περιβάλλοντος εργασίας του. Ρώτησα αυτά:

Αφού ρυθμίσετε τις παραμέτρους, κάντε κλικ στο OK και η εικονική μας μηχανή με Android εμφανίζεται στον διαχειριστή.


Τώρα πατήστε το κουμπί Αρχήκαι εκκινήστε το Android μας.


Όπως μπορείτε να δείτε, όλα λειτούργησαν, και το πιο σημαντικό, το Διαδίκτυο λειτουργεί αμέσως, και για χάρη αυτού ξεκίνησαν όλα. Τώρα μπορείτε να δοκιμάσετε να ρυθμίσετε τον λογαριασμό σας Android και να ξεκινήσετε την εγκατάσταση εφαρμογών από το Google Play.

Το μόνο αρνητικό είναι τα δυνατά φρένα κατά τη λειτουργία. Αλλά νομίζω ότι εδώ χρειάζεται απλώς να πειραματιστείτε λίγο, να εγκαταστήσετε διαφορετικές εκδόσεις του Android και να ορίσετε διαφορετικές παραμέτρους για την εγκατάστασή του. Έτσι μπορείτε να το εγκαταστήσετε Android σε Linuxγια την ανάπτυξη εφαρμογών σε αυτό, και μόνο για δοκιμή.

Εάν γνωρίζετε πώς να βελτιώσετε την απόδοση του Android στο Linux, μοιραστείτε την εμπειρία σας στα σχόλια.

Τις προάλλες μου επέστρεψε το παλιό μου netbook, μικρό, αδύναμο, το αγόρασα το 2010. Και σκέφτηκα: τόσο το Linux όσο και τα Windows θα είναι σε αυτό...

Πιθανότατα είχατε αμέσως μια ερώτηση: - "Γιατί να εγκαταστήσετε το Android στο VirtualBox (εικονική μηχανή);" Και οι λόγοι μπορεί να είναι διαφορετικοί, αλλά βασικά...