Sign in to follow this  
not6

[DEV] Aller plus loin avec sa tablette Mpman !

Recommended Posts

Bonjour j'ouvre ce fil de discussion pour parler de dev sur la tablette mpman suite au conseil de Lannig.

Ce fil s'adresse plus aux bidouilleurs et aux devs qui n'ont pas peur de

briquer leur tablette :)

Plus sérieusement utilisateur lambda passer votre chemin !

Ce fil n'a pas vraiment d'intérêt pour l'utilisateur final.

NB: les commandes sont pour un environnement linux (type debian)

J'ouvre donc le bal avec la reprise de mon message précédant :

- Comment récupérer et décompiler le fichier de configuration des cartes utilisant un soc Allwinners ?

1) récupérer le fichier de conf script.bin:

en gros : on monte la partition de la nand qui contient le script.bin , on la copie en local

adb shell

> mkdir toto ; mount -r -t vfat /dev/block/nanda ./toto

./adb pull toto/script.bin mp959.bin

adb shell

> umount toto;rmdir toto

2) installer les outils sunxi-tools :

en gros: on installe les dependances , recupere les sources sur le git puis on compile.

sudo apt-get install git-core libusb-1.0-0-dev

git clone https://github.com/l...sunxi-tools.git

make

3) dé-compiler le script.bin

./bin2fex mp959.bin mp959.fex

Pour aller plus loin :

http://linux-sunxi.org/Sunxi-tools

http://linux-sunxi.org/Fex_Guide

Edited by not6

Share this post


Link to post
Share on other sites

Bon continuons un peu ,

- Comment decompacter un fichier boot.img ?

on utilise split_bootimg.pl

récupèrer le script ici : https://gist.github.com/1832541

on lui donne les droits d'execution : chmod +x split_bootimg.pl

et on l'execute :

./split_bootimg.pl boot.img
Page size: 2048 (0x00000800)
Kernel size: 8078388 (0x007b4434)
Ramdisk size: 178492 (0x0002b93c)
Second size: 0 (0x00000000)
Board name:
Command line: console=ttyS0,115200 rw init=/init loglevel=8
Base address: (0x40000000)
Writing boot.img-kernel ... complete.
Writing boot.img-ramdisk.gz ... complete.

nous obtenons donc le ramdisk et le kernel.

Décompacter le ramdisk:

mkdir ramdisk
cd ramdisk
gzip -dc ../boot.img-ramdisk.gz | cpio -i

voila ,

NB: Dans le ramdisk il ya le fichier init.sun4i.rc qui nous donne par exemple les infos des modules a charger .

exemple du init.sun4i.rc pour la mp948 :

…

#moto module
insmod /system/vendor/modules/sun4i-vibrator.ko
chown system system /sys/class/timed_output/sun4i-vibrator/enable
#insmod key & tp driver
insmod /system/vendor/modules/gt801_2plus1.ko
insmod /system/vendor/modules/gt8110_2plus1.ko
# insmod /system/vendor/modules/sun4i-keyboard.ko
# insmod mali driver
insmod /system/vendor/modules/ump.ko
insmod /system/vendor/modules/mali.ko
#csi module
insmod /system/vendor/modules/videobuf-core.ko
insmod /system/vendor/modules/videobuf-dma-contig.ko
insmod /system/vendor/modules/gc0308.ko
insmod /system/vendor/modules/gt2005-2015.ko
# insmod /system/vendor/modules/sun4i_csi1.ko
insmod /system/vendor/modules/sun4i_csi0.ko
# insmod gsensor driver
insmod /system/vendor/modules/mma7660.ko
#network module
insmod /system/vendor/modules/usbnet.ko
insmod /system/vendor/modules/asix.ko
insmod /system/vendor/modules/qf9700.ko
insmod /system/vendor/modules/mcs7830.ko
insmod /system/vendor/modules/rtl8150.ko
…

Share this post


Link to post
Share on other sites

"cpio -id" sinon il en manquera des bouts...

Share this post


Link to post
Share on other sites

@lannig , dans l'absolu oui il faut utiliser -d

-d, --make-directories

Si nécessaire, crée les répertoires de destination. Mais dans dans cet exemple précis le résultat sera exactement identique avec -i ou -id .

Share this post


