Generalmente, la secuencia de arranque para Linux en un Zedboard es:
- La primera etapa de arranque cargador (FSBL) en la ROM de Zynq lee el archivo boot.bin de los medios de arranque, como la tarjeta SD
- Pasa el control a FSBL en el archivo boot.bin
- Que luego pasa el control al cargador de arranque U-Boot , que puede leer archivos adicionales en el medio de arranque
- U-Boot establece el registro de arquitectura (r2) y luego salta a zImage
- zImage descomprime el kernel imagen y luego salta a la dirección de la imagen
- y entonces arranca Linux
U-Boot agrega dos funciones en el proceso de arranque que no tiene el FSBL Xilinx. (1) lee archivos utilizados durante el arranque desde la tarjeta SD en lugar de exigirles que se incluirán en el boot.bin, y (2) tiene una línea de comandos, en caso de que desee modificar los parámetros de arranque al arrancar.
Si necesita cualquiera de esas capacidades, entonces arrancar Linux directamente FSBL ahorra tiempo durante el arranque y reduce el número de archivos específico de tablero de viruta que necesitan mantenimiento.
En nuestras configuraciones, tenemos sólo tres archivos específicos de tablero de viruta:
- zynq_fsbl.ELF
- devicetree.DTB
- el bitfile para programar la FPGA
Sólo incluyen los dos primeros en el archivo boot.bin y carga la tercera desde el sistema de archivos después de Linux se inicie.
En este Instructable, mostramos cómo arrancar Linux en un Zedboard de la FSBL Xilinx.