This is a cache of https://discuss.96boards.org/t/rootfs-loading-issue/10730. It is a snapshot of the page at 2024-10-31T13:39:23.125+0000.
Rootfs loading issue - 96Boards Forum

Rootfs loading issue

Hello,

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.