Link to post
Share on other sites

Mais dans dans cet exemple précis le résultat sera exactement identique avec -i ou -id .

Effectivement le cpio (origine GNU) de Linux semble créer les sous-répertoires automatiquement, qu'on mette "-d" ou pas. Je viens de faire l'essai.

Ca n'est pas le cas de tous... donc par habitude / par précaution je le mets.

(Cf. mon profil, j'ai une petite 30aine d'années d'Unix derrière moi :) )

Share this post


Link to post
Share on other sites

@lannig oui tu as raison on est jamais trop prudent , surtout avec des systèmes différents.

moi j'utilise encore tar avec des - devant les options !

je fais jeune newbie comparé a toi, moi qui suis dans le monde unix seulement depuis 1994 :)

Bon allez un petit dernier pour la route avant 2013

Comment installer Ubuntu sur ma tablette Mpman ?

A savoir avant de commencer :

1)Cela ne sert pas a grand chose au vu de la puissance de la tablette !

2)C'est sans risque non allons l'installer sur une sd donc on ne touche pas a la NAND

3)Par défaut , le tactile n'est pas reconnu.

( il faut charger les bons modules , changer les vermagic des modules d'origines voir re-compiler un kernel pour le faire fonctionner , bref c'est faisable mais de toute façon il n'y aura pas de multitouch pris en compte... )

Donc prévoir un clavier et une souris USB.

4)Il nous faut une microSD ( qui sera complètement effacée et repartitionnée )

5)Il faut récupérer le script.bin de votre tablette ( voir post #1)

Je ne vais pas trop rentrer dans les détails mais les liens fournis vont indiquerons des tonnes

d'informations sur le dev et hack A10 en général ...

C'est parti :

insérer la MicroSd dans votre ordinateur et un petit coup de :

sudo fdisk -l pour récupérer le nom du périphérique .

Attention a bien repérer votre SD car nous allons détruire tout son contenu donc en cas

d'erreur vous pouvez perdre toutes les données de votre ordinateur !!!

ce qui donne chez moi :

Disque /dev/sdb: 7948 Mo, 7948206080 octets

donc ma carte SD c'est /dev/sdb .

Télécharger une distribution Ubuntu ici : https://www.miniand....rums/2/topics/1

Pour cet exemple je vais utiliser celle de toby :

https://www.miniand....ums/2/topics/82

Maintenant il ne reste plus que a copier l'image sur notre SD :

Attention a la partie of= il faut bien mettre le périphérique de votre carte sd détecter précédemment : pour moi /dev/sdb

dd if=linaro-alip-armhf-t4.img of=/dev/sdb

Après un temps plus ou moins long de copie , le shell nous rend la main.

dd if=linaro-alip-armhf-t4.img of=/dev/sdb

7579648+0 enregistrements lus

7579648+0 enregistrements écrits

3880779776 octets (3,9 GB) copiés, 1363,79 s, 2,8 MB/s

Il ne reste plus qu'a faire un petit coup de gparted pour redimensionner la 2eme partition

pour utiliser tout l'espace restant de la sd.

Voilà a ce point nous avons une SD contenant 2 partitions

( la 1ère commençant a l'offset 2048 (1Mo) car avant il y a le bootloader uboot et le spl pour plus d'infos voir http://rhombus-tech....ot_process/ et http://linux-sunxi.org/FirstSteps dans la section Setting up the SDCard )

La première partition contient le Kernel et le fichier de config A10.

La seconde le filesystem.

Il ne reste plus qu'a recopier le script.bin dans la première partition , le copier aussi en evb.bin (certain kernel utilise evb.bin au lieu de script.bin , donc mettre les deux dans le doute)

(pour avoir par exemple le lcd d'activé au boot et non le hdmi )

Voila il ne reste plus qu'a sortir la SD , éteindre la tablette et la redémarrer avec la SD dedans ( un reset souvent nécessaire) .

1171640440.png

Pour aller plus loin , il est possible d'activer le touchscreen ,d'installer le driver mali X11 pour l'accélération , de changer le kernel , la distrib

et même de mettre android au lieu d'ubuntu : http://jas-hacks.blo...id-from-sd.html

Sur ce , Bon Réveillon a tous .

Liens :

http://rhombus-tech.net/allwinner_a10/

http://www.cnx-softw.../tag/allwinner/

https://www.miniand....ums/development

http://linux-sunxi.org/Main_Page

http://www.linaro.org/

http://linux-sunxi.org/Mali400

Edited by not6

Share this post


Link to post
Share on other sites

Si un jour quelqu'un me trouve un moyen d'installer CWM Recovery sur une SD et booter dessus, je lui vouerai une reconnaissance éternelle... en théorie cela devrait être possible (partitionnement, installation de u-boot, création d'une partition de boot avec un recovery), mais je n'y suis pas arrivé. Et faute d'être allé faire des soudures dans une tablette pour avoir accès à la console série de debug (de toutes façons je n'ai pas le convertisseur de tension pour brancher sur un port série de PC) les moyens de debug sont limités. J'ai posté un peu partout des demandes d'infos sur des forums anglophones (dont certains que tu cites), pas eu beaucoup de réponses.

Ca serait une sécurité extraordinaire, un peu comme un CD de boot Windows (BartPE, UBCD4Win et autres).

Si le firmware interne n'est pas bootable, de toutes façons les tablettes A10/A13 essayent de booter sur la SD externe.

Je vais regarder ton lien http://jas-hacks.blo...id-from-sd.html, Not6, il pourraît me mettre sur la piste de la solution j'espère.

- Comment récupérer et décompiler le fichier de configuration des cartes utilisant un socket Allwinners ?

1) récupérer le fichier de conf script.bin:

en gros : on monte la partition de la nand qui contient le script.bin , on la copie en local

adb shell

> mkdir toto ; mount -r -t vfat /dev/block/nanda ./toto

./adb pull toto/script.bin mp959.bin

adb shell

> umount toto;rmdir toto

2) installer les outils sunxi-tools :

en gros: on installe les dependances , recupere les sources sur le git puis on compile.

sudo apt-get install git-core libusb-1.0-0-dev

git clone https://github.com/l...sunxi-tools.git

make

3) dé-compiler le script.bin

