UbuntuChroot

Permet d'installer et d'exécuter des programmes prévus pour Ubuntu, à partir du moment où ils ont été compilés pour l'architecture ARM.

Attention

Ceci devrait tout effacer au niveau de la Touchpad, car on recompile webOS... Donc, avant ces manips, sauvegarder ses données...

Liens

Le mémo suivant est inspiré de ces tutos :

Mémo : installation de ChrootUbuntu sur la tablette Touchpad

Utilisation de l'application MetaDoctor pour créer un webOS Doctor spécial pour Ubuntu.

1. Sur la Touchpad, sauvegarde du profil wifi et création des points de montage

Côté Touchpad

  1. Connecter la Touchpad par le cable USB (et sélectionner "Fermer" et pas "Lecteur USB").
  2. Chercher : webos20090606 et clicker sur l'icone "Developer Mode".

Côté Ubuntu (sur le PC)

  1. $ novaterm
  2. ...ce qui permet de se retrouver "root" sur la Touchpad...
    1. # uname -a
      1. ...répond, si le noyau Linux Uberkernel a été installé : Linux ...TouchPad 2.6.35-palm-tenderloin #2 SMP PREEMPT Mon Sep 26 17:19:01 HST 2011 armv7l GNU/Linux
  3. Sauvegarde du profil wifi
    1. # cp /var/preferences/com.palm.wifi/prefsDB.sl /home/root
  4. Création de points de montage
    1. # mkdir -p /media/ext3fs
      # mkdir -p /media/var

2. Sur Ubuntu (sur le PC), install de MetaDoctor et de webOS Doctor pour webOS 3.0.2

$ sudo apt-get install patch       (si patch n'est pas déjà installé)
$ sudo apt-get install git-core    (si git n'est pas déjà installé)
$ git clone git://git.webos-internals.org/tools/meta-doctor.git
$ cd meta-doctor
$ mkdir downloads
$ cd downloads
$ wget http://palm.cdnetworks.net/rom/touchpad/p302r0d08012011/wifip302rod/webosdoctorp302hstnhwifi.jar
                  (pour webOS 3.0.2, il y a également une version pour webOS 3.0.4)
$ md5sum webosdoctorp302hstnhwifi.jar       
      ce qui doit afficher : 669db17352726708486491c532a06d9d
$ mv webosdoctorp302hstnhwifi.jar webosdoctorp302hstnhwifi-3.0.2.jar
$ cd ..

2. Sur Ubuntu (sur le PC), modif du Makefile du dossier "meta-doctor"

# Uncomment the features that you wish to enable below:
# BYPASS_ACTIVATION     = 1
# BYPASS_FIRST_USE_APP  = 1
ENABLE_DEVELOPER_MODE = 1
AUTO_INSTALL_PREWARE = 1
ENABLE_BETA_FEEDS     = 1
# INSTALL_SSH_AUTH_KEYS = 1
INSTALL_WIFI_PROFILES = 1
# DISABLE_UPLOAD_DAEMON = 1
# DISABLE_UPDATE_DAEMON = 1
# DISABLE_MODEM_UPDATE  = 1
# ENABLE_USB_NETWORKING = 1
# REMOVE_MODEL_CHECK    = 1
# REMOVE_CARRIER_CHECK  = 1
# CHANGE_KEYBOARD_TYPE  = z
# ADD_EXTRA_CARRIERS    = 1
VAR_PARTITION_SIZE    = 2GB
SWAP_PARTITION_SIZE   = 512MB
EXT3FS_PARTITION_SIZE = 2GB

# Select "pre", "preplus", "pixi", "pixiplus", "pre2", "pre3", "veer" or "touchpad".
DEVICE = touchpad

# Select "wr", "sprint", "verizon", "bellmo", "telcel", "att" or "wifi".
CARRIER = wifi

3. Sur Ubuntu (sur le PC), compilation et exécution du fichier jar généré par make

$ make all
...Your custom doctor file has been created at build/touchpad-p302hstnh-wifi-3.0.2/webosdoctorp302hstnhwifi-3.0.2.jar

$ cd build/touchpad-p302hstnh-wifi-3.0.2

$ java -jar webosdoctorp302hstnhwifi-3.0.2.jar
Normalement, à ce stade, on devrait suivre les instructions de webOS Doctor...

MAIS, PB : WebOS Doctor essaye - pendant quelques minutes - de "recharger le téléphone" (alors qu'il a affaire à une Touchpad)...puis indique : "Impossible de réinitialiser votre téléphone" et s'arrête...

Solution à envisager : mettre manuellement la touchpad en mode USB (la rallumer en maintenant la bouton d'augmentation de volume enfoncé).

La suite reste à re-tester et à écrire...
...

4. Dans l'hypothèse où tout cela se serait passé sans pb, le lancement de Ubuntu sur la Touchpad s'effectuerait comme suit

  1. Xecutah
  2. XServer
  3. Xterm
  4. UbuntuChroot
    1. # apt-get install lxde (à n'exécuter que la première fois, pour installer le gestionnaire de fenêtres LXDE)
    2. # startlxde
    3. etc.

Annexes

L'application:MetaDoctor

Webos Doctor (autre URL - FAQ)

Pour Touchpad 32 Go :

Usage de novacom (s'exécute sur le PC)

usage: novacom [-a address] [-p port] [-t] [-l] [-d device] [-c cmd] [-r password] [-w] <command>
novacom [-V]
novacom [-a address] [-p port] -P[ [-f <localport:remoteport,...>] ]
options:
    -a address: ip address of the novacomd server, default is 'localhost'
    -p port: port of the novacomd server's device list port, default is 6968
    -t: go into terminal mode, for interactive use
    -s: pass signals to remote process
    -l: list devices and then exit
    -r: device password (must use with -c option)
    -c: service command [login, add, remove, logout]
          login:  opens new session
          add:    adds device token to host
          remove: remove device token from host
          logout: closes active session
    -d device: connect to specific device instead of first.
         might be <nduid>, <connection type>, <device type>
    -w: wait for device to show up before running command
    -V: version information
    -P: Port Forwarding Enabled
    -f: ports to forward

Usage du mount (du busybox de la Touchpad)

BusyBox v1.17.3 () multi-call binary.

Usage: mount [OPTIONS] [-o OPTS] DEVICE NODE

Mount a filesystem. Filesystem autodetection requires /proc.

Options:
    -a        Mount all filesystems in fstab
    -r        Read-only mount
    -w        Read-write mount (default)
    -t FSTYPE    Filesystem type
    -O OPT        Mount only filesystems with option OPT (-a only)
-o OPT:
    loop        Ignored (loop devices are autodetected)
    [a]sync        Writes are [a]synchronous
    [no]atime    Disable/enable updates to inode access times
    [no]diratime    Disable/enable atime updates to directories
    [no]relatime    Disable/enable atime updates relative to modification time
    [no]dev        (Dis)allow use of special device files
    [no]exec    (Dis)allow use of executable files
    [no]suid    (Dis)allow set-user-id-root programs
    [r]shared    Convert [recursively] to a shared subtree
    [r]slave    Convert [recursively] to a slave subtree
    [r]private    Convert [recursively] to a private subtree
    [un]bindable    Make mount point [un]able to be bind mounted
    bind        Bind a file or directory to another location
    move        Relocate an existing mount point
    remount        Remount a mounted filesystem, changing flags
    ro/rw        Same as -r/-w

There are filesystem-specific -o flags.




Vic
Page modifiée le 17 octobre 2011

Page d'accueil du site

Etre informé d'un changement de cette page

Fourni par ChangeDetection / Vie privé - Charte antispam