Forum Discussion
Building uboot for cyclone V SoC
imagetool.c:(.text+0xa): undefined reference to `__stop_image_type'
/usr/bin/ld: imagetool.c:(.text+0x12): undefined reference to `__start_image_type'
/usr/bin/ld: tools/imagetool.o: in function `imagetool_verify_print_header':
imagetool.c:(.text+0x73): undefined reference to `__stop_image_type'
/usr/bin/ld: imagetool.c:(.text+0x7a): undefined reference to `__start_image_type'
collect2: error: ld returned 1 exit status
make[1]: *** [scripts/Makefile.host:104: tools/dumpimage] Error 1
make: *** [Makefile:1900: tools] Error 2
Hi Snehal
Just to update the forum case.
The missing steps from the RBO page are the steps below:
1.Step to convert the sof to rbf. You could use the command below to convert the sof.
quartus_cpf -c -o bitstream_compression=on soc_system.sof soc_system.rbf
2.Missing u-boot.scr could be gotten from the gsrd page.
https://releases.rocketboards.org/2025.03/gsrd/c5_gsrd/u-boot.scr
3.Place both rbf and the u-boot.scr in the sdcard partition 1 (sdfs)
Regards
Jingyang, Teh
31 Replies
- tehjingy_Altera
Regular Contributor
Hi
Sorry for the late reply.
If you are using the latest in the repo, there might be some bugs that was recently uploaded.
In the uboot repository, could checkout the branch "git checkout -b test-bootloader -t origin/socfpga_v2024.04" .
Regards
Jingyang, Teh
- snehal_p
Contributor
Hello JingyangTeh,
Thanks for the response.
Please check the steps below,
1) git clone https://github.com/altera-opensource/u-boot-socfpga
2) git checkout -b test-bootloader -t origin/socfpga_v2022.10
3) cd arch/arm/mach-socfpga/cv_bsp_generator/
4) python cv_bsp_generator.py -i path/hps_isw_handoff/soc_system_hps_0 -o ~/software/bootloader/u-boot-socfpga/board/altera/cyclone5-socdk/qts
5) cd arch/arm/mach-socfpga/cv_bsp_generator/
6) export CROSS_COMPILE=~/software/gcc-arm-11.2-2022.02-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf-
7) make socfpga_cyclone5_defconfig
make -j 48 Error message:
./tools/mkimage: unsupported type Altera SoCFPGA CV/AV preloader
make[1]: *** [scripts/Makefile.spl:426: spl/u-boot-spl.sfp] Error 1
make: *** [Makefile:2081: spl/u-boot-spl] Error 2
make: *** Deleting file 'spl/u-boot-spl'Thanks,
snehal_p
- snehal_p
Contributor
Hello JingyangTeh,
Please PFA error message
this document is suggesting to use uboot branch 2022.04, but I'm getting below error.
Can you please help with the issue.
collect2: error: ld returned 1 exit status
collect2: error: ld returned 1 exit status
collect2: error: ld returned 1 exit status
collect2: error: ld returned 1 exit status
make[1]: *** [scripts/Makefile.host:104: tools/dumpimage] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: *** [scripts/Makefile.host:104: tools/mkimage] Error 1
make[1]: *** [scripts/Makefile.host:104: tools/fit_info] Error 1
make[1]: *** [scripts/Makefile.host:104: tools/fit_check_sign] Error 1
make: *** [Makefile:1900: tools] Error 2Thanks,
snehal_p
- TruHy
New Contributor
I think there is a missing parameter, try adding this before or after step 6:
export ARCH=arm
- snehal_p
Contributor
Hello TruHy,
Tried adding
export ARCH=arm
but still getting same error
Thanks,
snehal_p
- tehjingy_Altera
Regular Contributor
Hi
I tried the steps and able to build uboot successfully.
Could you try setting :
export CROSS_COMPILE=arm-none-linux-gnueabihf-
Also check the path for the compiler to be set properly:
tar xf gcc-arm-11.2-2022.02-x86_64-arm-none-linux-gnueabihf.tar.xz
rm gcc-arm-11.2-2022.02-x86_64-arm-none-linux-gnueabihf.tar.xz
Further more the cv_bsp_generator.pt needs to run using python2 instead of python3
export PATH=`pwd`/gcc-arm-11.2-2022.02-x86_64-arm-none-linux-gnueabihf/bin:$PATH
Regards
Jingyang, Teh
- tehjingy_Altera
Regular Contributor
Hi
Could you try installing some pre-requisite packages below:
sudo apt-get install gawk wget git-core diffstat unzip texinfo \
gcc-multilib build-essential chrpath socat cpio python python3 \
python3-pip python3-pexpect xz-utils debianutils iputils-ping \
python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev pylint3 xterm \
libncurses-dev gawk flex bison openssl libssl-dev
If not could you try building it in Ubuntu 22.04 with the packages above too.
Regards
Jingyang, Teh
- tehjingy_Altera
Regular Contributor
Hi
Sorry for the late reply, I was OOO last week.
Have you installed the packages in my previous comment in your environment?
I tried building the steps but did not observe the error you are facing.
Regards
Jingyang, Teh
- snehal_p
Contributor
Hi,
Tried on another ubuntu 20.04 system, the build is successful. But on my system I still get the error even after installing the packages you have suggested.
Any suggesstions
Thanks,
snehal_p
- tehjingy_Altera
Regular Contributor
Hi
Could you also try these packages:
sudo apt install make
sudo apt install gcc
sudo apt install binutils-doc gcc-multilib autoconf automake libtool flex bison gcc-doc gcc-11-multilib gcc-11-doc gcc-11-locales
sudo apt install ncurses
sudo apt install ncurses-compat-libs
sudo apt-get install gcc-arm-linux-gnueabihf
Regards
Jingyang, Teh
- snehal_p
Contributor
- tehjingy_Altera
Regular Contributor
Hi
The ddr in the hardware you are using is having a 512MB DDR as where the GSRD for the devkit is having 1GB.
Please change the device tree arch/arm/dts/socfpga_cyclone5_socdk.dts to
memory {
name = "memory";
device_type = "memory";
reg = <0x0 0x20000000>; /* 1GB */
};
Regards
Jingyang, Teh
- snehal_p
Contributor
- tehjingy_Altera
Regular Contributor
Hi
The changes looks good in the device tree.
What is the new error message that you are getting?
Did the logs show the DDR size define in the device tree size to be 512MB?
Regards
Jingyang, Teh
- snehal_p
Contributor
Hello,
1) PFA debug log images,
Image_1 is when baud in 115200 uboot boot log is visible but as soon as it goes to kernel config then it shows garbage data,
if baud changed to 230400 then uboot boot log is not visible garbage data but kernel boot log can be seen after that all system runs on 230400 baud even able to run the application.
2) PFA debug log, we have enabled emac 0 hps peripheral in fpga mode. But ethernet is not being detected. Is it because we are using dtb file generated by the steps mentioned in the below document. Do we need to generate dtb by some other steps, if yes please share the steps.
Thanks,
snehal_p
- snehal_p
Contributor
Hello,
Can you help with command to generate dts with sopcinfo and board xml files as input.
The below command works in SOC EDS, which is discontinued in Quartus 22.1
sopc2dts --input soc_system.sopcinfo\
--output soc_system.dts\
--type dts\
--board soc_system_board_info.xml\
--board hps_common_board_info.xml\
--bridge-removal all\
--clocksThanks,
snehal_p
- snehal_p
Contributor
Hello Jingyang Teh,
Can you please share pointers regarding dts file generation for customized board using Quartus Prime 22.1 Standard version tool.
Thanks,
snehal_p
- tehjingy_Altera
Regular Contributor
Hi
The sopc2dts tool have been discontinued.
Currently, all device tree example are created and stored in the uboot branch and linux branch (arch/arm/dts/socfpga_cyclone5_socdk.dts).
It is advisable to make changes to the devkit device tree.
Are you using 2 different UART baudrate for the linux and uboot?
Can you share me both linux and ubiit device tree to me?
Regards
Jingyang, Teh
- snehal_p
Contributor
Hello,1) Are you using 2 different UART baudrate for the linux and uboot?-- during built can we select baudrate, PFA uboot and device tree2) Following the steps https://www.rocketboards.org/foswiki/Documentation/HOWTOCreateADevicetreeForCycloneVSoC, we could generate a dts file for customized board but facing issue while generating a dtb file. Below is the error messageDTC arch/arm/boot/dts/my_cv_fpga_overlay.dtbError: arch/arm/boot/dts/my_cv_fpga_overlay.dts:50.10-11 syntax errorFATAL ERROR: Unable to parse input treemake[1]: *** [scripts/Makefile.lib:351: arch/arm/boot/dts/my_cv_fpga_overlay.dtb] Error 1make: *** [Makefile:1403: my_cv_fpga_overlay.dtb] Error 2PFA header and dts file generated, as per our observation dts is not being updated wrt to header file generated..Can you please share the pointers.Thanks and regards,
snehal_p
- tehjingy_Altera
Regular Contributor
Hi
In the new flow the sopc2dts generator have been discontinued and should no be used.
You will have to make the changes base on the devkit device tree located in the location :
Regards
Jingyang, Teh