Aller au contenu

[DEV] Kernel custom


Recommended Posts

Salut, je prends la peine de créer un topic concernant le développement d'un kernel custom pour l'acer liquid E2

 

Comme certains l'ont remarqué, les sources sont dispo chez Acer et sont compilables (plus facilement que celles du E1 car l'archive est bien construite - avec les liens symboliques nécessaires) - j'ai d'ailleurs compilé un kernel avec ces mêmes sources et il devrait fonctionner.

 

Par contre, ce que j'ignore si la configuration est bien celle incluse car il y a juste un dossier au nom de simcom89_wet_jb2 et aucune idée si c'est bien celui du E2 (sur le E1 c'était aa66).

 

Pour le moment, je n'ai pas trouvé de kernel custom pour MT6589 (j'ai importé un kernel pour le E1 - MT6577 car la communauté des liquid est bien trop petite pour permettre d'avoir un développement correct d'un kernel custom dédié au tél).

 

Vu que j'ai pu compiler un kernel pour le E1, je propose mon aide pour le E2

 

Pour commencer ce que j'aimerais savoir c'est qu'est ce que vous avez dans ce menu :

 

415563Screenshot201309252015001.png

Modifié par DrShadow
  • Like 2
Lien vers le commentaire
Partager sur d’autres sites

Est-ce que les MaJs OTA touchent le kernel ?

Il faut collecter toutes les infos matérielles et contrôler si le kernel compilé avec les sources fournies fonctionne.

Parmi les infos materielles voici celles qui sont facilement chopées : LCD (avec mtkdroidtools et le tel rooté, il affiche le LCD driver), les capteurs (il y a des apps qui listent les capteurs)

Lien vers le commentaire
Partager sur d’autres sites

Pour cyanogenmod, il ne faut pas rêver, il faut attendre les résultats du développement de CM pour le faea (même chipset que le E2). Et je ne sais pas si le portage sera possible et surtout intéressant (faut que les carac's correspondent).

Lien vers le commentaire
Partager sur d’autres sites

Sauf que ce que je veux savoir c'est s'il touche bien le kernel ou le ramdisk (qui sont contenus dans le boot.img)

(il a juste précisé que le boot.img a changé)

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

Sinon pour un gouverneur, celui par défaut est celui le plus intéressant pour les chipsets mediatek (en général). Pareil pour l'ordonnanceur et il n'y a pas besoin d'en avoir 36.000 ^-^

Pour l'OC, il n'était pas possible (ou très difficile à mettre en place) pour les MT6577 donc je doute que ce soit plus facile pour les MT6589 ;)

Lien vers le commentaire
Partager sur d’autres sites

Optimisation du gouverneur, du kernel

Corrections de bugs et j'en passe

Sur le E1, le kernel custom intègre la plupart de ce qui est présenté ici (je n'utilise pas le même toolchain de mémoire) : http://forum.xda-developers.com/showthread.php?t=2455540

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

Salut et merci de ton intéret :)

 

Je sais que Vache a tenté de compiler pour le E2 mais le kernel produit par les sources non-modifié ne bootai pas. Il n'a pas réussi a trouver comment compiler un kernel qui puisse booter sur le E2.

Je vais lui faire signe qu'il jette un oeil ici, il pourra t'expliquer ce qu'il a tenté et peut-être qu'a vous deux vous pourrez trouver une solution :)

Lien vers le commentaire
Partager sur d’autres sites

Salut, je crois qu'il s'agissait du header du kernel qui passait pas, il fallait utiliser le mkimage dans ./mediatek/build/tools de cette manière : mkimage zImage KERNEL > zImagePatché

Puis un repack avec l'outil qu'il faut.

Lorsque le téléphone n'affiche pas le bootscreen et reboot direct c'est le boot.img qui pose souci.

S'il reboot mais affiche le bootscreen avant, c'est autre chose.

Je vais faire une vidéo qui explique cela.

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

Petit retour sur ce que j'ai pu tenter sur le E2 et le S1 (très proche aussi bien niveau hardware que sources).

 

