Accueil  -  RSS  -  Twitter  -  Wiki  -  FAQ  -  Rechercher  -  Vérification messages privés  -  Connexion  -  Enregistrement

[Tuto] Debian sur magic

 
Poster un nouveau sujet   Répondre au sujet    SPF Index du Forum -> HTC Magic
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
angenoir66
Utilisateur néophyte


Inscrit le: 08 Juin 2009
Messages: 8

 #1 MessagePosté le: 25/06/2009 09:40    Sujet du message: [Tuto] Debian sur magic Répondre en citant

Bonjour à tous,
Voici un petit tutoriel pour utiliser debian sur HTC Magic. Il est plus que grandement inspiré de la manipulation de saurik pour le G1 disponible à l'url suivante:
http://www.saurik.com/id/10
Vive Saurik! Vive Haykuro! Et Vive Christophe de SPF!

Première étape : Créer l'image debian
(NB: Les commentaires commencent par ##, ne les tapez donc pas en console...)

Code:

## créer le répertoire de travail dans votre home directory
mkdir ~/debianMagic && cd ~/debianMagic

## installer debootstrap
apt-get install debootstrap

## Créer le fichier qui hébergera la partition debian
## Ici il fera 750Mo, perso j'en ai fais un de 1Go.
## Jouez avec le paramètre seek afin de lui faire prendre la taille qui vous convient
dd if=/dev/zero of=debian.img seek=749999999 bs=1 count=1

## Faire un système de fichier ext2 dans la partition
mke2fs -F ./debian.img

## Mounter la partition
mkdir ./debianMnt && sudo mount -o loop ./debian.img ./debianMnt

## Utiliser debbootstrap afin de creer une architecture debian de base
debootstrap --verbose --arch armel --foreign lenny debian http://ftp.de.debian.org/debian

## Démonter la partition
umount ./debian


Creez le fichier ~/debian/debian.sh en y collant le contenu suivant:
Code:

#!/system/bin/sh

if [[ -d /data/local/mntmp/bin ]]
        then echo "fs debian deja mounté"
    else
        echo "mount du fs de debian"
        LOOP=`losetup -f`
        losetup $LOOP /sdcard/debian/debian.img
        mount -t ext2 $LOOP /data/local/mntmp/
fi

export PATH=$PATH:/bin:/usr/bin:/usr/sbin:/data/local/bin
export TERM=linux
export HOME=/root
## ajout pour X11
export USER=root

chroot /data/local/mntmp /bin/bash


Puis envoyons ce fichier sur notre android et modifions les droits d'exécution dans la foulée:
Code:

adb shell mkdir /data/local/bin
adb push ~/debian/debian.sh /data/local/bin/debian.sh
adb shell chmod 755 /data/local/bin/debian.sh


Ensuite, il va nous falloir enregistrer l'image créée sur notre android. Soit en mountant la sd, soit par "adb push", soit en utilisant un lecteur de carte µsd... Libre à vous.
Pour la suite de ce tutoriel je vais prendre en compte que vous avez enregistré l'image dans un dossier debian à la racine de la carte. Ce qui correspond donc à /sdcard/debian/debian.img une fois la carte remonté sous android.

Pour les utilisateurs de la rom SPF de Christophe, pas de soucis le driver ext2 est en dur dans le noyau. Pour les autres... Bon courage, je n'ai pas personnellement pas réussi à le cross-compiler.

Les commandes suivantes se déroulent sous "adb shell" en mode interactif. Lancez "abd shell" sans arguments.

Commençons par exporter quelques variables d'environnement utiles pour la suite des manips.
Code:

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


Créer le point de montage:
Code:
mkdir /data/local/mntmp/


Mounter l'image en loopback:
Code:

LOOP=`losetup -f`
losetup $LOOP /sdcard/debian/debian.img
mount -t ext2 $LOOP /data/local/mntmp/


Puis se chrooter dedans:
Code:
chroot /data/local/mntmp/ /bin/bash


Il faut ensuite finaliser l'installation de debian, depuis le chroot.
Code:
/debootstrap/debootstrap --second-stage

Cela va mouliner un moment, le temps de prendre un café

Une fois cette etape terminée, nous allons compléter les sources de debian:
Code:
echo 'deb http://ftp.de.debian.org/debian lenny main'>/etc/apt/sources.list


Ensuite montez quelques partitions systèmes nécessaires au bon fonctionnement de debian:
Code:

mount -t devpts devpts /dev/pts
mount -t proc proc /proc
mount -t sysfs sysfs /sys


ET VOILA! Votre debian est d'ore et déjà fonctionnelle.
Je vous conseille cependant de modifier quelques fichiers afin de la rendre bien plus pratique.

/root/.bashrc
Code:

export PS1='\h:\w\$ '
umask 022

export PATH=/sbin:/system/sbin:/system/bin:/system/xbin:/system/xbin/bb:/bin:/usr/bin:/usr/sbin
export TERM=linux
export HOME=/root
## ajout pour X11
export USER=root

PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]$ '

