Aller au contenu

[MPDCxx] Firmwares (ROMs)


murigny64

Recommended Posts

tu es un chef en dev, tu crois qu'il est possible de changer la resolution de base dans un kernel ?

j'ai un kernel.img 4.1.1 "compatible" avec ma yzipro, ca boote bien mais la resolution est 1280x600 et le touchscreen ne marche pas. Je voudrais changer en 1024x768 mais je ne suis jamais arrivé à unpacker ce kernel, j'ai un ramdisk vide :(

Dev ? non. Ce n'est pas ça faire du développement. C'est au mieux de la cuisine :)

Je ne suis pas sûr de comprendre ta question : tu parles d'abord de modifier un kernel, puis de l'unpacker, puis de ramdisk.

Ou alors ce que tu appelles "kernel" est la partition de boot ? alors là je comprends.

Peux-tu me PM un link vers un dump de cette partition uploadé quelque part ? j'essayerai de voir si je peux t'aider.

A dire vrai je ne sais pas où le mode écran est défini sur RK3066. Sur A10/A13 c'était dans le script.bin de la partition bootloader, mais rien de tel ici. Rien dans le fichier parameter non plus. Est-ce que c'est codé en dur dans le module MALI (c'est bien un GPU MALI, non ?). Rien trouvé en parcourant /system non plus.

Lien vers le commentaire
Partager sur d’autres sites

En effet, je parlais de l'image "kernel.img". Apriori, les param seraient dans /sys mais quand je dépacke l'image, dans initramfs,ce sys est vide :huh:

La config de la yzipro est quasi identique a celle de la mpdc99bt (sauf la dalle :o ). La tablette que j'ai trouvé et qui a une PCB identique a la yzipro est la cherry mobile m1038 mais sa resolution est 1280x600 (10'). Je te file le kernel.img de cette tab ce soir.

Lien vers le commentaire
Partager sur d’autres sites

@Murigny64 : /sys est un filesystem virtuel "dynamique" comme /proc, il n'a d'existence que sur une machine bootée. Ca n'est en fait qu'une formalisation en filesystem d'un point d'entrée (une API, quoi) pour aller lire/écrire des données dans des variables d'état du kernel.

Sur le filesystem root "physique", ils sont vides. C'est normal.

Par exemple sous Linux la commande "ps" se contente d'aller chercher ses infos en épluchant le contenu du filesystem /proc.

Dans les Unix "historiques" il allait les chercher directement dans la mémoire du kernel.

Si tu veux modifier la valeur d'une variable contenue dans /sys, il faut le faire dans un script de boot (p.ex. init.rc). Je n'ai aucune idée du nom effectif de la variable que tu évoques, mais j'imagine que ça donnerait quelque chose comme :

echo 1024x768 > /sys/device/video/tagadatsointsoin/mode

P.S. certaines tablettes RK3066 ont une partition kernel séparée de la partition boot. Dans ce cas c'est un peu normal qu'un unpack de la partition kernel te donne un ramdisk vide. Il faudrait un dump des deux partitions (regarde /proc/mtd pour savoir lesquelles).

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