Je me suis rendu compte que le kernel bootait en recovery, mais pas en bootant l'OS. Comme sur le E1, je me suis dit qu'il y avait peut être besoin de mettre à jour un ou plusieurs modules. Mais même après avoir pousser les modules fraichement compilé, le bootloop persistait.

Les sources me semblent correctes et le boot qui en sort également, il doit juste y avoir un petit truc à trouver.

 

Le bootsreen est bien affiché quelques secondes, mais pas moyen de récupérer des logs, même en modifiant le ramdisk. Aucune partition ne semble avoir le temps d'être monté.

Lien vers le commentaire
Partager sur d’autres sites

En fait vache le bootscreen ce n'est pas le logo acer, le logo acer est affiché par le bootloader qui essaie de charger le kernel et le kernel affiche ensuite le bootscreen. Avec la rom de benowit on remarque facilement cela (d'abord le logo acer puis le bootscreen qui affiche le logo acer avec le texte qui indique que c'est une rom de benowit)

Donc voir le logo acer ne veut pas dire que le kernel que l'on a mis est correctemet chargé. Comment as tu mis le header au kernel ?

Et pour le module c'est le m4u.ko qu'il faut remplacer (dans /system/lib/modules) avec le chmod 644

Lien vers le commentaire
Partager sur d’autres sites

Le 1er logo Acer est bien passé. Je connais le workflow de boot t'inquiètes ;)

 

Si ça boot en recovery, je ne comprends pas pourquoi il ne boot pas correctement sur l'OS avec le même kernel. (et difficile de savoir sans logs)

 

Concernant le module m4u, il n'est pas présent sur le E2, ni sur le S1. (aussi bien dans les ROMs que dans les sources) (peut être en général sur du MT6589, je n'ai pas vérifié sur les autres)

Lien vers le commentaire
Partager sur d’autres sites

Tu n'as pas de logs meme pendant 1 seconde ? J'ai du bourriner pour avoir des logs avec le e1

Essaie de remplacer les modules avec ceux que tu as compilé et j'ai du modifier la config pour que le kernel passe, je teretrouve ca

Lien vers le commentaire
Partager sur d’autres sites


 

Regarde le commit sur le fichier ./mediatek/config/mt6577/autoconfig/kconfig/platform j'ai viré 2-3 trucs et je ne sais pas si cela peut empêcher le boot du kernel

 

J'ai vérifié les *.ko qui sortent en compilant le E2 :

./alps_ww_20130903_for_acer/kernel/drivers/hid/hid-logitech-dj.ko

./alps_ww_20130903_for_acer/kernel/drivers/scsi/scsi_tgt.ko

./alps_ww_20130903_for_acer/kernel/drivers/scsi/scsi_wait_scan.ko

./alps_ww_20130903_for_acer/mediatek/platform/mt6589/kernel/drivers/dual_ccci/ccci_plat.ko

./alps_ww_20130903_for_acer/mediatek/platform/mt6589/kernel/drivers/devinfo/devinfo.ko

./alps_ww_20130903_for_acer/mediatek/platform/mt6589/kernel/drivers/videocodec/vcodec_kernel_driver.ko

./alps_ww_20130903_for_acer/mediatek/platform/mt6589/kernel/drivers/gpu/pvr/pvrsrvkm.ko

./alps_ww_20130903_for_acer/mediatek/platform/mt6589/kernel/drivers/gpu/pvr/mtklfb.ko

./alps_ww_20130903_for_acer/mediatek/platform/mt6589/kernel/drivers/masp/sec.ko

./alps_ww_20130903_for_acer/mediatek/platform/mt6589/kernel/drivers/devapc/devapc.ko

./alps_ww_20130903_for_acer/mediatek/kernel/drivers/dual_ccci/ccci.ko

./alps_ww_20130903_for_acer/mediatek/kernel/drivers/combo/common/mtk_wmt_wifi.ko

./alps_ww_20130903_for_acer/mediatek/kernel/drivers/combo/common/mtk_stp_uart.ko

./alps_ww_20130903_for_acer/mediatek/kernel/drivers/combo/common/mtk_hif_sdio.ko

./alps_ww_20130903_for_acer/mediatek/kernel/drivers/combo/common/mtk_stp_wmt.ko