./bin2fex mp959.bin mp959.fex

Comme tout le monde n'a pas un Linux sous la main, je me suis un peu escrimé à recompiler fexc (appelé par ses alias fex2bin et bin2fex) sous Windows. J'y suis finalement arrivé, le résultat est là : https://dl.dropbox.c...exc-windows.zip

ATTENTION : on ne peut pas l'utiliser avec des redirections d'entrée/sortie (< et >) comme la version Unix, il faut obligatoirement spécifier les deux noms de fichiers (.fex et .bin). Comme les links n'existent pas sous Windows, j'ai fait un fex2bin.bat et un bin2fex.bat qui émulent cette fonctionnalité à condition que fexc.exe soit quelque part dans le %PATH% de Windows.

Personnellement je préfère utiliser fexc directement :

fexc -I bin -O fex script.bin script.fex
fexc -I fex -O bin script.fex script.bin

P.S. c'est un "SOC" (System On a Chip) pas un "socket" :)

EDIT : je viens de découvrir qu'il existe même une page web pour faire ça en ligne !

https://www.miniand.com/tools/fexc

Edited by Lannig

Share this post


Link to post
Share on other sites

Oui bien sur SoC et non pas socket , c'est corrigé ! un lapsus ca arrive même a l'écrit :)

mais bon lol au moins 1 qui suit :)

>Comme tout le monde n'a pas un Linux sous la main...

Ca c'est triste ! la vie ne dois pas être drôle tout les jours pour eux :)

Share this post


Link to post
Share on other sites

Si un jour quelqu'un me trouve un moyen d'installer CWM Recovery sur une SD et booter dessus, je lui vouerai une reconnaissance éternelle... en théorie cela devrait être possible (partitionnement, installation de u-boot, création d'une partition de boot avec un recovery), mais je n'y suis pas arrivé. Et faute d'être allé faire des soudures dans une tablette pour avoir accès à la console série de debug (de toutes façons je n'ai pas le convertisseur de tension pour brancher sur un port série de PC) les moyens de debug sont limités. J'ai posté un peu partout des demandes d'infos sur des forums anglophones (dont certains que tu cites), pas eu beaucoup de réponses.

