Galletas! Nos obligan a informar que utilizamos cookies (como casi todas las webs). Al continuar navegando aceptas su uso.


No verás más estos anuncios al registrarte. Anímate, es gratis, rápido y sin spam!

CONSULTA Compilar kernel H30-U10

Tema en 'Tutoriales y Guías Android' iniciado por issux, 1 May 2015.

  1. issux

    issux Simdualero de Platino

    • Cocinero Android
    • Veteran@
    19 May 2013
    Asturias
    Calificaciones:
    +770
    Buenas,

    aprovechando que Huawei ha liberado los fuente del kernel de Honor 3C, llevo unos días investigando a ver como compilarlo, mas que nada por experimentar. Como estoy un poco perdido, agradecería que alguien me guiase un poco respecto a unas dudas para no cargarme el móvil en las pruebas.

    Básicamente he seguido los siguientes pasos:
    - He compilado los fuentes con un "./mk huawei82_cwet_kk n k" y me genera correctamente el zImage.
    - Para generar el boot.img, he instalado el paquete "abootimg", y lo he generado combinando el boot.img sacado de mi rom actual con el zImage: "
    abootimg -u path/to/bootimg/boot.img -k /path/to/kernel/arch/arm/boot/zImage" y aparentemente lo ha hecho correctamente sin errores.

    A la hora de intentar flashear el boot.img generado, arranco el movil en el modo fastboot (Vol- + power), lo enchufo al pc y hago un "fastboot flash boot boot.img", y aqui siempre se queda parado en "sending boot (8192kb)", por mucho tiempo que lo deje nunca acaba. He probado en dos pcs distintos, pasando en ambos lo mismo.

    Ahora las dudas:

    - ¿Hay alguna otra manera de flashear un kernel aparte de con el fastboot?. En otros móviles podía descargar un fichero zip y se flasheaba mediante el recovery. ¿Como se podria hacer esto?
    - Tengo una copia de seguridad del móvil hecha con el TWRP de las particiones boot, system y data por si acaso ocurre algun desastre, pero ¿existe alguna otra manera de asegurarse de que esta todo correcto antes de flashear el kernel y asi no romper el móvil?
    - ¿Alguien ha compilado un kernel liberado por Huawei?. Por lo que he visto, la forma de compilar es distinta al método "estándar" que he visto en varios tutoriales de xda-developers.

    Bueno, muchas gracias por todo y perdón por el tocho que me ha salido.
    Doogee Mix Ofertas
    Al registrarte dejarás de ver este anuncio. Anímate, es gratis, rápido y sin PUBLICIDAD!
     
    • Me Gusta Me Gusta x 1
    • Gracias Gracias x 1
    • margal.r

      margal.r VIP+

      • Miembro de Honor
      • Veteran@
      17 Feb 2014
      Cerca de Barcelona
      Calificaciones:
      +14.968
      Hola @issux@issux , no sabes la alegría que me da ver que estas intentando adentrarte en las entrañas del 3C. Desde que @flufy_tendo@flufy_tendo ya no tiene este teléfono parece que no tenemos cocinero propio y nos vendría estupendamente un pinche con talento.
      Invoco a @Xancin@Xancin , @avecilla@avecilla o @MANOWARACERO@MANOWARACERO por ejemplo a ver si pueden echarte una mano.
      ... Y no es por interés... :smile::smile::smile::tonguewink:
      @flufy_tendo@flufy_tendo te necesitamosssss
       
      • Me Gusta Me Gusta x 3
      • xancin

        xancin Simdualero de Diamante

        • Cocinero Android
        • Veteran@
        2 Mar 2014
        Calificaciones:
        +71.549
        y porque no lo metes en un zip con una rom para instalar....sustituyes el que esta y pones el tuyo
         
        • Me Gusta Me Gusta x 2
        • Gracias Gracias x 1
        • issux

          issux Simdualero de Platino

          • Cocinero Android
          • Veteran@
          19 May 2013
          Asturias
          Calificaciones:
          +770
          Hola @margal.r@margal.r,
          Jejeje, si ahora solo hace falta encontrar a un pinche con talento :smile::smile::smile::smile:

          Bueno, ayer hice bastantes progresos, al final ya tengo un sistema para instalar el kernel. Cogi del zip de la rom que tengo instalado (kanvip) el fichero bootimg.img, lo destripe con el abootimg (abootimg -x bootimg.img), y me saco el kernel (zImage), el initrd.img y el bootimg.cfg. Sustituyendo el zImage por el del kernel que compile y modificando el parametro del tamaño del nuevo kernel en el boot.cfg, genere un nuevo bootimage (abootimg --create boot.img -f bootimg.cfg -k zImage -r initrd.img) y con un script para CWM de xda-developers, modifico el updater-script, incluyendo un (package_extract_file("boot.img", "/dev/bootimg"):wink: e incluyo el nuevo boot.img en el raiz del zip.

          He probado a flshear este zip en TWRP y creo que lo hace bien, el kernel mio al arrancar se cuelga, y si lo hago con el kernel de la rom original funciona bien, asi que creo que el tema de la generacion del zip flasheable esta solucionado. Lo de restaurar el arranque tambien lo arregle restaurando una copia de la particion bootimg que habia hecho antes.

          Ahora el problema es saber porque se queda frito al arranque con el nuevo kernel compilado. Creo que es por el tema de los módulos, que segun lei en algun post, hay que compilarlos y añadirlos. Lo que estoy intentando saber es la configuracion del kernel original ya que en el movil, el fichero /proc/config.gz no existe. Mi idea era tener esa configuracion para poder utilizarla al compilar el kernel y tener una base de opciones del kernel que se que no dan problemas, para luego poder ir añadiendo nuevas cosas. Ahora estoy buscando dentro del bootimg.img y dentro del zImage a ver si aparece por algun lado.

          En fin, muchas gracias, no se si llegare a algun sitio, pero ire informando.
           
          • Me Gusta Me Gusta x 3
          • issux

            issux Simdualero de Platino

            • Cocinero Android
            • Veteran@
            19 May 2013
            Asturias
            Calificaciones:
            +770
            Buenas,

            mcuhas gracias @Xancin@Xancin, de vez en cuando me vendria bien pensar un poco :smile::smile::smile::smile:

            Voy a comprobar de esa manera y asi voy a tiro fijo.
             
            • Me Gusta Me Gusta x 1
            • issux

              issux Simdualero de Platino

              • Cocinero Android
              • Veteran@
              19 May 2013
              Asturias
              Calificaciones:
              +770
              Buenas,

              creo que he llegado a un callejon sin salida. Me compila perfectamente el kernel, pero se queda frito en el arranque (se reinicia una y otra vez). La cuestion es que he visto en algunos posts de xda que la configuracion de compilacion del kernel, podia obtenerse de /proc/config.gz de la rom del movil original, pero no existe el fichero. Tambien he probado a destripar el boot.img, con el abootimg, pero en el zImage tampoco hay nada (el script de extract-ikconfig no encuentra nada).

              ¿La pregunta es si existe unas "opciones minimas" del menuconfig para compilar para un mtk6582?. No se si digo una tonteria, pero estoy perdido y se me acaban las ideas.

              Saludos.
               
            • xancin

              xancin Simdualero de Diamante

              • Cocinero Android
              • Veteran@
              2 Mar 2014
              Calificaciones:
              +71.549
              probaste con el projectConfig.mk? en data?
               
            • issux

              issux Simdualero de Platino

              • Cocinero Android
              • Veteran@
              19 May 2013
              Asturias
              Calificaciones:
              +770
              Buenas @Xancin@Xancin ,

              pues no, no habia probado, ahora mismo me pongo a ver si se logra.

              Muchas gracias :wink:
              --- Comentario doble fusionado, 3 May 2015 ---
              Buenas,

              lamentablemente ni con esas. Creo que por un par de dias lo dejare a ver si se me aclaran las ideas y se me ocurre algo.

              Muchas gracias.
               
              • Me Gusta Me Gusta x 1
              • margal.r

                margal.r VIP+

                • Miembro de Honor
                • Veteran@
                17 Feb 2014
                Cerca de Barcelona
                Calificaciones:
                +14.968
              • issux

                issux Simdualero de Platino

                • Cocinero Android
                • Veteran@
                19 May 2013
                Asturias
                Calificaciones:
                +770
                Buenas @margal.r@margal.r ,

                Muchas gracias, el hilo que comentas de da ya lo había visto, de hecho le consulte un par de dudas a codelover sobre la compilación del kernel. Hoy, al hacer comparacion binaria del contenido de los ficheros generados, me di cuenta que en el generado había que añadirle una cabecera. Crei que ese era el problema, pero después de estar toda la tarde haciendo pruebas, eso tampoco es.

                Al final estoy también en el mismo punto, compila el kernel, pero no arranca el movil al instalarlo... de todas maneras pienso seguir investigando, a ver quien cansa antes xD xD xD

                Pues nada, si ocurre el milagro ya os informare...
                 
                • Me Gusta Me Gusta x 1
                • issux

                  issux Simdualero de Platino

                  • Cocinero Android
                  • Veteran@
                  19 May 2013
                  Asturias
                  Calificaciones:
                  +770
                  Buenas,

                  hay novedades. He conseguido compilar el kernel, y con la rom AOSP de icicy me arranca, pero me han surgido un par de problemas:

                  - No monta la sd externa.

                  Con mi kernel, se monta como: drwx------ root root sdcard1

                  Y con el kernel original, se monta como: drwxrwx--x root sdcard_r sdcard1

                  La cuestion es que no se si me faltara algun modulo del kernel por incluir para que mi kernel de los mismos permisos y propietario ue el kernel original. ¿Alguna idea?

                  - La otra es una pijada, pero me resulta curioso. En la seccion de "Ajustes" > "Informacion del telefono" > "Estado" > "Numero de serie". Con el kernel original muestra el numero de serie correcto, en cambio con mi kernel muestra "0123456789ABCDEF", que evidentemente no es el numero de serie del movil.

                  En fin, si algun experto cocinero tiene alguna pista de que puede pasar, se lo agradeceria. He estado buscando por foros y no encontre nada, a ver si aqui tengo mas suerte.

                  Gracias.
                   
                  • Me Gusta Me Gusta x 2
                  • issux

                    issux Simdualero de Platino

                    • Cocinero Android
                    • Veteran@
                    19 May 2013
                    Asturias
                    Calificaciones:
                    +770
                    Buenas,

                    despues de estar varios dias, no he logrado que con la rom oficial "emui" arranque el movil con el kernel compilado, siempre se reinicia continuamente. El problema es que no llega a generar ningun tipo de log, por lo que no tengo ni idea de que puede pasar. Probe con multitud de configuraciones del menuconfig (sobretodo las de Soporte MMC/SD).

                    Con otras roms tipo aosp (kenkesi o icicy), el movil llega a arrancar y cargar la rom, pero no detecta la tarjeta sd externa. Gracias a la aplicacion liveboot de google play he obtenido un log del arranque, pero no he visto nada que pudiera indicar cual es el problema.

                    Yo por mi parte creo que lo voy a dejar porque no le veo solucion, quizas se anime Huawei un dia a actualizar el codigo fuente del kernel o a publicar algun tipo de guia para los que sabemos poco.

                    Saludos y gracias a @Xancin@Xancin por la ayuda.
                     
                    • Me Gusta Me Gusta x 1