Aller au contenu

Ubuntu via Chroot


hiroko

Recommended Posts

Bon

Comme tout le monde l'a vu, quelqu'un (Nexus One Hacks)

a porté Ubuntu via Chrooting sur plateforme ARM...

Donc cette version d'Ubuntu par émulation doit surement être installable sur notre Milestone !

Je vais surement me lancé, je vous ferais un retour si je saute le pas.

http://nexusonehacks.net/nexus-one-hacks/how-to-install-ubuntu-on-your-nexus-oneandroid/

Voici le lien pour l'explication plus détaillé. Si des personnes sont intéressées

Edit : Raaaa impossible de telecharger le chroot au boulot...ça attendra un poil...

Modifié par hiroko
Lien vers le commentaire
Partager sur d’autres sites

  • 2 weeks later...

Bon après avoir pas mal galéré...j'ai enfin une connection vpn sur mon bureau LXDE

Si ça interesse quelqu'un, jpeux aider à aller un peu plus loin que l'étape du chroot qui posait problème.

ça bloquait à cause du driver ext2 manquant sur nos milestone et à quelques autres problèmes de permissions de dossiers...

Edit : J'ai un bureau complet !!!!!!!!!!!!!!!!!

Modifié par hiroko
Lien vers le commentaire
Partager sur d’autres sites

Félicitations ^^

Sinon je pensais que c'était juste un problème de busybox mal installé (je passe par OpenRecovery de GOT et j'ai testé plusieurs répertoire)

