Est-il possible d'installer Linux sur Android. Lancement du système d'exploitation complet sur Android

Bonne journée tout le monde.

Mon histoire commence avec la lecture de cet article, après quoi j'ai décidé d'acheter un miracle de la fabrication chinoise de tablettes : un superpad. Cette tablette a été prise comme un jouet pour « creuser un peu », à temps partiel, une liseuse, un jeu à deux et une montre pour un long voyage... Je constate tout de suite que j'ai deux disques durs USB de 500 Go et 1 To, sur lesquels est stocké tout ce qui est le plus important pour une vie amusante, et ils sont divisés en ntfs et ext4. Et bien entendu, la tablette ne les voit pas.

Voici mon bénévole

C’est la première raison de creuser plus profondément. Après avoir consulté 200 pages de forum sur xda-developers.com, certains

Sur à ce stade Toutes les tentatives d’ouverture de cette tablette ont été abandonnées. Jusqu'au moment glorieux pour l'étudiant : la séance. Et comme pendant la séance les étudiants font absolument tout, tant qu'ils ne sont pas dans le sujet, les soirées ludiques sur Internet sur des sites visiblement bourgeois ont repris. Et la brillante idée est venue de mettre cette tablette Linux orthodoxe, dans mon cas – Ubuntu.
Ce qui en est ressorti, voir ci-dessous.

Il est clair que vous ne pouvez pas simplement le récupérer et l'installer... eh bien, où est passé le nôtre...

Nous aurons besoin:

Regardons les principales étapes du chargement d'Android et Linux
1. Allumez et démarrez l'exécution du code ROM Allumer et démarrer l'exécution du code ROM
2. Le chargeur de démarrage Le chargeur de démarrage
3. Le noyau Linux Le noyau Linux
4. Le processus d'initialisation Le processus d'initialisation
5. Zygote et Dalvik console(bash, zsh...) / wm(kde, gnome...)
6. Le serveur système Démarrage terminé
7. Démarrage terminé

Comme vous pouvez le constater, les différences commencent dès la phase d’exécution d’initialisation.
C'est la chose la plus simple à changer.

J'écrirai honnêtement, je pensais que vous ne pouviez utiliser que l'initialisation d'Android et qu'il était étroitement vissé au noyau. Et même après avoir reçu un exemple de disque virtuel fonctionnel provenant d'une autre tablette, je ne pensais pas qu'il démarrerait...

contenu du disque RAM
bin dev etc home init init.rc lib linuxrc mnt newroot opt ​​​​proc root sbin sys tmp usr var
Dans /bin il y a busybox, dans /sbin il y a switch_root avec un lien vers celui-ci.
Code d'initialisation du disque virtuel du zt-180

#!/bin/sh echo À partir de l'image initram. Echo En attente du réveil de la carte SD... sleep 3 echo "Montage du nouveau rootfs" mount -t ext2 /dev/mmcblk0p2 /newroot && echo OK echo Attendez, changez de root... exec switch_root /newroot /sbin/init echo hrm, ayez un shell à la place, exec /bin/ash

Il ne reste plus qu'à flasher le disque virtuel en mémoire (j'ai utilisé burntool sous XP) et - le tour est joué, l'étape de démarrage. Oui, j'ai flashé le firmware au lieu de le recovery, donc pour démarrer Linux il faut maintenir les touches enfoncées au démarrage.

La phase de chargement est donc terminée et il faut être patient, car la console ne montre aucun signe de vie et tout se charge assez lentement.

