forum frandroid - android et tablette

Aller au contenu

  • Connectez-vous avec Facebook Connectez-vous avec Twitter Connexion avec Google Connexion
  • Créer un compte
Change

[DEV] Aller plus loin avec sa tablette Mpman !


  • Merci de vous connecter pour répondre
60 réponses à ce sujet

#1
not6

not6

    Membre avancé

  • Membre
  • 55 messages
  • Marque:mpman
  • Modèle:mp959
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

Modifié par not6, 01 January 2013 - 12:37.


#2
not6

not6

    Membre avancé

  • Membre
  • 55 messages
  • Marque:mpman
  • Modèle:mp959
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
…


#3
Lannig

Lannig

    RdS MPMAN / Storex / Wiko Cink Slim / Autres Tablettes

  • Responsable de section
  • 4653 messages
  • LieuParis
  • Marque:MPMAN. Storex, Artview, Polaroid, Utoo(Aigo),Wiko, Google
  • Modèle:MID*C&MPDC88, eZT704&1004, AT97I, MIDC407&408, M80E, Cink Slim, N1
"cpio -id" sinon il en manquera des bouts...
Je ne réponds pas aux questions techniques et demandes d'aide par MP. Merci de les poser sur le forum pour que toutes les bonnes volontés puissent se manifester et que tout le monde en profite. C'est un peu le principe d'un forum d'entraide, non ?
Image IPB

#4
not6

not6

    Membre avancé

  • Membre
  • 55 messages
  • Marque:mpman
  • Modèle:mp959
@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 .

#5
Lannig

Lannig

    RdS MPMAN / Storex / Wiko Cink Slim / Autres Tablettes

  • Responsable de section
  • 4653 messages
  • LieuParis
  • Marque:MPMAN. Storex, Artview, Polaroid, Utoo(Aigo),Wiko, Google
  • Modèle:MID*C&MPDC88, eZT704&1004, AT97I, MIDC407&408, M80E, Cink Slim, N1

Citation

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 :) )
Je ne réponds pas aux questions techniques et demandes d'aide par MP. Merci de les poser sur le forum pour que toutes les bonnes volontés puissent se manifester et que tout le monde en profite. C'est un peu le principe d'un forum d'entraide, non ?
Image IPB

#6
not6

not6

    Membre avancé

  • Membre
  • 55 messages
  • Marque:mpman
  • Modèle:mp959
@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) .

Image IPB



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

Modifié par not6, 31 December 2012 - 17:46.


#7
Lannig

Lannig

    RdS MPMAN / Storex / Wiko Cink Slim / Autres Tablettes

  • Responsable de section
  • 4653 messages
  • LieuParis
  • Marque:MPMAN. Storex, Artview, Polaroid, Utoo(Aigo),Wiko, Google
  • Modèle:MID*C&MPDC88, eZT704&1004, AT97I, MIDC407&408, M80E, Cink Slim, N1
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.

 not6, le 31 December 2012 - 12:34, dit :

- 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

Modifié par Lannig, 01 January 2013 - 12:19.

Je ne réponds pas aux questions techniques et demandes d'aide par MP. Merci de les poser sur le forum pour que toutes les bonnes volontés puissent se manifester et que tout le monde en profite. C'est un peu le principe d'un forum d'entraide, non ?
Image IPB

#8
not6

not6

    Membre avancé

  • Membre
  • 55 messages
  • Marque:mpman
  • Modèle:mp959
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 :)

#9
not6

not6

    Membre avancé

  • Membre
  • 55 messages
  • Marque:mpman
  • Modèle:mp959

 Lannig, le 01 January 2013 - 11:59, dit :

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

#10
Lannig

Lannig

    RdS MPMAN / Storex / Wiko Cink Slim / Autres Tablettes

  • Responsable de section
  • 4653 messages
  • LieuParis
  • Marque:MPMAN. Storex, Artview, Polaroid, Utoo(Aigo),Wiko, Google
  • Modèle:MID*C&MPDC88, eZT704&1004, AT97I, MIDC407&408, M80E, Cink Slim, N1
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.

Modifié par Lannig, 02 January 2013 - 14:20.

Je ne réponds pas aux questions techniques et demandes d'aide par MP. Merci de les poser sur le forum pour que toutes les bonnes volontés puissent se manifester et que tout le monde en profite. C'est un peu le principe d'un forum d'entraide, non ?
Image IPB

