Hi all,
I've been trying to go through the latest BSP porting guide with imx-3.14.28-1.0.0_ga (Freescale Release BSP from git.freescale.com) and I have been having no luck. I am getting stuck at the stage where I am trying to compile U-boot for a custom board that has been created by using imx6sabresd as a template. First problem I see is that performing "bitbake core-image-minimal" pulls "u-boot-fslc" to the tmp\work\imx6qsabresd-poky-linux-gnueabi\ directory. Isn't the preferred provider setting supposed to pull in "u-boot-imx" instead? As I try to continue with the BSP porting guide, the "u-boot-fslc" seems to have been updated to not require boards.cfg, and requires the information to be input elsewhere. I can run genboardscfg.py from the tools directory in the u-boot-fslc folder, but the boards.cfg it generates gets cleaned and deleted when attempting to run a make per the build-u-boot.sh script shown in the BSP porting guide.
Has there been an update to u-boot-fslc that does not mesh with the BSP porting guide or am I doing something wrong?
Thanks in advance,
noovi
Solved! Go to Solution.
I figured out how to deal with u-boot-fslc. The newer versions of u-boot no longer use boards.cfg. Here are the following steps I had to do to perform the equivalent tasks in the newer version of u-boot:
1. edit arch/arm/cpu/armv7/mx6/Kconfig and add my custom target, following the same syntax as the other targets. At the end of the file, add the path to another Kconfig file located where the source files for your target can be found (e.g. board/<vendor>/<target>/Kconfig).
2. create and edit board/<vendor>/<target>/Kconfig. Follow similar convention to Kconfig from a reference board.
3. create and edit board/<vendor>/<target>/Makefile. Follow similar convention to Makefile from a reference board.
4. create and edit board/<vendor>/<target>/customboard.c (customboard.c being named after your custom board and matching the name of the .o file from the Makefile above). This contains all init code, etc.
5. create and edit configs/customboard_defconfig. Follow similar convention to _defconfig file from a reference board.
6. create and edit include/configs/customboard.h. This contains configuration settings for the board.
7. You should be ready to make now. Run:
make distclean
make customboard_defconfig
make menuconfig
go through target settings and other settings and make sure everything is correct
make
This is not a general guide for all custom boards, but is a good starting point for porting the BSP. I hope that in the next version of the Official BSP, the BSP porting guide is updated to reflect the version of u-boot that is actually pulled during build.
Hi noo
"u-boot-fslc" is community version of uboot, "u-boot-imx" is official FSL
version, differencies described on
FSL Community BSP Release Notes 1.8 documentation
BSP porting guide and all documentation found in BSP package assumes
"u-boot-imx" usage. For building steps one can follow attached Yocto Guide.
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
I am pulling from the official FSL BSP from git.freescale.com, done by following the instructions in the Yocto Project User's Guide. Even in the BSP porting guide, we see the statement "The U-Boot code is now located at <build directory>/tmp/work/<machine>-poky-linuxgnueabi/
u-boot-fslc/<version>/git, where <machine> can be one of the following..."
The version it pulls is V2014.10+gitAUTOINC+5fd0b607d0-r0. I have made sure my preferred provider in layer.conf is u-boot-imx.
I figured out how to deal with u-boot-fslc. The newer versions of u-boot no longer use boards.cfg. Here are the following steps I had to do to perform the equivalent tasks in the newer version of u-boot:
1. edit arch/arm/cpu/armv7/mx6/Kconfig and add my custom target, following the same syntax as the other targets. At the end of the file, add the path to another Kconfig file located where the source files for your target can be found (e.g. board/<vendor>/<target>/Kconfig).
2. create and edit board/<vendor>/<target>/Kconfig. Follow similar convention to Kconfig from a reference board.
3. create and edit board/<vendor>/<target>/Makefile. Follow similar convention to Makefile from a reference board.
4. create and edit board/<vendor>/<target>/customboard.c (customboard.c being named after your custom board and matching the name of the .o file from the Makefile above). This contains all init code, etc.
5. create and edit configs/customboard_defconfig. Follow similar convention to _defconfig file from a reference board.
6. create and edit include/configs/customboard.h. This contains configuration settings for the board.
7. You should be ready to make now. Run:
make distclean
make customboard_defconfig
make menuconfig
go through target settings and other settings and make sure everything is correct
make
This is not a general guide for all custom boards, but is a good starting point for porting the BSP. I hope that in the next version of the Official BSP, the BSP porting guide is updated to reflect the version of u-boot that is actually pulled during build.
Did you get an error saying no rule to make target while make, for custom board?