Configuration de la connexion automatique pour la première console
Dans /etc/init/tty1.conf remplacez la dernière ligne par exec /bin/login -f Yor_Login< /dev/tty1 >/dev/tty1 2>&1 puis dans votre ~/.bashrc vous pouvez écrire des commandes qui démarreront quand connexion automatique.
Nous combattons le serveur X
Pour moi, cela n'a définitivement pas bien fonctionné avec l'écran tactile, xorg.conf et xterm... J'ai supprimé le pilote synaptique et mis ce qui suit dans ~/.xinitrc :
#!/bin/bash # $Xorg: xinitrc.cpp,v 1.3 2000/08/17 19:54:30 cpqbld Exp $ # /etc/X11/xinit/xinitrc # # fichier xinitrc global, utilisé par toutes les sessions X démarrées par xinit (startx) # invoque le script de session X global #. /etc/X11/Xsession xclock -geometry 50x50-1+1 & exec xterm -geometry 80x66+0+0 -name login
Combattre l’environnement de travail
Je voulais installer kde car j'aime beaucoup le rendu graphique avec la bibliothèque qt. Je dirai tout de suite : oui, il s'est installé et a démarré, mais COMMENT...
Tout d'abord, j'ai immédiatement configuré la connexion automatique :
dans /etc/kde4/kdm/kdmrc nous trouvons et modifions ce qui suit à notre convenance
AutoLoginEnable=true # Si vrai, connexion automatique après la déconnexion. Si faux, la connexion automatique est effectuée uniquement # au démarrage d'une session d'affichage. # La valeur par défaut est false #AutoLoginAgain=true # Le délai en secondes avant le démarrage de la connexion automatique. # La valeur par défaut est 0 AutoLoginDelay=3 # L'utilisateur doit se connecter automatiquement. Ne spécifiez JAMAIS root ! # La valeur par défaut est "" AutoLoginUser=Login # Le mot de passe permettant à l'utilisateur de se connecter automatiquement. Ceci n'est PAS obligatoire # sauf si l'utilisateur est connecté à un domaine NIS ou Kerberos. Si vous utilisez cette # option, vous devez "chmod 600 kdmrc" pour des raisons évidentes. # La valeur par défaut est "" AutoLoginPass=Mot de passe
et, comme écrit, nous faisons chmod 600 kdmrc dans la console sous root pour que les mauvaises personnes n'espionnent pas notre mot de passe.
Deuxièmement, à l'entrée, l'économiseur d'écran est resté étrangement long et, ayant des doutes, j'ai appelé startkde depuis la console. Après un affichage long et fastidieux d'erreurs de toutes sortes, le plasma s'est finalement chargé en mode netbook. Effets graphiqueséteint, car nous sommes assis sous un framebuffer, et à certains endroits il y a des ralentissements sauvages, mais c'est quand même kde et il est chargé !
Tout régler à votre convenance
Chacun a le sien, je n’ai pas encore fait d’optimisation, mais il y a beaucoup à faire : accélérer le chargement, optimiser l’espace de travail. Je recherche un wm plus léger – e16 – mais je n’en ai pas encore fait le principal. il faut aussi calibrer l'écran tactile, heureusement clavier virtuel déjà disponible dans kde.
Je regarde vers l'openbox +

De nombreux propriétaires de téléphones Android ont des difficultés à exécuter de vrais logiciels Linux sur leurs appareils. Selon toutes les lois, il semble être censé fonctionner ici, mais pour une raison quelconque, vous avez besoin des droits root pour l'installer, il est lui-même distribué dans certains installateurs maison et le choix de programmes est très limité. Cet article offrira une réponse à la question de savoir pourquoi cela s'est produit et suggérera une solution - moyen pratique installer et exécuter presque tous les logiciels Linux sur Android.

Linux ou pas Linux ?

Comme vous le savez, Android est basé sur le noyau Linux et comprend un ensemble de bibliothèques standard et d'utilitaires de ligne de commande typiques d'une distribution Linux classique. Cependant, lancer un logiciel Linux classique ici est très difficile pour de nombreuses raisons, notamment l'incompatibilité ABI, l'absence de gestionnaire de packages, de système de sécurité propriétaire et l'absence de nombreux composants d'un système Linux standard.

Ainsi, malgré la présence Norme Android bibliothèques libc et autres, leur implémentation est dans la plupart des cas incompatible avec les bibliothèques du projet GNU et est considérablement réduite en fonctionnalités. Pour cette raison, les logiciels Linux doivent au moins être reconstruits spécifiquement pour les processeurs Android et ARM, et dans de nombreux cas également corrigés, ajoutant ainsi les fonctionnalités manquantes dans les bibliothèques.

BotBrew : liste des appareils pris en charge

BotBrew a été testé sur les appareils suivants : 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 Transformateur TF101.

Le système de sécurité Android, qui coupe au maximum les privilèges des applications et ne leur permet pas d'aller au-delà de leur propre répertoire, entrave également sérieusement le fonctionnement des logiciels Linux standards. Par conséquent, il est souvent nécessaire d’obtenir les droits root, ce qui supprime ces restrictions. L'absence d'un gestionnaire de packages vous permettant d'installer des logiciels Linux classiques, et pas seulement des applications Java, oblige les développeurs à écrire des applications nécessaires uniquement pour installer d'autres applications. C'est ainsi qu'apparaissent tous ces installateurs personnalisés.

Eh bien, pour compléter le tableau, Android ne dispose tout simplement pas de nombreux composants Linux standard, y compris, par exemple, même des composants intégrés tels que la pile graphique X Window ou la bibliothèque GTK+. Certaines tentatives sont faites pour amener tout cela ici, bien sûr, mais les choses ne vont pas au-delà des versions alpha semi-fonctionnelles.

Néanmoins, la possibilité de transférer les fonctionnalités d'un système Linux à part entière vers Android est une idée trop tentante pour que les passionnés ne tentent pas de résoudre les problèmes qui surviennent au cours du processus et de nous proposer une solution universelle à part entière. Le moyen le plus évident et le plus simple consiste à exécuter une version « virtualisée » d'une distribution Linux à part entière, dont nous avons déjà parlé en détail. Cette méthode est intéressante, mais souffre du problème de diviser le système en deux zones, chacune fonctionnant indépendamment de l’autre.

Le projet BotBrew semble beaucoup plus intéressant - dans son cadre, un gestionnaire de packages et un référentiel assez courants pour les systèmes Linux sont en cours de développement, à l'aide desquels vous pouvez installer le logiciel Linux dans un répertoire séparé à l'intérieur d'Android. Aussi, à une certaine époque, beaucoup ont été inventés divers scripts, qui permettent d'assembler facilement et sans problèmes inutiles un logiciel Linux adapté pour travailler sous Android sur son grand frère. La suite de l’article sera consacrée à ces deux projets.