#11
not6

not6

    Membre avancé

  • Membre
  • 55 messages
  • Marque:mpman
  • Modèle:mp959
@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

Modifié par not6, 03 January 2013 - 20:09.


#12
Lannig

Lannig

    RdS MPMAN / Storex / Wiko Cink Slim / Autres Tablettes

  • Responsable de section
  • 4653 messages
  • LieuParis
  • Marque:MPMAN. Storex, Artview, Polaroid, Utoo(Aigo),Wiko, Google
  • Modèle:MID*C&MPDC88, eZT704&1004, AT97I, MIDC407&408, M80E, Cink Slim, N1

 not6, le 03 January 2013 - 19:48, dit :

@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 ?
Je ne réponds pas aux questions techniques et demandes d'aide par MP. Merci de les poser sur le forum pour que toutes les bonnes volontés puissent se manifester et que tout le monde en profite. C'est un peu le principe d'un forum d'entraide, non ?
Image IPB

#13
not6

not6

    Membre avancé

  • Membre
  • 55 messages
  • Marque:mpman
  • Modèle:mp959
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.

Modifié par not6, 03 January 2013 - 22:57.


#14
not6

not6

    Membre avancé

  • Membre
  • 55 messages
  • Marque:mpman
  • Modèle:mp959
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.o...roid/partitions , car 500Mo de cache ca fait beaucoup :)

Modifié par not6, 04 January 2013 - 11:51.


#15
Lannig

Lannig

    RdS MPMAN / Storex / Wiko Cink Slim / Autres Tablettes

  • Responsable de section
  • 4653 messages
  • LieuParis
  • Marque:MPMAN. Storex, Artview, Polaroid, Utoo(Aigo),Wiko, Google
  • Modèle:MID*C&MPDC88, eZT704&1004, AT97I, MIDC407&408, M80E, Cink Slim, N1
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à : http://forum.frandro...-allwinner-a10/
Si tu sais répondre à ça, je te paye un coup à boire :)
Je ne réponds pas aux questions techniques et demandes d'aide par MP. Merci de les poser sur le forum pour que toutes les bonnes volontés puissent se manifester et que tout le monde en profite. C'est un peu le principe d'un forum d'entraide, non ?
Image IPB

#16
not6

not6

    Membre avancé

  • Membre
  • 55 messages
  • Marque:mpman
  • Modèle:mp959
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 :)

Modifié par not6, 04 January 2013 - 16:16.


#17
Lannig

Lannig

    RdS MPMAN / Storex / Wiko Cink Slim / Autres Tablettes

  • Responsable de section
  • 4653 messages
  • LieuParis
  • Marque:MPMAN. Storex, Artview, Polaroid, Utoo(Aigo),Wiko, Google
  • Modèle:MID*C&MPDC88, eZT704&1004, AT97I, MIDC407&408, M80E, Cink Slim, N1
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.
Je ne réponds pas aux questions techniques et demandes d'aide par MP. Merci de les poser sur le forum pour que toutes les bonnes volontés puissent se manifester et que tout le monde en profite. C'est un peu le principe d'un forum d'entraide, non ?
Image IPB

#18
not6

not6

    Membre avancé

  • Membre
  • 55 messages
  • Marque:mpman
  • Modèle:mp959
@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.


Image IPB

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.

#19
Lannig

Lannig

    RdS MPMAN / Storex / Wiko Cink Slim / Autres Tablettes

  • Responsable de section
  • 4653 messages
  • LieuParis
  • Marque:MPMAN. Storex, Artview, Polaroid, Utoo(Aigo),Wiko, Google
  • Modèle:MID*C&MPDC88, eZT704&1004, AT97I, MIDC407&408, M80E, Cink Slim, N1
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 :(
Je ne réponds pas aux questions techniques et demandes d'aide par MP. Merci de les poser sur le forum pour que toutes les bonnes volontés puissent se manifester et que tout le monde en profite. C'est un peu le principe d'un forum d'entraide, non ?
Image IPB

#20
not6

not6

    Membre avancé

  • Membre
  • 55 messages
  • Marque:mpman
  • Modèle:mp959
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 :)




1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)

Skimlinks