./alps_ww_20130903_for_acer/mediatek/kernel/drivers/combo/common/mtk_stp_gps.ko

./alps_ww_20130903_for_acer/mediatek/kernel/drivers/combo/common/mtk_stp_bt.ko

./alps_ww_20130903_for_acer/mediatek/kernel/drivers/combo/drv_wlan/mt6628/wlan/wlan_mt6628.ko

./alps_ww_20130903_for_acer/mediatek/kernel/drivers/fmradio/mtk_fm_drv.ko

 

Il n'y a effectivement pas de m4u.ko (pas comme le E1 qui se présente comme ci dessous)


./build_result/system/lib/modules/scsi_tgt.ko

./build_result/system/lib/modules/mtk_wmt_wifi.ko

./build_result/system/lib/modules/mtk_hif_sdio_mt6628.ko

./build_result/system/lib/modules/mtk_stp_bt_mt6628.ko

./build_result/system/lib/modules/m4u.ko

./build_result/system/lib/modules/mtk_stp_uart.ko

./build_result/system/lib/modules/mtk_hif_sdio.ko

./build_result/system/lib/modules/mtk_fm_priv.ko

./build_result/system/lib/modules/wlan_mt6620.ko

./build_result/system/lib/modules/hid-logitech-dj.ko

./build_result/system/lib/modules/mtk_stp_wmt.ko

./build_result/system/lib/modules/eeprom_93cx6.ko

./build_result/system/lib/modules/mtk_wmt_wifi_mt6628.ko

./build_result/system/lib/modules/ccci.ko

./build_result/system/lib/modules/wlan_mt6628.ko

./build_result/system/lib/modules/vcodec_kernel_driver.ko

./build_result/system/lib/modules/devapc.ko

./build_result/system/lib/modules/pvrsrvkm.ko

./build_result/system/lib/modules/mtk_stp_gps_mt6628.ko

./build_result/system/lib/modules/mtk_fm_drv.ko

./build_result/system/lib/modules/ccci_plat.ko

./build_result/system/lib/modules/mtk_stp_wmt_mt6628.ko

./build_result/system/lib/modules/scsi_wait_scan.ko

./build_result/system/lib/modules/mtklfb.ko

./build_result/system/lib/modules/mtk_stp_gps.ko

./build_result/system/lib/modules/devinfo.ko

./build_result/system/lib/modules/mtk_stp_bt.ko

./build_result/system/lib/modules/ccmni.ko

./build_result/system/lib/modules/sec.ko

./build_result/system/lib/modules/mtk_stp_uart_mt6628.ko

Lien vers le commentaire
Partager sur d’autres sites

  • 4 weeks later...
  • 7 months later...

J'ai vu que les sources du kernel ont été mise a jour par Acer:
http://global-download.acer.com/GDFiles/Document/App.%20Guide/App.%20Guide_Acer_20140317_A_A.zip?acerid=635362639244411915&Step1=SMARTPHONE&Step2=LIQUID%20E2&Step3=V370&OS=ALL&LC=fr&BC=ACER&SC=EMEA_13

 

j'ai extrait le code source et le ProjectConfig.mk indique un "BUILD_VERNO" plus récent que le dernier OTA: 

MTK_BUILD_VERNO = Acer_AV061_V370_1.033.00_WW_GEN1
 
quelqu'un a déjà essayé de le compiler?
Lien vers le commentaire
Partager sur d’autres sites

re, 

 

tu peux le flasher avec flashtool

 

  • Telecharge le Scatter
  • Ouvre flashtool
  • Scatter loading : tu coisis ton scatter
  • Désélectionne tout
  • Sélectionne BOOTIMG : tu chosis le chemin du Boot.img
  • Download
  • Branche le téléphone eteint
  • Débranche le téléphone
  • Allume
  •  

edit : mince j'avais pas vu que c'etait un kernel.bin ... la je sais pas

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

Il faut reconstruire le boot.bin en extrayant le ramdisk de la partition actuelle, puis en recombinant le kernel et le ramdisk, non ?

Je ne l'ai jamais fait sur Mediatek mais ça doit être comme les autres, non ?

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...