BotBrew

Le projet BotBrew est conçu pour résoudre de nombreux problèmes liés à l'installation de logiciels Linux qu'un utilisateur peut avoir et préparer Système Androidà accepter des candidatures qui lui sont étrangères. Essentiellement, le système se compose de quatre éléments :
  • un référentiel avec des applications Android précompilées, à l'aide duquel vous pouvez installer de nombreuses applications Linux à l'aide d'une seule commande ;
  • le gestionnaire de paquets, qui utilise Opkg ou dpkg léger avec apt-get dans la version expérimentale de BotBrew Bazil ;
  • le gestionnaire de processus runit, qui est nécessaire pour lancer correctement et maintenir le fonctionnement des démons, le cas échéant ;
  • un système de construction propriétaire qui contient tous les outils nécessaires pour compiler de manière croisée des applications à l'aide de n'importe quelle distribution Linux de bureau.
Pour fonctionner, ce miracle de la pensée programmatique ne nécessite rien du tout : les droits root et un peu d'espace libre dans mémoire interne smartphone ou carte mémoire. De plus, la première option est préférable, car dans le cas des fichiers SD, ils seront stockés sur disque virtuel, dont le travail n'est pas pris en charge par tous les noyaux.


Initialisation

Sur ce moment la version classique de BotBrew, qui utilise son propre référentiel, permet d'installer des logiciels tels que dcron, GCC, Git, le serveur dropbear SSH, le navigateur de console Lynx, le scanner de sécurité Nmap, l'outil de sauvegarde rsync, l'éditeur Vim, le serveur web lighttpd, langages de script Python et Ruby, ainsi que plusieurs dizaines d'autres packages. D'ailleurs, tout cela est installé dans un répertoire dédié dans la mémoire interne du smartphone/tablette et n'encombre en rien le système principal. En d'autres termes, vous pouvez vous débarrasser de BotBrew et de tout ce que vous avez installé en supprimant simplement un répertoire.

Installer le logiciel

Alors, comment pouvez-vous utiliser BotBrew pour Installations Linux-logiciel? Tout d'abord, nous avons besoin d'un package avec le programme lui-même. Il est la jeu de Google(notez que vous avez besoin de la racine BotBrew, pas du Bazil expérimental) et pèse moins d'un mégaoctet. Après l'installation, lancez et cliquez sur le bouton « Procéder » en bas de l'écran pour que le logiciel télécharge tous les composants nécessaires à son fonctionnement, comme le gestionnaire de packages de la console, et d'autres utilitaires (en termes Debian-Linux- amorcer). Ils ne pèsent que quelques mégaoctets, vous n'aurez donc pas à attendre longtemps. Une fois l'installation terminée, BotBrew affichera une fenêtre avec le site officiel du projet, que vous pourrez fermer en toute sécurité.

Maintenant, sur l'écran, vous devriez voir une liste des packages disponibles pour l'installation. Il y en a beaucoup, mais pour les raisons décrites ci-dessus, vous ne trouverez pas d’applications graphiques parmi elles. Mais il existe une variété de serveurs, de compilateurs et d'interprètes, donc tous ceux qui veulent sérieusement « jouer » avec un smartphone auront la possibilité de faire demi-tour. Pour installer un package, appuyez simplement sur son nom et sur l'écran suivant contenant des informations sur l'application, cliquez sur le bouton « Installer ».

Danser avec des tambourins

Si vous rencontrez des problèmes avec le bootstrap de BotBrew, vous pouvez essayer de l'installer manuellement à l'aide de la commande suivante :

Wget http://repo.botbrew.com/anise/bootstrap/install.sh -O - | su
Si cela ne résout pas le problème, vous pouvez essayer de supprimer toutes les installations (« Supprimer BotBrew » dans les paramètres), puis essayer d'exécuter cette commande.

Après cela, le package apparaîtra dans l'onglet « Installé », mais vous ne verrez aucun bouton « Exécuter » ou quoi que ce soit de ce genre. L'application devra être lancée indépendamment de la console, ce qui est pourtant logique. L'application elle-même est installée dans la structure de répertoires /data/botbrew, dans laquelle l'environnement réel de la distribution Linux avec les répertoires /etc, /usr et autres est « émulé ». Et afin de ne pas tourmenter les utilisateurs avec la nécessité de saisir le chemin complet de la commande, les développeurs de BotBrew ont fourni une commande wrapper du même nom. Pour l'utiliser pour lancer, par exemple, le navigateur de la console Lynx installé, vous devez taper la commande suivante :

$ botbrew lynx http://xakep.ru
Alternativement, le répertoire /data/botbrew/bin peut être ajouté à la variable d'environnement PATH, mais cela devra être fait après chaque démarrage du terminal :

