linux kernel - samsung - ¿Reconstrucción rápida del árbol del dispositivo solo con Yocto/bitbake?
rastrear celular robado (1)
AFAIK hay dos formas diferentes de hacer esto.
La forma del kernel : uso de los scripts proporcionados por el kernel
- Cambie a su directorio fuente de kernel (
<build dir>/tmp/work/<machine>/<kernel-name>/<kernel-version>/git/
) - Ejecute el compilador de árbol de dispositivos:
./scripts/dtc/dtc -I dts -O dtb -o ./devicetree.dtb path/to/devicetree.dts
- Cambie a su directorio fuente de kernel (
El modo bitbake : usar el trabajo de implementación del kernel
- Llamada
$ bitbake <kernel-name> -f -c deploy
- El dispositivo generado-tree-blob se puede encontrar en
<build dir>/tmp/work/<machine>/<kernel-name>/<kernel-version>/build/arch/arm/boot/dts/
)
- Llamada
Al menos para mí, ambas versiones funcionaron en una prueba rápida.
ACTUALIZACIÓN: acabo de presentar una tercera versión de construir el dtb con yocto en la red. Ese usa el devshell de devshell
de la compilación kernel. Para obtener más información, consulte la página de autores originales en https://splefty.blogspot.co.at/2015/09/compiling-device-tree-using-yocto.html .
Entonces, cada vez que modifico el árbol de dispositivos, generalmente cambio los dts en una receta personalizada y reconstruyo la imagen. La reconstrucción lleva mucho tiempo ya que reconstruye todo el kernel, y luego la imagen debe ser construida y finalmente implementada en el dispositivo de destino.
¿Hay algún truco que me falta para reconstruir solo el árbol del dispositivo?
ACTUALIZAR:
Marqué la respuesta de g0hl1n como la correcta, ya que es la respuesta a mi pregunta. Sin embargo, me pareció muy engorroso trabajar con el kernel en Yocto: caminos extraños y largos y el riesgo de que los archivos se sobreescriban en cada reconstrucción, fuente de kernel en tmp / work-shared mientras el kernel se está construyendo en tmp / work .
En cambio, he movido el desarrollo del kernel de Yocto. Yocto tiene buenas herramientas para crear un SDK (consulte la tarea populate_sdk) y con eso es fácil configurar un entorno para el desarrollo del núcleo con reconstrucciones rápidas y despliegues manuales (o con guiones). Una vez que se termina el trabajo, los cambios se pueden mover a una receta usando git diff.
Las instrucciones en la siguiente página fueron muy útiles: http://jumpnowtek.com/beaglebone/Working-on-the-BeagleBone-kernel.html