Hello! I’m trying to use the Polarfire SoC Buildroot SDK with an SD card, and I’m having some trouble getting my changes to properly get onto the SD card image. Here are the steps I’m following below:
Following the build instructions in the PolarFire SoC Buildroot SDK Github repo (ending with
make all DEVKIT=icicle-kit-es)
Entering the Buildroot menuconfig with
sudo make buildroot_rootfs_menuconfig and saving when prompted upon exit (I left the save location to its default).
Following the steps in Polarfire-soc-buildroot-sdk with HSS - #2 by hugh.breslin
make clean && make DEVKIT=icicle-kit-es-sd
sudo make DISK=/dev/sdX DEVKIT=icicle-kit-es-sd format-icicle-image
sudo make DISK=/dev/sdX DEVKIT=icicle-kit-es-sd format-rootfs-image)
Booting using SD card. Viewing the first serial port shows the SD card passing the attempt to select it (using HSS v0.99.31)
The Linux image that boots from the SD card does not have the features I configured. As an initial test, all I did for the first try was attempt to change the welcome banner from “Welcome to Buildroot” to something else.
Am I performing the workflow incorrectly?
Hi Everyone! Just want to give an update, as I believe I found the solution to the problem, and in the process I think I found an inconsistency between the online documentation/video tutorials and the necessary workflow.
As it turns out, there are two Buildroot menuconfig pages:
buildroot_rootfs_menuconfig. I was under the impression that the
buildroot_initramfs_menuconfig selection saved a Buildroot configuration to be used with the Icicle Kit’s eMMC, and that the
buildroot_rootfs_menuconfig selection saved a Buildroot configuration to be used with an SD card, using the
format-rootfs-image steps I used above (if this is an incorrect observation please let me know, as I have pretty limited experience with Make, and I could have easily missed something important).
However, I found that
format-icicle-image uses the buildroot_initramfs working directory, so any new configurations saved using
buildroot_rootfs_menuconfig will not make their way into an SD card image. Using
buildroot_initramfs_menuconfig after the proper rebuilding procedure fixes this issue.
Additionally, it appears that entering
DEVKIT=icicle-kit-es-sd just gets overridden to be
DEVKIT=icicle-kit-es, so I’m unsure what the purpose of the SD version is, at least for the latest version of the Buildroot SDK.
I think it would be helpful to update the documentation to reflect the latest expected Buildroot procedure and the latest workflow for imaging eMMC and SD cards.
What are your thoughts?
thanks for pointing this out, we’re going to be making a move to Buildroot external soon and updating our documentation / videos to go along with this change. When we have this ready I’ll make sure your points are included there.
All of our Buildroot builds use
initramfs which would explain why your
rootfs changes didn’t make their way through to your new image.
Great, thanks so much for the information! Looking forward to the updates