$ export PATH="$PATH:/data/botbrew/bin"
À propos, les choses vont bien mieux avec les démons et divers services réseau. Après le démarrage, les démons seront lancés immédiatement et vous pourrez contrôler leur inclusion via l'interface graphique, accessible en cliquant sur le bouton « Play » en bas de l'interface de BotBrew. Certaines applications peuvent nécessiter la création d'utilisateurs supplémentaires et la modification de leurs paramètres, cela peut être fait de la même manière que sur un système Linux classique :

  1. Création d'un utilisateur :
    $ utilisateur d'ajout de botbrew Vasya
  2. Ouverture de l'accès Internet à l'utilisateur :
    $ botbrew addgroup vasya inet
  3. Basculez BotBrew vers un autre utilisateur :
    $ botbrew su Vasya
Veuillez noter que toutes ces modifications affecteront uniquement l'environnement virtuel BotBrew et n'affecteront en aucun cas le système principal. La console peut également être utilisée pour installer des applications en contournant l'interface graphique. Pour ce faire, vous devez utiliser le gestionnaire de packages de console Opkg, dont la syntaxe de commande est entièrement compatible avec apt-get :

$ botbrew opkg installer dropbear
Opération inverse :

$ botbrew opkg supprimer dropbear
Pour rester « à la pointe du progrès », le référentiel BotBrew doit être mis à jour de temps en temps en cliquant sur le bouton correspondant dans interface graphique(on ne peut le confondre avec rien). Les nouvelles versions des packages seront affichées dans l'onglet "Mise à niveau". Appuyez simplement sur son nom et cliquez sur « Mettre à niveau ».

Basilic BotBrew

Vous pouvez également trouver sur le marché une application appelée BotBrew Basil, qui est marquée comme expérimentale. Essentiellement, il s'agit toujours du même BotBrew, mais avec une différence très importante. Au lieu de ses propres référentiels et du gestionnaire de packages Opkg, il utilise les référentiels Debian Linux ARM et le gestionnaire de packages apt-get. Cela signifie que la quantité de logiciels pouvant être installés à l’aide de la « version brésilienne » de l’application est bien plus importante. Dix fois plus.

En plus d'utiliser les référentiels Debian, Basil propose également une interface légèrement modifiée. Par exemple, immédiatement après le lancement, il vous invite à sélectionner un répertoire d'installation. La valeur par défaut est /data/botbrew-basil, ce qui, à mon avis, est assez logique, mais vous pouvez en choisir une autre, y compris sur la partition ext2 de la carte mémoire (FAT ne fonctionnera pas).

La deuxième différence importante est la possibilité de choisir comment utiliser l'application, qui apparaît immédiatement après avoir cliqué sur « Procéder ». Il y a quatre options ici :

  1. Utilisez BotBrew sur la ligne de commande - essentiellement un analogue d'installation dans le style de BotBrew classique.
  2. Utilisez le système dpkg/APT - installation avec les référentiels apt-get et Debian. Option d'installation recommandée.
  3. Exécuter des programmes Python - analogue à la première option avec installation automatique Python.
  4. Installez une Debian minimale - installation minimaliste de Debian.
Permettez-moi d'expliquer les deuxième et quatrième points. Le premier BotBrew et le premier élément de cette liste ne font rien d'autre qu'installer un système Linux minimaliste (composé de seulement quelques commandes et bibliothèques), dans lequel le logiciel Linux est lancé. Cependant, apt-get, contrairement à Opkg minimaliste, nécessite plus ou moins installation complète Linux. Ainsi, en sélectionnant la deuxième option, vous obtiendrez une sorte de micro-Linux sur votre smartphone. Et si on peut installer une microversion, pourquoi ne pas installer une distribution plus ou moins complète. C'est pourquoi il y a un quatrième point.

Après le démarrage de BotBrew Basil, la même interface de gestion de l'installation de l'application, qui nous est familière depuis la version classique de l'application, apparaîtra à l'écran et la commande botbrew2 apparaîtra dans le système, avec laquelle vous pourrez lancer le logiciel. Il n'y a pas de différences significatives dans la gestion ici, à l'exception peut-être de la commande apt-get au lieu de opkg et de la possibilité de connecter des référentiels supplémentaires (y compris le premier référentiel BotBrew) directement via l'interface d'installation de l'application.

Prenons les choses en main

Les applications précompilées et les référentiels pré-packagés sont excellents, mais que se passerait-il si demande requise pas disponible pour l'installation ? Après tout, même le même BotBrew Basil, qui vous permet de connecter des référentiels Debian avec une énorme quantité de logiciels, en raison de sa nature expérimentale, ne fonctionnera pas sur tous les smartphones.

Dans ce cas, nous pouvons essayer de construire l’application nous-mêmes. Cependant, plusieurs difficultés nous attendent ici : le fait est que pour construire un logiciel pour smartphone, il faudra préparer les outils de compilation croisée nécessaires, puis prendre en compte toutes les dépendances de l'application en cours d'assemblage, et, enfin, dans certains cas, ajouter Les changements nécessaires en code. Ce sont toutes des questions plutôt délicates sur lesquelles il ne vaut guère la peine de perdre du temps.