Ca serait une sécurité extraordinaire, un peu comme un CD de boot Windows (BartPE, UBCD4Win et autres).

Si le firmware interne n'est pas bootable, de toutes façons les tablettes A10/A13 essayent de booter sur la SD externe.

Je vais regarder ton lien http://jas-hacks.blo...id-from-sd.html, Not6, il pourraît me mettre sur la piste de la solution j'espère.

@lannig regarde ici , j'ai pas testé mais cela semble corresponde .

http://linux-sunxi.org/CWM_on_a_SDCard

  • Like 1

Share this post


Link to post
Share on other sites

Mmmmhhh merci bôôÔôcoup, Not6. Effectivement c'est ce que je veux faire. Le hic c'est que cela semble bien correspondre exactement à ce que j'ai essayé - sans succès :(

Mais peut-être n'avais-je pas la bonne version de u-boot. Je rééssayerai. Merci encore.

Pour le moment je me suis lancé dans ma propre compilation de CWM Recovery. La dernière version, celle de la branche Jellybean.

Edited by Lannig

Share this post


Link to post
Share on other sites

@lannig avec le uboot+spl de tobby Suzuke's modified spl+uboot ca devrait le faire .

Moi avec ce uboot j'ai reussi a faire booter android (ma backup d'origine ) depuis la SD. (bon pas encore tres stable :) )

Donc je pense qu'avec le recovery ca peux le faire aussi.

./adb shell
root@android:/ # mount
rootfs / rootfs rw 0 0
/dev/root / ext4 rw,relatime,user_xattr,barrier=1,data=writeback 0 0
devtmpfs /dev devtmpfs rw,relatime,size=416840k,nr_inodes=104210,mode=755 0 0
tmpfs /dev tmpfs rw,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600,ptmxmode=000 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0
/dev/block/mmcblk0p8 /system ext4 rw,nodev,noatime,user_xattr,barrier=0,data=ordered 0 0
/dev/block/mmcblk0p5 /data ext4 rw,nosuid,nodev,noatime,user_xattr,barrier=0,data=ordered 0 0
/dev/block/mmcblk0p7 /cache ext4 rw,nosuid,nodev,noatime,user_xattr,barrier=0,data=ordered 0 0

Edited by not6

Share this post


Link to post
Share on other sites

@lannig avec le uboot+spl de tobby Suzuke's modified spl+uboot ca devrait le faire .

Moi avec ce uboot j'ai reussi a faire booter android (ma backup d'origine ) depuis la SD. (bon pas encore tres stable :) )

Donc je pense qu'avec le recovery ca peux le faire aussi.

Merci not6. Juste une question : pourquoi pas encore très stable ? comprends pas... si c'est le firmware d'origine et que ca boote, une fois booté je ne vois pas vraiment pourquoi ça serait moins stable que sur la flash interne ??? as-tu une idée là-dessus ?

Share this post


Link to post
Share on other sites

j'ai voulu tester (trop vite fait) le boot android depuis une SD en m'aidant du tuto de Jas Hacks : http://jas-hacks.blo...d-from-sd.html.

sauf que je me suis dit au lieu de dumper toutes les partitions de la nand ,

autant créer 4 partitions : une pour /system une pour /data une pour /cache et une pour /mnt/sdcard

et de récupérer d'une sauvegarde d'origine le system.ext4.tar / data.ext4.tar / boot.img pour pouvoir les mettre sur la SD .

j'ai récupéré l'archive http://dl.miniand.co...droid_sd.tar.gz

pour avoir les fichiers boot.scr et Uenv.txt.

que j'ai modifié pour indiquer ma partition rootfs (chez moi /dev/mmcblk0p2 la 2 partition de ma SD)

et j'ai transformé mon boot.img-kernel en uImage :

mkimage -A ARM -C none -T kernel -O linux -a 40008000 -e 40008000 -d boot.img-kernel uImage

puis modifié etc/vold.fstab et init.sun4i.rc pour commenter les actions sur la nand et monter mes partions /data /system /cache.

Sinon en fait quand je dis "pas stable" c'est pour 2 raisons principalement :

1) c'est que c'était une vielle backup mais pas celle du début ,mais celle ou j'avais essayé d'installer le market avec le tuto de tablette-tactile.net et résultat le market n'était pas fonctionnel (c'est pourquoi je suis passé a la cm9 juste après).

