Rootfs loading issue


We buy an ultra96 v2 for an internal project.
The example BSP is working fine.
We try to rebuild a simple BSP with petalinux. The hardware design is made with Vivado, this is a simple design with only the zynq and block automation.

The petalinux build is OK, with the process below :

  • Create a new petalinux project with : petalinux-create -t project -n ultra96 --template zynqMP
  • Import hardware description with : petalinux-config --get-hw-description
  • Configure target board and serial : petalinux-config
    -> Subsytem AUTO Hardware settings -> Serial = psu_uart_1
    -> DTG Settings -> MACHINE_NAME = zcu100-revc
    -> u-boot conf -> target = xilinx_zynqmp_virt_defconfig
    -> Yocto Settings -> YOCTO_MACHINE_NAME = ultra96-zynqmp
    -> Image Packaging -> device node = /dev/mmcblk0p2
  • Build the project : petalinux-build
  • Package images : petalinux-package --boot --format BIN --fsbl images/linux/zynqmp_fsbl.elf --u-boot images/linux/u-boot.elf --pmufw images/linux/pmufw.elf --fpga images/linux/*.bit --force
  • Copy BOOT.BIN and image.ub in the first FAT partition of the sd card
  • Wirte rootfs.ext4 in the second partition :
    -> dd if=images/linux/rootfs.ext4 of=/dev/mmcblk0p2
    -> resize2fs /dev/mmcblk0p2
    -> fsck /dev/mmcblk0p2

With these parameters, FSBL, u-boot and kernel loading are okay but during the kernel start, when rootfs is loaded the serial console is stuck.

I suspect an issue about the serial console, I think init reconfigure the UART or the system and the serial console is lost.

Someone have feedback about this type of issue?

I solved the issue.

In the example BSP a patch is applied on the kernel sources :

I add it into my petalinux project and the serial console is working fine.