Cependant, nous pouvons utiliser le travail d’autres personnes pour automatiser le processus de création de logiciels. L'une des solutions les plus développées et les plus intéressantes dans ce domaine est un ensemble de scripts SCRIPTSET, développé par l'utilisateur smitna de XDA Developers. Il vous permet d'assembler littéralement une grande variété d'applications en seulement quelques commandes, notamment htop, ImageMagick, iptables, ELinks, Screen, mc, node.js, Samba, strace, QEMU, Parted, SANE (il peut être utilisé pour impression directe sur une imprimante avec téléphone !) et bien d'autres. Le script lui-même téléchargera le compilateur croisé, toutes les dépendances et applications nécessaires, appliquera les correctifs si nécessaire et générera une archive prête à être décompressée sur le téléphone.

SCRIPTSET ne fonctionne que sous Linux, mais si vous disposez de Windows, vous pouvez installer Ubuntu sur machine virtuelle. Ensuite, vous devez ouvrir un terminal et installer les outils nécessaires pour construire le compilateur croisé :

$ sudo apt-get install build-essential cmake autoconf2.13 scons
Après cela, vous pouvez récupérer le SCRIPTSET lui-même et le décompresser :

$ cd ~ $ wget http://goo.gl/zvnom -O scriptset-2.6.zip $ décompresser scriptset-2.6.zip
Suite au déballage, nous recevrons... une autre archive : scriptset-2.6.tar.bz2. Mais ce n'est pas tout, l'archive est packagée sans le répertoire racine traditionnel de tar, vous devez donc la créer vous-même. Et déjà déballer dedans :

$ jeu de scripts mkdir $ jeu de scripts cd $ tar -xjf ../scriptset-2.6.tar.bz2

Après déballage, plusieurs scripts, configurations, ainsi que des tailles impressionnantes apparaîtront dans le répertoire fichier README, contenant des instructions pour l'utilisation des scripts. Les scripts n'ont pas de bit d'exécution (ce qui n'est pas surprenant compte tenu des problèmes précédents), vous devez donc le définir vous-même :

$ chmod 755 *.sh

# vi ~/scriptset/configuration.conf // Répertoire d'installation des applications sur le smartphone TARGET_SYSROOT="/data/sysroot" // Processeur cible TARGET_MARCH="armv7-a" TARGET_MTUNE="cortex-a9" TARGET_MFPU="neon" TARGET_MFLOAT =" softfp"

Cela suffira pour construire correctement n’importe quelle application ; le processeur cible sera le standard ARMv7 avec ensemble supplémentaire Instructions NÉON. Ceci est installé sur n’importe quel smartphone commercialisé au cours des trois à quatre dernières années. Le répertoire /data/sysroot servira à installer les applications sur le smartphone, cependant, curieusement, il faudra également le créer sur la machine de bureau :

$ sudo mkdir -p /data/sysroot $ sudo chown user:users /data/sysroot $ sudo chmod 777 /data/sysroot
Comme l'explique l'auteur des scripts, cette action est nécessaire car les chemins d'accès aux répertoires clés de certaines applications sont intégrés dès la phase de construction. Par conséquent, si nous devions créer une application en utilisant le répertoire actuel et tout autre répertoire comme racine, cela ne fonctionnerait tout simplement pas sur un smartphone en raison des différences de chemins. Je suis sûr qu'il serait plus correct de résoudre ce problème en utilisant chroot, mais il est plus facile et plus rapide de créer le répertoire souhaité et de le supprimer une fois terminé.

Ensuite, nous devons indiquer la liste des candidatures que nous envisageons de collecter. Pour ce faire, ouvrez le fichier package_selection.conf et remplacez non par oui dans les options nécessaires. Par exemple, pour créer bash, ImageMagick et Screen, vous devez modifier les trois lignes suivantes :

# vi ~/scriptset/package_selection.conf BASH=oui IMAGEMAGICK=oui SCREEN=oui
Gardez à l’esprit que les paramètres entre les lignes # ALWAYS NEEDED ne peuvent pas être modifiés. Ces applications et bibliothèques sont toujours nécessaires et sans elles, d'autres applications ne peuvent tout simplement pas être créées. Vous pouvez maintenant compiler les applications. Pour ce faire, exécutez simplement le script build.sh sans arguments :

$./build.sh
Si tous les packages nécessaires ont été installés et que le compilateur n'a généré aucune erreur lors de la construction, à la suite de la construction, deux archives apparaîtront dans le répertoire courant : cs-sysroot.tar.bz2 et android-mysysroot.tar.bz2. Le premier est l'environnement nécessaire à l'exécution des applications, créé par le compilateur croisé, et le second est l'ensemble des applications lui-même. Ces deux archives doivent être transférées sur la carte mémoire du smartphone, puis, en exécutant un émulateur de terminal ou en vous connectant via ADB, exécutez deux commandes :

$ tar xjf /sdcard/cs-sysroot.tar.bz2 $ tar xjf /sdcard/android-mysysroot.tar.bz2
De ce fait, le répertoire /data/sysroot apparaîtra dans la mémoire interne du smartphone, dans lequel se trouveront les applications. Ils doivent être lancés depuis le même terminal, en indiquant le chemin complet. Par exemple:

$ /data/sysroot/usr/bin/bash
Eh bien, ou après avoir démarré le terminal, ajoutez /data/sysroot/usr/bin au PATH :

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

conclusions

Malgré les différences assez sérieuses entre Android et une distribution Linux typique, installer des applications console Linux sur un smartphone n'est pas si difficile. Malheureusement, oh applications graphiques il n'y a pas encore de discussion, mais des projets de portage de la bibliothèque Qt et du serveur graphique Wayland vers Android déjà il y en a, et j’espère que nous trouverons bientôt une solution efficace.


Publié pour la première fois dans le magazine Hacker, 08/2013.

Instructions détaillées pour convertir tout appareil fonctionnant sous Contrôle Android, V ordinateur à part entière basé sur Linux.

Exécuter Linux sur Android, c’est possible ! Et vous n'avez pas besoin d'un appareil avec les droits root pour cela : tous les logiciels nécessaires sont disponibles dans boutique officielle Jeu de Google. En seulement 10 à 15 minutes, vous pouvez obtenir un système d'exploitation qui diffère d'Android par ses fonctionnalités avancées.

Note: si vous suivez nos instructions, le système d'exploitation Linux fonctionnera environnement virtuel. Android fonctionnera toujours en arrière-plan. Il serait incorrect de qualifier un tel système de complet. Néanmoins, il s'acquitte bien d'une liste de tâches standard.

Veuillez tout fermer avant l'installation. candidatures requises et propre RAM Appareil Android.

1. Depuis le Google Play Store, installez GNURoot Debian et XServer XSDL.

2. Avant de commencer à installer Linux, assurez-vous que votre appareil est connecté à un réseau stable. Réseaux Wi-Fi. Lancez GNUroot. Le téléchargement des packages d'environnement requis commencera.

L'installation prend de 30 secondes à plusieurs minutes selon la vitesse de votre connexion Internet. Ignorez les tickers jusqu'à ce que le message suivant apparaisse :

racine@localhost :/#

Ceux qui connaissent la notion de « droits root » ne devraient pas être effrayés par cette ligne : l'application ne causera aucun dommage à l'appareil, puisqu'elle fonctionne dans un « bac à sable ».

3. Entrez la commande suivante :

apt-get mise à jour

Attendez que les packages soient téléchargés. Ceci sera indiqué par la ligne Lecture des listes de packages...Terminé.

4. Entrez maintenant une autre ligne :

apt-get mise à niveau

À la question « Faire tu veux continuer?" entrer lettre anglaise O et appuyez sur Entrée. L'installation des packages va commencer.

Cette fois, la procédure d'installation prendra un peu plus de temps. Attendez patiemment la fin de l'installation jusqu'à ce que la ligne tant convoitée apparaisse :

racine@localhost :/#

L'environnement Debian Linux est installé et vous pouvez maintenant procéder au déploiement du shell graphique.

5. L'installation de tous les packages de distribution Linux s'effectue avec la commande suivante :

apt-get installer lxde

Il existe également une option pour installer le noyau système en utilisant la ligne :

apt-get installer lxde-core

Confirmez l'installation en saisissant à nouveau Y et en appuyant sur Entrée. Le processus de téléchargement du package commencera.

Lors de l'installation, assurez-vous que tous les fichiers ont été téléchargés avec succès et que lors du déballage, votre appareil ne manque pas d'espace libre. DANS sinon le démarrage du système échouera.

6. Pour terminer l'installation système opérateur Vous devez télécharger trois utilitaires supplémentaires :

  • XTerm - pour accéder au terminal depuis le shell graphique Linux ;
  • Synaptic Package Manager - pour gérer les packages apt et télécharger des applications ;
  • Pulseaudio - pour installer les pilotes audio.

Les trois utilitaires sont installés à l'aide d'une seule commande de terminal GNURoot :

apt-get installer xterm synaptic pulseaudio

Environ 260 Mo de données seront téléchargés sur l'appareil.

7. Maintenant, réduisez l'application GNURoot et ouvrez le XServer XSDL précédemment installé. Acceptez de télécharger des polices supplémentaires. Une fois l'installation terminée, appuyez plusieurs fois sur l'écran (l'application vous demandera de sélectionner la résolution et la taille de la police - tout dépend de vos préférences) jusqu'à ce que vous voyiez un écran de démarrage avec un fond bleu et du texte blanc.

Relancez GNURoot et entrez successivement les deux commandes suivantes :

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

La séquence pour redémarrer davantage le système (lorsque vous souhaitez rouvrir Linux) ressemble à ceci : démarrez XServer XSDL et attendez que l'écran bleu apparaisse, ouvrez GNURoot et entrez les deux commandes ci-dessus, revenez à XServer XSDL.

Si le terminal se plaint d'une commande non valide, revenez à l'étape 5 de ces instructions et essayez d'installer un noyau nu. Vérifiez l'état de la mémoire de votre appareil Android.