##autocompletion
if [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
fi

##nettoyage de l'historique
export HISTCONTROL=ignoredups
export HISTCONTROL=ignoreboth

##maj de la taille du shell
shopt -s checkwinsize


/etc/fstab
Code:

mount -t devpts devpts /dev/pts
mount -t proc proc /proc
mount -t sysfs sysfs /sys


Vous pouvez aussi installer ssh, afin de vous logguer depuis votre ordi simplement, et avoir un shell qui ne part pas en sucette des qu'on utilise les touches directionnelles.
Code:

## mise en place d'un mot de passe pour root
passwd
## installation de ssh
/usr/bin/apt-get update
/usr/bin/apt-get install ssh
/etc/init.d/ssh restart

Si comme moi, le lieu où vous êtes filtre les connections ssh sortantes mais que vous voulez malgré tout bidouiller, vous pouvez rediriger un port de votre machine vers androidvia adb
Code:
adb forward tcp:10001 tcp:22

Il vous suffiraensuite de faire
Code:
ssh root@localhost -p 10001

Vous pouvez même créer un tunnelssh, afin de faire du thetering sans aucune application.
Vous n'êtes plus désormais freiné que par votre imagination ^^

Vous pourrez lancer facilement votre debian en lançant le script
Code:
/data/local/bin/debian.sh


NB: La page de Saurik ( http://www.saurik.com/id/10 ) propose d'autres manipulations sympathiques, comme par exemple utiliser les commandes debian depuis le shell android via unionfs, personnellement je préfère éviter afin de laisser les données séparées en cas de hack)



pour avoir un serveur x:
sur l'android
Code:

apt-get install tightvncserver lxde
export USER=root
vncserver -geometry 480x320


dur la machine cliente:
Code:

./adb forward tcp:10002 tcp:5900
./adb forward tcp:10003 tcp:5901


Il suffit ensuite de lancer le client vnc en lui donnant l'adresse 127.0.0.1 et le port 10002


Dernière édition par angenoir66 le 25/06/2009 10:53; édité 1 fois
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
brabinder
Utilisateur avancé


Inscrit le: 10 Mai 2009
Messages: 136
Localisation: Orleans

 #2 MessagePosté le: 25/06/2009 09:55    Sujet du message: Répondre en citant

Geek ?? +1
Joli tuto Very Happy
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
luo
Visiteur en Or


Inscrit le: 26 Mai 2009
Messages: 2201

 #3 MessagePosté le: 25/06/2009 11:20    Sujet du message: Répondre en citant

Tout d'abord merci pour le tuto, et dans mes roms Ion, le support ext2 est coché en kernel, et les drivers ext2 sont inclus aussi.

Pour cross compiler ton kernel :

http://wiki.smartphonefrance.info/Compiler%20ton%20kernel%20Android%20pour%20HTC%20Magic.ashx

C'est par ici, pour les drivers ext2, tu les prends dans la rom de Christophe ou JesusFreke, avant que je fasse la doc pour les compiler.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
zaraki
Visiteur en Or


Inscrit le: 09 Juin 2009
Messages: 2549
Localisation: Autour de Paris :D

 #4 MessagePosté le: 25/06/2009 12:14    Sujet du message: Répondre en citant

trop bon , merci Wink
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur MSN Messenger
vilraleur
Utilisateur fidèle


Inscrit le: 29 Mai 2009
Messages: 963
Localisation: Bordeaux

 #5 MessagePosté le: 25/06/2009 12:39    Sujet du message: Répondre en citant

question bête ...
On peut téléphonner avec au moins ?
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
brabinder
Utilisateur avancé


Inscrit le: 10 Mai 2009
Messages: 136
Localisation: Orleans

 #6 MessagePosté le: 25/06/2009 12:44    Sujet du message: Répondre en citant

Je pense pas. Peut etre avec skype
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
angenoir66
Utilisateur néophyte


Inscrit le: 08 Juin 2009
Messages: 8

 #7 MessagePosté le: 25/06/2009 19:41    Sujet du message: Répondre en citant

Merci à tous pour vos commentaires sympas Smile
Alors oui on peux téléphoner, debian est uniquement chrooté, donc il se lance en surcouche d'android si on veut. Toutes les fonctions d'android sont toujours existantes (le téléphone entre autre).
Par contre si vous lancer un serveur X, il consomme beaucoup de ressources, du coup le temps que le téléphone se mette à sonner... vous risquez de louper vos appels.
Mais si vous vous contentez de vous chrooter dans debian pour lancer le serveur ssh, ou votre client mail en console, votre agrégateur de flux en console, votre client d'im en console, etc etc etc
Ça ne consommera quasiment rien Smile Et toutes les autres fonctions seront aussi réactives qu'à l'ordinaire.
Et vous pouvez toujours tester swapper (petit utilitaire pour les users roots qui permet de créer et allouer un fichier de swap super facilement sur la µsd, en raccourcissant potentiellement sa durée de vie à cause des ecritures multiples, ok... Mais c'est beau la réactivité accrue que cela procure à un android bien chargé)
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
zaraki
Visiteur en Or


Inscrit le: 09 Juin 2009
Messages: 2549
Localisation: Autour de Paris :D

 #8 MessagePosté le: 26/06/2009 01:43    Sujet du message: Re: Répondre en citant

angenoir66 a écrit:

Et vous pouvez toujours tester swapper (petit utilitaire pour les users roots qui permet de créer et allouer un fichier de swap super facilement sur la µsd, en raccourcissant potentiellement sa durée de vie à cause des ecritures multiples, ok... Mais c'est beau la réactivité accrue que cela procure à un android bien chargé)


euh encore merci

tuer ma carte sd plus vite pour un gain de ressources assez important , ca vos le coup , une carte µsd ne coute plus tres cher ... Wink
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur MSN Messenger
brabinder
Utilisateur avancé


Inscrit le: 10 Mai 2009
Messages: 136
Localisation: Orleans

 #9 MessagePosté le: 26/06/2009 12:06    Sujet du message: Répondre en citant

A propos de swapper, si vous comptez l'utiliser, il faut arreter le swap avant de monter la sd car sinon des que vous démonterez la sd, vous aurez un message "sd corrompue voulez vous formatez ?".
Et obligation de reboot pour que tout rentre dans l'ordre
_________________
abus de F5
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
szizman
Utilisateur néophyte


Inscrit le: 26 Nov 2009
Messages: 4

 #10 MessagePosté le: 01/12/2009 03:21    Sujet du message: Répondre en citant

ya t'il eu de la nouveauté sur le sujet, je serai intéressé de faire la même.
Si certain peuvent livrer leur expérience d'install ça serai cool et vu que les poste remontent à un certain temps, il y a peut être eu une évolution supplémentaire.

merci
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    SPF Index du Forum -> HTC Magic Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1

 
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum




Serveur Virtuel 1 - Requêtes SQL : 16 - Génération page : 0.873 Secondes