J'aurais pas pensé au driver ext2 car pour moi il était là vu qu'on peut utiliser app2sd qui repose sur une partition ext2 entre autres (me rappelle pas s'il y avait le choix de ext3)

Si tu as le courage pour poser les informations ça pourrait au moins m'intéresser ^^

Merci

Lien vers le commentaire
Partager sur d’autres sites

Voilà tout est bon,

en cas de souci n'hésite pas...ça va que j'avais du temps à perdre au boulot !

Alors voici dans l'ordre la liste des commandes pour lancer le terminal debian.

Ce post est à lire en connaissance de cause, en essayant de comprendre et

de faire le liens avec le poste de nexusonehacks :

http://nexusonehacks.net/nexus-one-hacks/how-to-install-ubuntu-on-your-nexus-oneandroid/

Ici je ne fait que détaillé et modifié les commandes que nexusOneHacks à mis à l'intérieur du script "bootubuntu"

Et je détaille aussi la suite.

Copie de la librairie ext2 initialement placé dans /sdcard/ubuntu:

Voir fichier en attachement ::::

mount -o remount,rw -t yaffs2 /dev/block/mtdblock6 /system

cp /sdcard/ubuntu/ext2.ko /system/lib/modules/
chmod 644 /system/lib/modules/ext2.ko

Création du répertoire d'installation:

mkdir /data/local/mnt

On passe au chose sérieuse :

Busybox doit être installer de préférence dans /system/xbin/

Voir ce lien pour récuperer la ligne de commande qui installe busybox correctement

(voir l'intérieur du script d'isntall !)

http://zedomax.com/blog/2010/07/07/android-hack-how-to-install-busybox-on-your-android/

export PATH=/usr/bin:/usr/sbin:/bin:$PATH
export TERM=linux
export HOME=/root
export USER=root

ln /dev/block/loop0 /dev/loop0
busybox insmod /system/lib/modules/ext2.ko
mount -o loop -t ext2 /sdcard/ubuntu/ubuntu.img /data/local/mnt
busybox mount -o bind /sdcard /data/local/mnt/sdcard

busybox mount -t proc none /data/local/mnt/proc
busybox mount -t sysfs sysfs /data/local/mnt/sys
busybox mount -t devpts devpts /data/local/mnt/dev/pts


Ensuite on prépare tout ce qui est configuration réseau :


busybox sysctl -w net.ipv4.ip_forward=1
echo "Setting /etc/resolv.conf to Google Open DNS 8.8.8.8 and 8.8.4.4"
echo "nameserver 8.8.8.8" > /data/local/mnt/etc/resolv.conf
echo "nameserver 8.8.4.4" >> /data/local/mnt/etc/resolv.conf
echo "Setting localhost on /etc/hosts "
echo "127.0.0.1 localhost" > /data/local/mnt/etc/hosts

et on lance le chroot

busybox chroot /data/local/mnt/ /bin/bash

NE PAS OUBLIER DE TOUT DEMONTER POUR QUITTER !

umount  /data/local/mnt/dev/pts
umount  /data/local/mnt/proc 
umount  /data/local/mnt/sys 

Voila a priori tout est bon.

Une fois que le Chroot est lancé, on a donc accès au terminal de l'image chroot.

Donc tout est permis. voici pour rapelle comment installer une interface graphique : ici LXDE.

Pour info si le terminal marche assez bien, c'est moins évident pour le gestionnaire de Session X...ça se rame un peu du *** quand même, mais bon rien d'étonnant !!!!!

PS : l'install de lxde prend pas mal de temps.

PS2 : la résolution de VNC server peut ne pas marcher...En trouver une qui marche. par exemple le 1080*800 ne marche pas sur le milestone. mais ça doit pouvoir se résoudre.

apt-get update 
apt-get install tightvncserver
apt-get install lxde 

port USER=root
vncserver -geometry 800x640

Ici Vnc server demande un mot de passe pour la connexion

Ensuite on configure le démarrage de VNC avec Cat

cat > /root/.vnc/xstartup
#!/bin/sh
xrdb $HOME/.Xresources
xsetroot -solid grey
icewm &
lxsession 

Le classique Ctrl+D deux fois de suite puis un appui sur la touche Entrée.

Voila, après avec un lecteur VNC préalablement installé sur android on peut se connecter à Vnc server

en rentrant juste le password de la connexion défini plus haut et le port : 5901 (par défaut c'est 5900!)

Par défaut il prendra la connexion en localhost normalement.

Modifié par hiroko
Lien vers le commentaire
Partager sur d’autres sites

Un poste doublon pour préciser qu'une partie des commandes doit être réalisable via un script...

Mais bon j'ai pa eu le temps de me pencher sur le problème encore...

Je rajoute aussi cette précision : sur le lecteur VNC installé sur android, il est fortement recommander de :

  • Etre patient pour l'affichage
  • Parametré le nombre de couleur : par défaut 16 couleurs...donc passé à beaucoup plus.
  • Triffouiller un peu les parametre d'affichage et de résolution pour arriver à voir correctement le bureau
  • Je recommande de mettre a l'echelle de l'écran au début pour bien tout affiché
  • Passé la souris en mode trackpad pour plus de facilité !

Voili voulou !

Modifié par hiroko
Lien vers le commentaire
Partager sur d’autres sites

Merci beaucoup Hiroko :)

Mode console Ubuntu sous la main ^^

Sinon si tu peux corriger dans ta faq cette partie :

mkdir /data/local/ubuntu/mnt

par

mkdir /data/local/mnt

J'ai pas osé pour l'instant installer la partie graphique (en plus je suis sous adb shell ^^ (copier/coller quand tu nous tiens)

Ha bah du coup en voulant couper un ping j'ai fait ctrl+x et paf retour sous le shell windows ^^

Sinon du coup pour les trois partitions faut les remonter à chaque utilisation, c'est bien ça?

En tout cas encore merci pour ce coup de main et le temps passé

Je pense que si on adapte le script bootubuntu avec tes modifications, ça devrait tout faire tout seul ^^, je le teste et fais un retour.

=> ça fonctionne ^^ je teste vnc en ce moment :p et après dodo :o) => j'ai un echec sur l'installation du client VNC, ça vient peut-être du fait qu'il nécessite d'être installé sur la sdcard, j'ai installé la 2.2 OpenBETA http://www.android-hilfe.de/root-hacking-modding-fuer-motorola-milestone/37102-openbeta-2-2-powered-dext3r-thyrus-edition-4.html hier soir juste avant :p :)

Ce que j'ai dans mon script que j'ai appelé bootlin et que j'ai posé sur la racine de la sdcard (je le lance avec : sh ./bootlin

------ mon script modifié pour /data/local/mnt (alors que j'ai adapté toute ton install pour /data/local/ubuntu/mnt) ------

mount -o remount,rw -t yaffs2 /dev/block/mtdblock6 /system
export PATH=$bin:/usr/bin:/usr/sbin:/bin:$PATH
export TERM=linux
export HOME=/root
export USER=root
busybox insmod /system/lib/modules/ext2.ko
ln /dev/block/loop0 /dev/loop0
mount -o loop -t ext2 /sdcard/ubuntu/ubuntu.img /data/local/mnt
busybox mount -o bind /sdcard /data/local/sdcard

busybox mount -t proc none /data/local/mnt/proc
busybox mount -t sysfs sysfs /data/local/mnt/sys
busybox mount -t devpts devpts /data/local/mnt/dev/pts

busybox sysctl -w net.ipv4.ip_forward=1
echo "Setting /etc/resolv.conf to Google Open DNS 8.8.8.8 and 8.8.4.4"
echo "nameserver 8.8.8.8" > /data/local/mnt/etc/resolv.conf
echo "nameserver 8.8.4.4" >> /data/local/mnt/etc/resolv.conf
echo "Setting localhost on /etc/hosts "
echo "127.0.0.1 localhost" > /data/local/mnt/etc/hosts
echo "READY TO ROCK AND ROLL BABY! "
echo "Brought to you by NexusOneHacks.net and the open source community! Brought on Milestones by Hiroko "
echo " "
chroot $mnt /bin/bash
busybox chroot /data/local/mnt/ /bin/bash

#After exit command is executed clear it all up
echo " "

echo "Shutting down Ubuntu"
umount /data/local/mnt/dev/pts
umount /data/local/mnt/proc 
umount /data/local/mnt/sys 
umount /data/local/mnt

Modifié par rpgman
Lien vers le commentaire
Partager sur d’autres sites

Ton fichier tu peux aussi le mettre dans system/bin/

avec les permissions qui vont bien...

Se sera installé en dur sur la mémoire interne, et le lancement via un terminal isntallé par le market sera plus simple

Sinon oui, le montage est obligatoire a chaque démarrage, pour ensuite le démonter à la fin (c'est assez important pour la sauvegarde de ta mémoire et de ta batterie)

Sinon pour le VNC c'est bizarre...mais fais gaffe d'avoir assez de place sur la Sdcard

Lien vers le commentaire
Partager sur d’autres sites

j'ai mis ce fichier à la racine de la SD (comme de toute façon il faut qu'elle soit dispo ^^) je l'utilise à partir de ConnectBot

Pour VNC je pense que ça vient d'OpenBeta 2.2 que j'ai installé hier soir sur ma GOT 2.38 :) => il fallait desactiver la carte SD, du coup vnc ne cherchait plus à s'installer sur celle-çi :p :)

Modifié par rpgman
Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...