8. Maintenant, ouvrez XServer XSDL, attendez quelques secondes et Linux sera prêt à fonctionner.

Pour installer des applications, dans le coin inférieur gauche, ouvrez le menu Démarrer et sélectionnez Exécuter. Tapez Synaptic et appuyez sur Entrée.

Dans la fenêtre qui s'ouvre, utilisez la recherche et installez les applications nécessaires. Il pourrait être Navigateur Firefox, éditeur d'images GIMP, suite bureautique Libre et autres programmes compatibles Linux.

Bien entendu, cette option d'installation de Linux ne peut pas être appelée lancement complet système d'exploitation sur Android. Linux virtuel a plusieurs limites, mais lorsqu'il est utilisé souris sans fil et clavier (il est également possible de se connecter à l'aide d'un adaptateur OTG et d'un hub USB), vous pouvez transformer votre smartphone ou votre tablette en ordinateur portable avec les fonctionnalités d'un système d'exploitation adulte.

Dans cet article, nous vous expliquerons en détail comment installer Linuxà un appareil Android. Pour l'installation et travail à part entière Pour un système alternatif, vous aurez besoin de : un smartphone ou une tablette, un émulateur logiciel, des droits root et plusieurs gigaoctets d'espace libre.

1.Installation applications installateur Linux complet

Entrez dans le menu recherche Google Jouez le mot « émulateur » et obtenez une liste de plusieurs dizaines utilitaires identiques. Ils sont tous bons, mais nous nous sommes concentrés sur l’application Complete Linux Installer. Il est entièrement gratuit, parfaitement localisé et doté d'instructions détaillées pour les débutants.

Le programme peut être téléchargé depuis http://goo.gl/5C6Xa. L'algorithme d'installation de Complete Linux Installer n'est pas différent de l'installation de tout autre logiciel, nous ne nous attarderons donc pas sur ce point.

2. Travailler avec l'application Complete Linux Installer

Avant de commencer à travailler avec le programme, je voudrais souligner une fois de plus : ce que nous décrivons dans cet article n'est pas d'installer Linux à la place. Android, mais émulation du fonctionnement d'un système dans un autre.

Nous lançons donc l'application et acceptons d'installer des composants logiciels supplémentaires. C'est en travaillant avec ces modules que vous faciliterez par la suite l'utilisation du système d'exploitation Linux.

Comme mentionné précédemment, Complete Linux Installer nécessite les droits root pour fonctionner pleinement, ce que l'application vous rappellera dans une fenêtre contextuelle. Nous fournissons le programme accès total aux fonctions système de l'appareil mobile.

Ceci termine la préparation initiale de l'émulateur pour le travail. Le menu principal de l'application s'ouvrira devant vous. Accédez au sous-élément « Guide d'installation ».

L'émulateur analysera le matériel de votre gadget et affichera une liste des systèmes d'exploitation dont le fonctionnement est garanti sur votre appareil. appareil mobile. Nous choisissons Ubuntu 13.10 comme exemple.

A partir de ce moment, le programme commence à vous « guider » à travers les étapes d'installation du système d'exploitation, en accompagnant chacune action requise Instructions détaillées. Par exemple, après avoir lu les exigences de l'émulateur dans la première étape, assurez-vous d'installer « Terminal » et « VNCViewer » dans la seconde. Seulement après cela, sélectionnez « Télécharger l'image ».

Lisez la description des différences entre les distributions du système d'exploitation Linux et choisissez celle dont vous avez besoin.

Créer à la racine stockage externe dossier gadget avec le nom du futur système. Cela permettra au programme de trouver beaucoup plus facilement les fichiers nécessaires. Dans notre cas, nous créons le répertoire « ubuntu ». Décompressez l'archive téléchargée dans ce dossier.

En conséquence, deux fichiers devraient apparaître dans le répertoire « ubuntu ». L’un d’eux est avec l’extension .img. C'est l'image du système Linux en cours de lancement.

Après avoir terminé ces étapes, accédez au sous-élément « Lancer » du menu principal de Complete Linux Installer et cliquez sur le menu auxiliaire « Paramètres » à droite. coin supérieur fenêtre. En sélectionnant l'option «Modifier», fournissez à l'application le chemin complet vers fichier exécutable systèmes. Confirmez votre choix en cliquant sur le bouton « Enregistrer les modifications ».

Ceci termine la prochaine étape d'installation d'un système d'exploitation alternatif dans la mémoire de votre gadget. N'hésitez pas à sélectionner l'option « Exécuter Linux ».

L'application lancera un terminal en arrière-plan pour exécuter des commandes de test et demander un accès root aux fonctions système de l'appareil. Nous le permettons.

Désormais, votre smartphone ou tablette pourra fonctionner comme un émulateur du système d'exploitation Linux et vous aurez accès à toutes les capacités du système d'exploitation avec un pingouin sur le logo - de l'exécution de commandes simples dans le terminal à l'installation d'un logiciel complet. environnement graphique à part entière. L'installation de Linux sur Android est terminée.