Bon... Mauvaise nouvelle. Après le backup, j'ai quand même voulu tenter le restore, histoire de vérifier, bé... Après le restore donc, la tablette ne boot qu'en recovery, plus possible de redémarrer le système. Bref, réinstalle totale... erf :(

Sinon, tu as possibilité de refaire un recovery basé cette fois sur un CWM plutôt qu'un TWRP ? La dernière version doit être en 6.0.28 je crois.

Lien vers le commentaire
Partager sur d’autres sites

Euh... c'était sensé être un recovery CWM (menu), pas un TWRP (boutons).

Si ça n'est pas le cas c'est que :

- soit je me suis planté (possible)

- soit les liens dans la page indiquée plus haut sont faux, le lien correspondant à la version CWM renvoie en fait sur une TWRP

Je regarderai ça tout à l'heure.

Lien vers le commentaire
Partager sur d’autres sites

Bon, c'est bien moi qui m'etais planté :wacko: . Ce CWM Recovery me paraissait étrange, aussi, avec toutes ses dépendances inhabituelles.

J'ai donc reconstruit le ramdisk avec le CWM Recovery (v6.0.2.7) cette fois-ci. Je voulais vous écrire "et je vous le mets à disposition pour fêter la qualification de l'OL(*)"... mais c'est raté :(.

Bon il est là quand même : [non fonctionnel, lien supprimé]

J'espère qu'il va marcher.

(*)J'ai vécu une quinzaine d'années à Lyon, d'où mon petit faible pour eux...

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

Merci pour le boulot ! Bon, flashé, ça boot bien en recovery, cette fois c'est le bon, et backup en cours... un peu d'angoisse pour le restore ^^... suite à venir.

Suite...

Bon... backup ok

restore : MD5 mismatch.... :(

bon bah...euh.... re réinstalle quoi.

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

Enkee, j'ai fouillé xda-developers et j'ai trouvé un certain nombre de causes possibles pour le MD5 mismatch.

As-tu vérifié que "adb shell" fonctionne quand la tablette est démarrée sous CWM Recovery ?

Si cela fonctionne, peux tu me donner le résultat des commandes suivantes (dans adb shell) quand le backup est en cours ?

mount
df
ps
ls -l /cache
ls -l /cache/*
cat /proc/mtd

Pour gagner beaucoup de temps, serait-il envisageable de faire ensemble une session Skype + Teamviewer pour que je vienne voir en personne ce qui se passe pendant le backup ?

P.S. ça n'empêche que j'aimerais bien voir le backup (lien par PM STP)

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

Alors, voilà ce que tu m'as demandé, backup en cours :

C:\Temp>c:\windows\system32\cmd.exe
Microsoft Windows [version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation. Tous droits réservés.

C:\Temp>adb shell
~ # mount
mount
rootfs on / type rootfs (rw)
tmpfs on /dev type tmpfs (rw,nosuid,relatime,mode=755)
devpts on /dev/pts type devpts (rw,relatime,mode=600)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
/dev/block/mtd/by-name/cache on /cache type ext4 (rw,nodev,noatime,nodiratime,ba
rrier=1,data=ordered)




~ # df
df
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 447588 32 447556 0% /dev
/dev/block/mtd/by-name/cache
129008 4148 124860 3% /cache
/dev/block/mtd/by-name/user
5585568 202864 5382704 4% /sdcard
/dev/block/mtd/by-name/system
523591 304811 218780 58% /system





~ # ps
ps
USER PID PPID VSIZE RSS WCHAN PC NAME
root 1 0 312 176 c05a94f0 0000f494 S /init
root 2 0 0 0 c0541184 00000000 S kthreadd
root 3 2 0 0 c052e088 00000000 S ksoftirqd/0
root 4 2 0 0 c053b954 00000000 S kworker/0:0
root 5 2 0 0 c053b954 00000000 S kworker/u:0
root 6 2 0 0 c0561d70 00000000 S migration/0
root 7 2 0 0 c0561d70 00000000 S migration/1
root 8 2 0 0 c053b954 00000000 S kworker/1:0
root 9 2 0 0 c052e088 00000000 S ksoftirqd/1
root 10 2 0 0 c053d06c 00000000 S khelper
root 11 2 0 0 c053d06c 00000000 S suspend_sys_syn
root 12 2 0 0 c053d06c 00000000 S suspend
root 13 2 0 0 c05410f4 00000000 D kconsole
root 14 2 0 0 c057cdb8 00000000 S sync_supers
root 15 2 0 0 c057dab0 00000000 S bdi-default
root 16 2 0 0 c053d06c 00000000 S kblockd
root 17 2 0 0 c0707a2c 00000000 S khubd
root 18 2 0 0 c05630d4 00000000 S irq/58-rk30-adc
root 19 2 0 0 c053b954 00000000 S kworker/0:1
root 20 2 0 0 c053d06c 00000000 S cfg80211
root 21 2 0 0 c0532b5c 00000000 D kinteractiveup
root 22 2 0 0 c053d06c 00000000 S rk30_cpufreqd
root 23 2 0 0 c053b954 00000000 S kworker/u:1
root 24 2 0 0 c05622ac 00000000 S khungtaskd
root 25 2 0 0 c05770c4 00000000 S kswapd0
root 26 2 0 0 c05ca0ac 00000000 S fsnotify_mark
root 27 2 0 0 c053d06c 00000000 S crypto
root 38 2 0 0 c05630d4 00000000 S irq/95-rga
root 39 2 0 0 c053d06c 00000000 S hdmi
root 40 2 0 0 c053d06c 00000000 S rk610 irq
root 41 2 0 0 c053b954 00000000 S kworker/1:1
root 48 2 0 0 c053d06c 00000000 S f_mtp
root 49 2 0 0 c073029c 00000000 S file-storage
root 50 2 0 0 c053d06c 00000000 S ft5x0x_ts
root 51 2 0 0 c053d06c 00000000 S khotplug
root 52 2 0 0 c053d06c 00000000 S binder
root 53 2 0 0 c053b954 00000000 S kworker/u:2
root 54 2 0 0 c0920ec4 00000000 S krfcommd
root 55 2 0 0 c053b954 00000000 S kworker/u:3
root 56 2 0 0 c07b3afc 00000000 S mmcqd/0
root 57 2 0 0 c053b954 00000000 S kworker/0:2
root 59 2 0 0 c053d06c 00000000 S rk_cam_wkque_ci
root 62 2 0 0 c053d06c 00000000 S goodix_wq
root 63 2 0 0 c053d06c 00000000 S goodix_wq
root 64 2 0 0 c053d06c 00000000 S novatek_wq
root 69 1 356 188 c05a94f0 0000f494 S /sbin/ueventd
root 92 2 0 0 bf003ca8 00000000 D rknand_buffer
root 93 2 0 0 c06e4c54 00000000 S mtdblock0
root 94 2 0 0 c06e4c54 00000000 S mtdblock1
root 95 2 0 0 c06e4c54 00000000 S mtdblock2
root 96 2 0 0 c06e4c54 00000000 S mtdblock3
root 97 2 0 0 c06e4c54 00000000 S mtdblock4
root 98 2 0 0 c06e4c54 00000000 S mtdblock5
root 99 2 0 0 c06e4c54 00000000 S mtdblock6
root 100 2 0 0 c06e4c54 00000000 S mtdblock7
root 101 2 0 0 c06e4c54 00000000 S mtdblock8
root 102 2 0 0 bf011798 00000000 D mtdblock9
root 103 2 0 0 c05335e8 00000000 S mtdblock10
root 104 1 21380 4632 ffffffff 00085fa4 S /sbin/recovery
root 105 1 1892 280 c05a94f0 0008662c S /sbin/busybox
root 107 1 4464 196 ffffffff 000132b8 S /sbin/adbd
root 117 2 0 0 c062d270 00000000 S jbd2/mtdblock6-
root 118 2 0 0 c053d06c 00000000 S ext4-dio-unwrit
root 119 2 0 0 c05b9fbc 00000000 S flush-31:6
root 120 107 1892 280 c052bbc8 0009acc4 S /sbin/sh
root 124 2 0 0 c053b954 00000000 S kworker/1:2
root 128 2 0 0 c062d270 00000000 S jbd2/mtdblock9-
root 129 2 0 0 c053d06c 00000000 S ext4-dio-unwrit
root 133 104 1884 248 c052bbc8 0009acc4 S sh
root 136 133 1884 180 c052bbc8 0009acc4 S sh
root 137 136 1896 276 c056a1b0 00085fa4 D tar
root 138 136 1880 200 c05a178c 00085fa4 S split
root 140 2 0 0 c05b9fb4 00000000 S flush-31:9
root 141 2 0 0 c065c758 00000000 D flush-31:10
root 143 120 1032 404 00000000 400be054 R ps




~ # ls -l /cache
ls -l /cache
drwxrwx--- root root 1970-01-01 08:00 lost+found
drwxrwx--- system cache 2013-02-22 23:09 recovery
~ # ls -l /cache/*
ls -l /cache/*
-rw-r----- root root 3806 2013-02-22 23:09 last_log
-rw-rw-rw- root root 3806 2013-02-22 23:09 log
~ # cat /proc/mtd
cat /proc/mtd
dev: size erasesize name
mtd0: 00400000 00004000 "parameter"
mtd1: 00400000 00004000 "misc"
mtd2: 00800000 00004000 "kernel"
mtd3: 01000000 00004000 "boot"
mtd4: 01000000 00004000 "recovery"
mtd5: 18000000 00004000 "backup"
mtd6: 08000000 00004000 "cache"
mtd7: 40000000 00004000 "userdata"
mtd8: 00400000 00004000 "kpanic"
mtd9: 20000000 00004000 "system"
mtd10: 155400000 00004000 "user"
~ #

Pour le backup, il faut que je l'upload et je t'envoies le lien par MP

Pour Skype et Teamviewer, pourquoi pas, pas de soucis de mon coté.

Lien vers le commentaire
Partager sur d’autres sites

Rien d'anormal dans ce que tu m'envoies. Le filesystem /cache est bien monté, le recovery arrive visiblement à y écrire. Il serait intéressant de récupérer /cache/recovery/log et /cache/recovery/last_log à la fin du dump (par adb pull). Idem à la fin du restore.

Ce qui m'étonne c'est que d'après ce que tu dis le restore se fait quand même (mal) malgré le MD5 check failed ?

Bizarre. Normalement CWM Recovery ne devrait même pas commencer à restorer dans ce cas.

Je regarde le backup, si pas de "euréka" on fera une session Skype/Teamviewer.

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

Non, désolé si je me suis mal exprimé, pas de restore possible évidemment, j'ai dû réinstaller parce que j'avais au préalable fait un wipe pour m'assurer que ça restorait bien.

Lien vers le commentaire
Partager sur d’autres sites

Bienvenue dans la chasse au bug, Murigny64 :)

Voici la partie correspondante du recovery.fstab :

/external_sd vfat /dev/block/mmcblk0p1
/sd-ext	 vfat /dev/sda1
/sdcard		 vfat /dev/block/mtd/by-name/user

Donc :

/sdcard = la flash interne

/sd-ext = la uSD

/external_sd = un éventuel disque USB (ou clef)

P.S. dl.free.fr vers Orange, ça rame dur !

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

Les RdS n'ont pas le droit de déplacer les posts de thread en thread. Donc il faudrait que je passe par les mods... pas sûr que cela les enchante. Puis bon hein... trop d'organisation tue la spontanéité :)

EDIT : à propos du dump

Il est correct (contenu des différents fichiers et checksums dans nandroid.md5), donc déjà c'est une bonne nouvelle, pas de corruption etc. Après, pourquoi recovery décide-t-il que ça n'est pas correct ? je suis en train de regarder le code source pour voir ce qui pourrait clocher. J'espère qu'une idée va surgir...

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

Pour ceux à qui l'anglais ne fait pas peur : une discussion qui explique beaucoup de choses sur le partitionnement flash et les mécanismes de boot pour le RK3066 : http://www.armtvtech.com/armtvtechforum/viewtopic.php?f=66&t=212&start=150

Eh oui c'est fun, encore lui, qui avait sorti les premiers CM9 sur A10...

Lien vers le commentaire
Partager sur d’autres sites

Alors, encore du nouveau... euh... maintenant ça fonctionne. md5 ok...

Je suis en train de restorer là, pour vérifier... comprends plus au bout d'un moment...

Pourquoi le précédant n'était pas bon ? est-ce au moment de l'écriture ou de la lecture que le problème surgit ??

Edit : Après Restore c'est la cata, boot en recovery uniquement... Donc reflash complet. ça devient loufoque :o

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

Surtout extrais /cache/recovery/log et /cache/recovery/last_log à la fin ! (adb pull)

C'était définitivement au moment de la relecture (plus précisément la vérification que les checksums dans nandroid.md5 correspondent bien aux fichiers du backup) que ça foirait. Pourquoi ça marcherait ce coup-ci ? aucune idée.

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

Bon... Je pense que je vais arrêter là les tests, j'en ai un peu marre de réinstaller mes applis à chaque fois, ça doit faire 8 ou 9 fois, je sature un peu. Avec mon HTC Desire HD, je teste aussi pas mal, mais j'ai mon recovery fonctionnel sur lequel je peux compter en cas de soucis. là ça me prends plus de 30 minutes pour tout réinstaller, sans parler de la configuration des différentes applis. Bref ! :) Je vais faire une pause ^^

Lien vers le commentaire
Partager sur d’autres sites

Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.
×
×
  • Créer...