donc du coup impossible de lancer le market .

2 ) j'ai du me louper qq part en modifiant le vold.fstab car ma partition mmcblk0p6 n'est pas montée en /mnt/sdcard et quand je vais

dans settings/storage j'ai une erreur : unfortunaly setting has stopped.

enfin voila il faudrait que je refasse le tout tranquillement et proprement ,sinon c'est quand même stable dans le sens ou les applis et le système fonctionnent ( camera,angryb ,lectrue video/ son...) et que depuis 6h et que je n'est pas perdu une seul fois la cnx adb.

Edited by not6

Share this post


Link to post
Share on other sites

Bon j'ai recommencé mais en prennant une backup de la GTR 4.0.4 , et tout fonctionne nickel , system,apps,playstore.

ma partition mmcblk0p6 est bien montée en mnt/extsd. et plus de plantage dans parametres/stockage.

Par contre faudra que je refasse les partitions plus finement en m'inspirant d'ici http://linux-sunxi.org/Android/partitions , car 500Mo de cache ca fait beaucoup :)

Edited by not6

Share this post


Link to post
Share on other sites

Not6, tu tombes à pic encore une fois, j'étais en train de creuser la question de ce fichier boot.scr et puis précisément comment le génerer.

Dans celui du tar.gz que tu cites, j'ai relevé qqch qui me laisse perplexe :

setenv init '/init mac_addr=00:BA:D0:MA:C0:FF'

A quoi ça sert ? et une adresse MAC avec un 'M' ? c'est nouveau pour de l'hexa :P

Puisque je suis là puis-je te renvoyer sur une question que j'ai posée un peu partout sur des forums ou il y avait des gens pointus, et même ici cela fait déjà un moment, plus précisément là : https://forum.frandroid.com/topic/127267-mecanisme-de-boot-recovery-sous-ics-allwinner-a10/

Si tu sais répondre à ça, je te paye un coup à boire :)

Share this post


Link to post
Share on other sites

Lannig, on s'est loupés de peu !quand j'ai modifié j'avais pas vu ta reponse.

sinon oui pour l'adresse MAC , je pense qu'il voulait mettre une adresse bidon .

de toutes facons cela ne sert pas a grand chose. au debut j'ai repris son boot.scr mais au final j'ai vu comment en creer un sur le wiki uboot : https://github.com/l...boot-sunxi/wiki

To create boot.scr first make a u-boot script boot.cmd with the u-boot commands you need for booting your system. An example follows:
setenv bootargs console=ttyS0 root=/dev/mmcblk0p1 rootwait panic=10 ${extra}
ext2load mmc 0 0x43000000 boot/script.bin
ext2load mmc 0 0x48000000 boot/uImage
bootm 0x48000000
Then translate this to a boot.scr by using the mkimage command
mkimage -C none -A arm -T script -d boot.cmd boot.scr

par contre du coup comme cela supporte uEnv.txt et boot.scr je ne sais pas lequel est pris en compte au final lors du boot .

Voila sinon on fouillant un peu pour booter Android sur une SD je suis tombé sur ce tuto :

http://tmerle.blogsp...rom-sdcard.html

qui est antérieur a celui de Jas hacks et qui lui ressemble fortement. donc pour rendre à césar ce qui est à césar ...

Pour ta question j'avoue ne pas avoir la réponse ,je pense que c'est le bootloader qui dois détecter certaines combis de touche

pour lancer le recovery , si je trouve des infos je les posterais .

Edit : c'est vraiment très intéressant comme question !!!

je comprend bien que boot.axf chainload u-boot.bin

mais alors savoir comment il passe l'info a u-boot , la je sèche .

En tout cas la réponse m'intéresse aussi :)

Edited by not6

Share this post


Link to post
Share on other sites

Bonjour Not6, j'ai commencé à réunir les morceaux pour faire ma SD bootable avec CWM Recovery.

C'est vraiment pas clair ces mécanismes de boot. Dans la partition nanda de mes tablettes pas trace d'un boot.scr ni uenv.txt

Bon c'est un des mes nombreux défauts, je veux tout comprendre à 100% avant de me lancer :)

Je vais essayer, je ne risque rien.

Share this post