Exécuter Linux sur Android, c’est possible ! Et vous n'avez pas besoin d'un appareil avec les droits root pour cela : tous les logiciels nécessaires sont disponibles dans la boutique officielle Google Play. En seulement 10 à 15 minutes, vous pouvez obtenir un système d'exploitation qui diffère d'Android par ses fonctionnalités avancées.

Note: si vous suivez nos instructions, le système d'exploitation Linux fonctionnera dans un environnement virtuel. Android fonctionnera toujours en arrière-plan. Il serait incorrect de qualifier un tel système de complet. Néanmoins, il s'acquitte bien d'une liste de tâches standard.

Avant l'installation, fermez toutes les applications inutiles et effacez la RAM de votre appareil Android.

1. Depuis le Google Play Store, installez GNURoot Debian et XServer XSDL.

2. Avant de commencer à installer Linux, assurez-vous que votre appareil est connecté à un réseau Wi-Fi stable. Lancez GNUroot. Le téléchargement des packages d'environnement requis commencera.

L'installation prend de 30 secondes à plusieurs minutes selon la vitesse de votre connexion Internet. Ignorez les tickers jusqu'à ce que le message suivant apparaisse :

racine@localhost :/#

Pour ceux qui connaissent le concept de « », ne vous laissez pas effrayer par cette ligne : l’application ne causera aucun dommage à l’appareil, puisqu’elle fonctionne dans un « bac à sable ».

3. Entrez la commande suivante :

apt-get mise à jour

Attendez que les packages soient téléchargés. Ceci sera indiqué par la ligne Lecture des listes de packages...Terminé.

4. Entrez maintenant une autre ligne :

apt-get mise à niveau

À la question « Voulez-vous continuer ? » entrez la lettre anglaise Y et appuyez sur Entrée. L'installation des packages va commencer.

Cette fois, la procédure d'installation prendra un peu plus de temps. Attendez patiemment la fin de l'installation jusqu'à ce que la ligne tant convoitée apparaisse :

racine@localhost :/#

L'environnement Debian Linux est installé et vous pouvez maintenant procéder au déploiement du shell graphique.

5. L'installation de tous les packages de distribution Linux s'effectue avec la commande suivante :

apt-get installer lxde

Il existe également une option pour installer le noyau système en utilisant la ligne :

apt-get installer lxde-core

Confirmez l'installation en saisissant à nouveau Y et en appuyant sur Entrée. Le processus de téléchargement du package commencera.

Lors de l'installation, assurez-vous que tous les fichiers ont été téléchargés avec succès et que lors du déballage, votre appareil ne manque pas d'espace libre. Sinon, le démarrage du système échouera.

6. Pour terminer l'installation du système d'exploitation, vous devez télécharger trois utilitaires supplémentaires :

  • XTerm - pour accéder au terminal depuis le shell graphique Linux ;
  • Synaptic Package Manager - pour gérer les packages apt et télécharger des applications ;
  • Pulseaudio - pour installer les pilotes audio.

Les trois utilitaires sont installés à l'aide d'une seule commande de terminal GNURoot :

apt-get installer xterm synaptic pulseaudio

Environ 260 Mo de données seront téléchargés sur l'appareil.

7. Maintenant, réduisez l'application GNURoot et ouvrez le XServer XSDL précédemment installé. Acceptez de télécharger des polices supplémentaires. Une fois l'installation terminée, appuyez plusieurs fois sur l'écran (l'application vous demandera de sélectionner la résolution et la taille de la police - tout dépend de vos préférences) jusqu'à ce que vous voyiez un écran de démarrage avec un fond bleu et du texte blanc.

Relancez GNURoot et entrez successivement les deux commandes suivantes :

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

La séquence pour redémarrer davantage le système (lorsque vous souhaitez rouvrir Linux) ressemble à ceci : démarrez XServer XSDL et attendez que l'écran bleu apparaisse, ouvrez GNURoot et entrez les deux commandes ci-dessus, revenez à XServer XSDL.

Si le terminal se plaint d'une commande non valide, revenez à l'étape 5 de ces instructions et essayez d'installer un noyau nu. Vérifiez l'état de la mémoire de votre appareil Android.

8. Maintenant, ouvrez XServer XSDL, attendez quelques secondes et Linux sera prêt à fonctionner.

Pour installer des applications, dans le coin inférieur gauche, ouvrez le menu Démarrer et sélectionnez Exécuter. Tapez Synaptic et appuyez sur Entrée.

Dans la fenêtre qui s'ouvre, utilisez la recherche et installez les applications nécessaires. Il peut s'agir du navigateur Firefox, de l'éditeur d'images GIMP, de la suite bureautique Libre et d'autres programmes compatibles Linux.

Bien entendu, cette option d'installation de Linux ne peut pas être qualifiée de lancement à part entière du système d'exploitation sur Android. Virtual Linux a plusieurs limitations, mais si vous utilisez une souris et un clavier sans fil (éventuellement connectés avec un adaptateur OTG et un hub USB), vous pouvez transformer votre smartphone ou votre tablette en un ordinateur portable doté des fonctionnalités d'un système d'exploitation adulte.