Aller au contenu

[ICS][Kernel] Custom Kernel WCS v01g - [24/04/13]


Recommended Posts

Et ça meule pas trop aussi bas ? (je fais mon feignant, reboot-flash-reboot-flash-reboot-flash commence à me fatiguer pour aujourd'hui :P )

EDIT: je suis tombé par hasard sur un de tes posts ou tu disais ne pas réussir à avoir de module.

Dans son Makefile tu changes le obj-y par obj-m et pour éviter de te retaper un make complet tu tapes:

kernel$ TARGET_PRODUCT=s8073 make ../mediatek/source/kernel/drivers/tontruc/nom_du_module.ko

ca va te générer directement le module et t'as plus qu'à le coller sur ton phone.

EDIT 2: j'avais vu que pour ton kernel tu compilais avec gcc 4.3, ça passe sans soucis avec un 4.6 (plus optimisé pour notre CPU que le 4.3 - testé et approuvé)

Du côté des processeurs ARM, très à la mode en ce moment, on trouve des améliorations de la génération du code vectorielNEON, la réécriture de l’infrastructure de génération de code pour les instructions « load » et « store », ou encore le support amélioré des unités flottantes des puces Cortex-A9.

git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6

L'optimisation est maladif chez moi :P

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

EDIT: je suis tombé par hasard sur un de tes posts ou tu disais ne pas réussir à avoir de module.

Dans son Makefile tu changes le obj-y par obj-m et pour éviter de te retaper un make complet tu tapes:

kernel$ TARGET_PRODUCT=s8073 make ../mediatek/source/kernel/drivers/tontruc/nom_du_module.ko

ca va te générer directement le module et t'as plus qu'à le coller sur ton phone.

J'ai jamais chercher a compiler des modules :huh:

EDIT 2: j'avais vu que pour ton kernel tu compilais avec gcc 4.3, ça passe sans soucis avec un 4.6 (plus optimisé pour notre CPU que le 4.3 - testé et approuvé)

git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6

L'optimisation est maladif chez moi :P

Je regarderais ca demain

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

Bonjour,

Pour pouvoir changer la fréquence il faut installer No-Frills CPU Control, disponible gratuitement sur le play store : https://play.google.com/store/apps/details?id=it.sineo.android.noFrillsCPU&feature=search_result#?t=W251bGwsMSwxLDEsIml0LnNpbmVvLmFuZHJvaWQubm9GcmlsbHNDUFUiXQ..

Avec cette application tu peux modifier le governor, la fréquence maxi et mini.

  • Like 1
Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Pour pouvoir changer la fréquence il faut installer No-Frills CPU Control, disponible gratuitement sur le play store : https://play.google....mlsbHNDUFUiXQ..

Avec cette application tu peux modifier le governor, la fréquence maxi et mini.

J'utilise "kernel tuner" pour ma part.

Lien vers le commentaire
Partager sur d’autres sites

Si t'as envie de tester la zram:

dans la config du kernel:

CONFIG_SWAP=Y

CONFIG_ZRAM=y

Tu peux coller en module ZRAM pour créer 2 swap en insérant le module au boot avec paramètre, j'ai lu vite fait qu'il était mieux d'en créer le même nombre que de cpu mais pas encore regardé pourquoi. Bref, perso j'ai testé avec une seule de 64Mo.

dans un fichier d'init tu colles:

echo "67108864" > /sys/block/zram0/disksize

mknod /dev/zram0 b 253 0

mkswap /dev/zram0

swapon -p 100 /dev/zram0

(-p pour la priorité, à fignoler - il te faudra certainement busybox et je t'invite à t'en compiler un sur mesure, c'est ultra simple comparé au kernel un peu miteux :P )

J'avoue que le résultat est... très surprenant :D

(je pense l'intégrer directement dans la config sur le github)

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

Ceci permettrait d'utiliser Swapper 2 ?

Ce la fonction que j'attends le plus... 512 mo de ram c'est limite. Les forceclose ne sont pas rares...

Je sais pas, pas mon truc d'avoir une application pour chaque réglage. T'as qu'un moyen de le savoir ;)

Après, tu vois ça avec Pdroid, c'est son kernel ;)

Mais ça rox des mamans ours pour le moment :P

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

J'avoue que le résultat est... très surprenant :D

(je pense l'intégrer directement dans la config sur le github)

Ca devient intéressant (et nettement mieux que le Swap ;)), tu ressens une grosse différence ? Uniquement en utilisation intensive ou avec une utilisation "normale" tu constates des changements ?

Lien vers le commentaire
Partager sur d’autres sites

Ca devient intéressant (et nettement mieux que le Swap ;)), tu ressens une grosse différence ? Uniquement en utilisation intensive ou avec une utilisation "normale" tu constates des changements ?

Ben, disont que j'ouvre une dizaine d'appli "standard" et que ça kill pas, ça reste bien fluide et ça n'a pas vraiment l'air d'attaquer la batterie ni le CPU plus que ça. A voir à la longue mais j'ai l'impression d'avoir rajouté une barette de RAM dans mon slim et ça fait vraiment du bien.

Lien vers le commentaire
Partager sur d’autres sites

En faite c'est du swap compresser dans la ram, tu peux avoir par ex 60mo de swap qui tiennent sur 45-50 mo de ram.

Mais je pense que l’intérêt principal c'est que ça laisse échappe au lowmem killer android...

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

Ben, disont que j'ouvre une dizaine d'appli "standard" et que ça kill pas, ça reste bien fluide et ça n'a pas vraiment l'air d'attaquer la batterie ni le CPU plus que ça. A voir à la longue mais j'ai l'impression d'avoir rajouté une barette de RAM dans mon slim et ça fait vraiment du bien.

Ok, pas mal. Faudra que je test, ça semble intéressant !

Lien vers le commentaire
Partager sur d’autres sites

Je résume: merci, très bon boulot.

Et j'adore vos discussions en live, très instructives :)

NB: je n'ai peut-être pas tout bien lu, et la réponse existe déjà. Est-ce que la rom de Wixej est complémentaire de ton kernel ? Parce que les deux pour l'instant fonctionnent très bien: d'abord ton kernel pendant qqs jours, et j'ai l'impression entre autres d'avoir gagné en autonomie, puis installation de la rom Wixej... les deux ensemble, une belle paire. J'installe vos dernières versions...

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

Si t'as envie de tester la zram:

dans la config du kernel:

CONFIG_SWAP=Y

CONFIG_ZRAM=y

Tu peux coller en module ZRAM pour créer 2 swap en insérant le module au boot avec paramètre, j'ai lu vite fait qu'il était mieux d'en créer le même nombre que de cpu mais pas encore regardé pourquoi. Bref, perso j'ai testé avec une seule de 64Mo.

dans un fichier d'init tu colles:

echo "67108864" > /sys/block/zram0/disksize

mknod /dev/zram0 b 253 0

mkswap /dev/zram0

swapon -p 100 /dev/zram0

(-p pour la priorité, à fignoler - il te faudra certainement busybox et je t'invite à t'en compiler un sur mesure, c'est ultra simple comparé au kernel un peu miteux :P )

J'avoue que le résultat est... très surprenant :D

(je pense l'intégrer directement dans la config sur le github)

Tient tient j'était justement en train de voir pour me compiler un busybox :P

Sinon j'avais vu dans la config qu'on pouvais activer swap mais pas le zram, j'avais pas trouver grand chose sur le Zram pour les kernel sur android.

Tu dit de mettre ca dans un script d'init, mais l'init.d fonctionne chez toi ?

Un fichier sysinit dans system/bin/ contenant ce code est effectivement la première étape (tu peux le rajouter directement à ton ramdisk pour rendre le support "universel") :

#!/system/bin/sh
export PATH=/sbin:/system/sbin:/system/bin:/system/xbin
/system/bin/logwrapper /system/xbin/run-parts /system/etc/init.d

Mais il te faut aussi ajouter cette ligne a ton fichier init.rc dans le ramdisk pour exécuter le tout (de préférence après les règles de permissions) :

exec /system/bin/sysinit

Bonne chance ;)

J'ai fait tout ca y a quelques jours mais je ne sait même pas si sa fonctionne B)

Je ne comprend pas un truc, les modifs sont a faire dans le ramdisk (donc avant de repack le zimage et ca en boot.img) mais pour que ca soit fonctionnel les modifs sont a faire dans les /system/bin de la ROM non ?

Lien vers le commentaire
Partager sur d’autres sites

Disons que j'ai modif les fichiers d'origine directement pour me créer le node dès le boot mais y'a un truc qui a foiré.

Depuis, ça ne fonctionne plus, dès que j'active le swap et que la mémoire est sur le point de se décharger dessus, ça reboot...

J'ai recompilé en mode full debug mais ça freeze avant de me donner la moindre information...

En ce moment c'est backup et full erase, j'en ai marre de chercher :P

Quand j'ai testé en static dans le kernel et configuré à la mano dans le shell, ça a fonctionné à merveille.

J'ai voulu voir si y'avait vraiment une diff en créant 2 zram (en fait, ça a surtout l'air interressant pour utiliser des répertoire temporaire qu'un gain réel de 2 partitions uniquement swap), j'en ai profité pour modif le fichier init du système histoire qu'il me charge tout les modules en même temps que ceux du système et c'est là que c'est partie en sucette :P

J'ai tenté de remettre le kernel ou tout fonctionnait bien et ça ne fonctionne plus du tout...

J'ai un peu cherché mais tu peux pas avoir accès au disk comme tu veux comme sur un pc alors je full reset.

A suivre... :P

Pour le initd je vais me faire un truc à la (presque) pure linux, ça évitera d'autre problème par le suite :D

C'est chatouilleux ces p'tites bêtes là :P

EDIT: bon, ben malgré la remise à zero, ça ne fonctionne plus, il freeze dès que ça tente de swaper :(

Plus qu'à chercher d'ou ça vient... j'ai fait mumuse toute l'après-midi avec et maintenant que j'y ai gouté, plus question de m'en passer.

A suivre...

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

En activant swap et zram dans config ca me compilera mon module zram en dur dans le kernel ?

Je comprend pas trop ce que tu entend par

Tu peux coller en module ZRAM pour créer 2 swap en insérant le module au boot avec paramètre
Lien vers le commentaire
Partager sur d’autres sites

En activant swap et zram dans config ca me compilera mon module zram en dur dans le kernel ?

Je comprend pas trop ce que tu entend par

pour la swap, tu mets Y [*] et pareil pour zram [*] ça sera en static dans le kernel et t'aura pas de fichier.ko à part [m] <-- à éviter pour le moment ou alors c'est une coincidence, je cherche toujours ou ça coince.

En gros, tu peux créer plusieurs partitions zram

Y'en a une qui sert de swap, l'autre que tu peux monter en /tmp (comme ça, chaque fois qu'une applis créé des fichiers temporaire pour x raisons, ça se fait directement en RAM via zram et ça accélère le process vu que ça ne gratte plus sur le disque dur) etc...

J'ai lu à plusieurs endroit qu'il fallait créer autant de zram que de nombre de core mais sans plus d'explication alors j'ai voulu comprendre par moi même... :P

En insérant le module, tu peux ajouter des paramètre comme le nombre de zram que tu peux créer.

Ce que j'ai retenu pour le moment, c'est qu'avec 1 seul zram (pas besoin de module), ça fonctionnait à la perfection et que maintenant ça ne fonctionne plus :P

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

Bon, les CPU balancent leur données en parallèle, c'est pour ça qu'il faut nCPU = nZRAM

Donc l'idéal est de le compiler en module de de faire un insmod zram.ko num_devices=2 pour plus d'efficacité. Quand je vois ce que ça donnait avec un seul zram... faut que je trouve :P

Si y'a du testeur qui veut tenter sa chance :)

Le seul risque est de voir son téléphone freezer quelques seconde avant de le voir rebooter et rien de plus.

Requis:

- ne pas transpirer quand on flash son téléphone :)

- être rooté

- être à l'aise avec le shell

C'est un kernel nu, il est sur hotplug (pas patché 166MHz) et ne contient rien d'autre que le support zram.

http://dl.free.fr/kxdT5g3Nu

Une fois démarré, il faut taper ceci dans le shell:

busybox mknod /dev/zram0 b 253 0

echo "67108864" > /sys/block/zram0/disksize

busybox mkswap /dev/zram0

busybox swapon -p 100 /dev/zram0

lancez quelques applications et vérifier si la swap se remplit sans planter

busybox free

Ca donnera l'utilisation en cours.Quand ça plante, il se peut que ça fasse planter le port usb de votre PC si vous est connecté via adb, un reboot du pc et c'est réglé.

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

Avec ce que tu decrit ici tu ne créer q'un zram et donc qu un swap

Oui, c'est juste pour tester, j'ai rien pour comparer. Ca vient de mon phone, de mon environnement de dev, un bug sur les wiko...

EDIT: j'ai bien peur que le kernel de wiko soit bien plus moisi que je pensais...Ne pas utiliser la swap, même de façon classique.

PS: si un modo peu faire remonter l'info que de devoir se taper les balises HTML lors de l'édition d'un post, c'est un peu lourd :P

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

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...