Link to post
Share on other sites

@lannig , ta question me turlupine ! j'en dors mal la nuit :)

j'ai fait des recherches sur la question ( en suivant bien souvent tes traces lol ) et j'arrive pas a savoir de manière précise de quelle façon boot.axf passe les variables d'environnement de boot a u-boot.

Par contre un dirais bien que u-boot regarde si il ya une partition misc

et lance en fonction un setargs boot-recovery.

1172154218.png

Voila sinon je me suis rendu compte que je n'avais pas accès a la nand quand je boot depuis la SD.

j'ai pas encore trouvé pourquoi.

mais dans le u-boot.bin de la SD , je n'ai aucune référence a la nand , alors que dans celui de la tablette j'ai des référence a nand_sunxi par exemple.

Share this post


Link to post
Share on other sites

Désolé je ne pensais pas que cela allait te travailler à ce point :) ... remarque que moi aussi j'y ai beaucoup réfléchi.

Le mécanisme que tu décris je le connais, c'est celui qui permet à la tablette de redémarrer en mode recovery quand on fait un :

echo -n boot-recovery | busybox dd of=/dev/block/nandf count=1 conv=sync; sync; reboot

Ca, OK, c'est clair. Mais ce n'est pas de ça que je parlais. Moi je parlais du scénario "combinaison de boutons magique à la mise sous tension.

Je suis quasi-certain que c'est boot.axf (le boot loader closed-source de Allwinner) qui détecte cette combinaison de touches, parce qu'elle est déterminée par script.bin :

[recovery_key]
key_min = 4
key_max = 6

(la façon de déterminer a quels boutons correspondent ces valeurs est documentée quelque part)

Mais après ??? boot.axf appelle u-boot.bin et comment lui passe-t-il l'info ? ca, mystère.

Boot.axf est trop primitif pour aller écrire dans une partition je pense (mais je n'en suis pas sûr)

Autre sujet : mon CWM Recovery bootable par SD

J'abandonne pour aujourd'hui ... je n'y arrive pas. Il y a beaucoup d'infos contradictoires et incomplètes.

- une partition ext2 ou une FAT/une ext2 ou deux ext2 ?

- besoin de sunxi-spl.bin ou pas ? et si oui où trouver le bon ?

Au mieux j'ai un bref flash de rétroéclairage d'écran mais il reste noir, au pire ma SD de boot est ignorée et ça boote sur la flash

Mon dernier essai :

2 partitions commencant au block 2048 : une FAT et une ext2

Dans la partition FAT (sdb1) :

- script.bin venant de la partition bootloader de la tablette

- uImage fait à partir du kernel de la partition recovery d'origine de la tablette, converti par :

mkimage -A ARM -C none -T kernel -O linux -a 40008000 -e 40008000 -d boot.img-kernel /mnt2/uImage

- boot.scr compilé à partir du source suivant :

setenv bootargs console=ttyS0 root=/dev/mmcblk0p2 rootwait panic=10 ${extra}
fatload mmc 0 0x43000000 script.bin
fatload mmc 0 0x48000000 uImage
bootm 0x48000000

par :

mkimage -C none -A arm -T script -d boot.cmd boot.scr

Dans la partition ext2 (sdb2) j'ai extrait le cpio d'une partition CWM Recovery qui fonctionne sur cette tablette

Les deux loaders copiés par :

dd if=sunxi-spl.bin of=/dev/sdb bs=1024 seek=8
dd if=u-boot-mmc-hno-v2011.09-sun4i-20120808.img of=/dev/sdb bs=1024 seek=32

Résultat nul, la tablette n'essaye même pas de booter dessus :(

Share this post


Link to post
Share on other sites

même constat que toi en suivant le tuto http://linux-sunxi.org/CWM_on_a_SDCard

écran noir , cela ne boot pas .

Par contre si je change avec ma SD contenant la GTR, un reset et bing ca boot tout de suite sur Android.

Si je suis la même procédure que pour ma GTR mais que je change le rootfs et kernel ect par celui du recovery , écran noir.

J'abandonne aussi pour aujourd'hui :)

Share this post


Link to post
Share on other sites

Bingo ! j'y suis arrivé ! (oui je sais j'avais dit que j'abandonnais, faut pas me croire quand je dis ça ... têtu comme un Breton on dit, hein)

