I'm trying to make a image for the ls1046a-rdb by using Yocto. After a long battle with do_fetch errors, I got the Yocto to build correctly and complete. My issue is at the booting on the board, I got an error message:
[ 1.846875] Bman err interrupt handler present
[ 1.851506] Can't get bman-portal@0 property 'cell-index'
[ 1.856947] Can't get bman-portal@10000 property 'cell-index'
[ 1.862738] Can't get bman-portal@20000 property 'cell-index'
[ 1.868527] Can't get bman-portal@30000 property 'cell-index'
[ 1.874317] Can't get bman-portal@40000 property 'cell-index'
[ 1.880105] Can't get bman-portal@50000 property 'cell-index'
[ 1.885894] Can't get bman-portal@60000 property 'cell-index'
[ 1.891684] Can't get bman-portal@70000 property 'cell-index'
[ 1.897473] Can't get bman-portal@80000 property 'cell-index'
[ 1.903261] Can't get bman-portal@90000 property 'cell-index'
[ 1.909053] No BMan portals available!
and hang there without continue to the Linux prompt.
My process:
1) download Yocto layers
Source: Layerscape Software Development Kit User Guide for Yocto, Rev. 3.1, 04 October 2021
Install the repo utility:
$ mkdir ~/bin
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
Download the Yocto layers:
$ export PATH=${PATH}:~/bin
$ mkdir yocto-sdk
$ cd yocto-sdk
$ repo init -u https://source.codeaurora.org/external/qoriq/qoriq-compoments/yocto-sdk -b dunfell
$ repo sync --no-clone-bundle
2) Build images
Setup the build environment + enter the build folder:
›yocto-sdk/:$ . ./setup-env -m ls1046ardb
Build the Yocto images:
›yocto-sdk/build_ls1046ardb/:$ bitbake -k fsl-image-networking-full
-> got alot of files in "yocto-sdk/build_ls1046ardb/tmp/deploy/images/ls1046ardb"
3) Deployment of SD card
source: Section "4.4.8.9.4 SD Deployment" in the document: https://www.nxp.com/docs/en/supporting-information/QORIQ-SDK-2.0-IC-REV0.pdf
Format SD card to a single ext2 partition, starting at sector 4096
$ fdisk dev/sdb
command (m for help): n
command (m for help): p
command (m for help): 1
command (m for help): 4096
command (m for help): 62333951
command (m for help): w
$ sudo mkfs.ext2 /dev/sdb1
Mount the partition
$ sudo mkdir /mnt/sdcard
$ sudo mount /dev/sdb1 /mnt/sdcard
Copy the kernel ad device tree
$ sudo cp <fitImage>.bin /mnt/sdcard
Extract the file system
$ sudo tar zxf fsl-image-networking-ls1046ardb.tar.gz -C /mnt/sdcard
Copy u-boot to the first sectors
$ sudo dd if=u-boot-ls1046ardb.bin of=/dev/sdb seek=8 bs=512
Flush buffers and unmount
$ sync
$ sudo umount /mnt/sdcard
4) Boot the evaluation board
- Connect the SD card to the evaluation board
- Power the evaluation board up
- Stop the U-boot to enter the prompt
=> setenv bootargs "root=/dev/mmcblk0p1 rw earlycon=uart8250,0x21c0500 console=ttyS0,115200"
=> ext2load mmc 0 a0000000 <fitImage>.bin
=> bootm a0000000
Please refer to this thread to deploy images built by yocto to SD card.
Please deploy Kernel Image and the dtb to the /boot folder or rootfs.
# cp Image boot
# cp fsl-ls1043a-rdb-sdk.dtb boot
=> setenv bootcmd 'setenv bootargs root=/dev/mmcblk0p1 rw rootdelay=5 console=ttyS0,115200;mmcinfo;ext2load mmc 0:1 0xa0000000 /boot/Image;ext2load mmc 0:1 0xb0000000 /boot/fsl-ls1043a-rdb-sdk.dtb;booti 0xa0000000 - 0xb0000000'
=> saveenv