- changement de SD, je me suis mis à avoir des doutes sur la vieille SD 512M que j'utilisais

- j'ai suivi les instructions de cette page : http://rhombus-tech....0/a10_mmc_boot/

- j'ai utilisé un package contenant les deux binaires sun4i-spl.bin et u-boot.bin, qui s'appelle u-boot.sun4i.mmc_boot.22072012.tar.bz2

- j'ai donc pris le kernel et l'archive cpio de ma partition CWM, le boot.cmd ci-dessus

Et ça démarre :)

Un grand merci à toi Not6, tu m'as bien mis sur la voie.

Edited by Lannig

Share this post


Link to post
Share on other sites

ha bravo , je savais bien que tu finirais par réussir !

tu vas bientôt pouvoir fournir a la communauté une SD CWM Recovery.

Petite question d'ailleurs a ce sujet : as tu modifié qq chose dans le recovery (fstab ou autre)

et si non quel est le recovery utilisé ( celui que tu cite dans un autre poste et que tu n'a pas testé a fond sous ICS 4.0.4 ?)

je demande cela car suivant ton conseil , j'ai changé de SD (j'ai pris celle qui boot ubuntu car je suis sur qu'elle boot) utilisé le meme SPL+uboot que celui que tu cites, j'ai recréé mes partitions ,boot.src ect ect et mis mon recovery ... et je boot bien mais je reste bloqué sur un écran ( bleu + bleu ou vert cela varie ) :(

Edit : je viens de tester avec le recovery qui tu cites dans ce post :

et effectivement je boot bien sur le recovery !

Edited by not6

Share this post


Link to post
Share on other sites

Ca fait du bien de revenir causer un peu ici, parce que je craque légèrement sur certains autres topics. J'te sure, y'en a des, il faut vraiment avoir envie de les aider, hein...

Alors... j'ai pris mon image de recovery que j'avais fabriquée comme cela (accroche-toi c'est pas simple :) ) :

1) j'ai fait construire une image ordinaire (pas la version touch) sur le site "Recovery Builder" http://builder.clockworkmod.com/

Je lui avais uploadé une image du recovery <3e> d'origine (firmware 4.0.4 Ployer Momo9c). Il m'a produit un recovery parfaitement bootable, mais avec une affectation des touches complètement folklorique et certaines fonctions manquant (remonter dans le menu)

Comme hélas c'est codé en dur dans le binaire du programme recovery, pas moyen de le changer. Dommage parce que c'était une version vraiment récente que je n'ai retrouvée nulle part

2) comme ça donnait un truc pas vraiment utilisable, j'ai remplacé dans la partie cpio du recovery le binaire du programme par un pris dans la version 6.0.1.2 de cette source : http://forum.xda-dev...d.php?t=1802268

Ca m'a donné quelque chose d'impec.

Pourquoi est-ce que j'ai fait tout ça ? parce que j'ai constaté que si j'installe le recovery 6.0.1.2 du lien ci-dessus tel quel sur une tablette en 4.0.4 (MID74C avec firmware update Ployer Momo9C) non seulement il ne marche pas du tout (il n'arrive à monter aucune partition) mais quand j'en sors la tablette ne boote plus ! Je sais, ça ne fait guère de sens, mais j'ai refait plusieurs fois la manip. Quelque chose dans le kernel de ce recovery corrompt la flash, le partitionnement je pense, qui a changé en 4.0.4 (driver flash).

Donc pour ma uSD, j'ai pris dans cette image résultante le kernel et l'archive cpio pour la construire. Je n'ai touché absolument à aucun fichier (init.rc ou fstab). Tel quel.

L'étape suivante que je me suis fixée est de compiler mon propre CWM Recovery. Mais là j'ai un peu de mal avec les repositories git etc. Pas mal de choses à apprendre. J'ai déjà un Ubuntu 64b 10.04.4 avec l'environnement de cross-compilation ARM, j'arrive à compiler des petits binaires avec, mais pas encore réussi à avoir une arborescence source (déjà trouver de laquelle partir !)

Edited by Lannig

Share this post


Link to post
Share on other sites

Oui je trouve aussi que parfois tu as beaucoup de courage et de patience ,quand le lis certains topics!!!

Sinon hier j'ai testé avec le lien de XDA et ma tablette sous GTR 4.0.4. et j'ai remarqué aussi le pb.

Cela boot bien ,boutons ok , j'ai même fait une backup mais du coup sur la SD interne .

La je redémarre et problème : cela ne boot plus . Par contre un reset prolongé et c'est reparti.

edit: je vais refaire quelques petits tests ce soir .

Bon courage pour la compilation de CWM , j'ai voulu aussi testé mais bon en regardant les pré-requis je suis vite passé a autre chose faute de pouvoir consacrer autant de temps !

Edit 2: Chez moi (sur ma mp959 ) le recovery de ton lien est fonctionnel (pour monter les partitions et backup pas testé la restauration :) )par contre il faut a chaque fois faire un reset au reboot.

Sinon pour régler mon pb d'accès a la nand avec la GTR404 uSD

j'ai testé avec le kernel et les modules de la CM9 , tout semble Ok sauf que du coup vold ne monte pas ma partition dédié en /mnt/sdcard ;( donc pas pratique du tout !

root@android:/ # dmesg |busybox more									  
<6>[    0.000000] Initializing cgroup subsys cpu
<5>[    0.000000] Linux version 3.0.31+ (alan@Audrey) (gcc version 4.5.1 (Sourcery G++ Lite 2010.09-50) ) #44 PREEMPT Sun Jun 24 10:07:20 CEST 2012
...
root@android:/ # mount
rootfs / rootfs rw 0 0
/dev/root / ext4 rw,relatime,user_xattr,barrier=1,data=ordered 0 0
devtmpfs /dev devtmpfs rw,relatime,size=156680k,nr_inodes=39170,mode=755 0 0
tmpfs /dev tmpfs rw,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600,ptmxmode=000 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
/dev/block/mmcblk0p5 /system ext4 rw,nodev,noatime,user_xattr,barrier=0,data=ordered 0 0
/dev/block/mmcblk0p7 /data ext4 rw,nosuid,nodev,noatime,user_xattr,barrier=0,data=ordered 0 0
/dev/block/mmcblk0p6 /cache ext4 rw,nosuid,nodev,noatime,user_xattr,barrier=0,data=ordered 0 0
/dev/block/nandi /toto vfat rw,relatime,fmask=0000,dmask=0000,allow_utime=0022,codepage=cp437,iocharset=ascii,shortname=mixed,errors=remount-ro 0 0

root@android:/ # cat /dev/block/											
loop0	 loop4	 mmcblk0 mmcblk0p5 mmcblk0p9 nandd	 nandh	 ram1	
loop1	 loop5	 mmcblk0p1 mmcblk0p6 nanda	 nande	 nandi	 vold/
loop2	 loop6	 mmcblk0p2 mmcblk0p7 nandb	 nandf	 platform/ zram0
loop3	 loop7	 mmcblk0p3 mmcblk0p8 nandc	 nandg	 ram0	
root@android:/ #

Edited by not6

Share this post


Link to post
Share on other sites

bonjour lannig ,

en ce moment c'est un peu chaud niveau boulot donc pas trop de temps a consacrer sur ma mp,donc moi actif ici !

par contre j'ai remarqué qu'en bootant sur ma SD avec la GTR (kernel origine) , je n'ai que 512Mo de détectés au boot.

<7>[    0.000000] Machine: sun4i
<6>[    0.000000] Total Detected Memory: 512MB with 1 banks
<4>[    0.000000] Ignoring unrecognised tag 0x00000000
<6>[    0.000000] Memory Reserved(in bytes):
<6>[    0.000000]		 LCD: 0x5a000000, 0x02000000
<6>[    0.000000]		 SYS: 0x43000000, 0x00010000
<6>[    0.000000]		 G2D: 0x58000000, 0x01000000
<6>[    0.000000]		 VE : 0x44000000, 0x05000000
<6>[    0.000000]		 VE : 0x49000000, 0x01000000
<7>[    0.000000] Memory policy: ECC disabled, Data cache writeback

j'ai testé plusieurs uboot, plusieur kernel ect ... mais tjs pareil seulement 512Mo détectés,

je vais continué mes recherches mais si tu as une idée au passage je suis preneur !

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this