FPGA, SoC, And CPLD Boards And Kits
FPGA Evaluation and Development Kits
6468 Discussions

Building uboot for cyclone V SoC

snehal_p
New Contributor I
5,054 Views
Hello,
 
We want to build boot image for customized cyclone V SoC board.
We are following the below document, using Quartus Prime 22.1 Standard Edition on Ubuntu 20.04 system,
 
We are getting below error while building uboot
/usr/bin/ld: tools/imagetool.o: in function `imagetool_get_type':
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
 
Can you please share your insights.
 
Thanks,
snehal_p
Labels (1)
0 Kudos
1 Solution
JingyangTeh_Altera
2,700 Views

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


View solution in original post

0 Kudos
31 Replies
JingyangTeh_Altera
3,984 Views

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


0 Kudos
snehal_p
New Contributor I
3,966 Views

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

0 Kudos
snehal_p
New Contributor I
3,812 Views

Hello JingyangTeh,

 

Please PFA error message

https://www.rocketboards.org/foswiki/Documentation/BuildingBootloaderCycloneVAndArria10#Appendix_45_Building_Linux_Binaries

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 2

Thanks,

snehal_p

0 Kudos
TruHy
Beginner
3,959 Views

I think there is a missing parameter, try adding this before or after step 6:

export ARCH=arm

 

0 Kudos
snehal_p
New Contributor I
3,952 Views

Hello TruHy,

 

Tried adding

export ARCH=arm

but still getting same error

 

Thanks,

snehal_p

0 Kudos
JingyangTeh_Altera
3,787 Views

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:

wget https://developer.arm.com/-/media/Files/downloads/gnu/11.2-2022.02/binrel/gcc-arm-11.2-2022.02-x86_64-arm-none-linux-gnueabihf.tar.xz

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


0 Kudos
snehal_p
New Contributor I
3,772 Views

Hello JingyangTeh,

 

I tried the steps but still gtting error. PFA.

 

Thanks,

snehal_p

0 Kudos
snehal_p
New Contributor I
3,741 Views

Hello JingyangTeh,

 

I'm using Ubuntu 20.04 linux system, can you share which linux environment you tried building uboot

 

Thanks,

snehal_p

0 Kudos
JingyangTeh_Altera
3,725 Views

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


0 Kudos
snehal_p
New Contributor I
3,704 Views

Hello JingyangTeh,

 

PFA error received and details of issues received for both Ubuntu 20.04 and Ubuntu 22.04.

Building it in Ubuntu 22.04is successful, but zImage and Rootfs build is getting issue.

 

 

snehal_p_0-1741754009677.png

 

0 Kudos
snehal_p
New Contributor I
3,689 Views

Hello,

 

PFA steps and terminal log on Ubuntu 20.04

 

Thanks,

snehal_p

0 Kudos
JingyangTeh_Altera
3,348 Views

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



0 Kudos
snehal_p
New Contributor I
3,318 Views

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

0 Kudos
JingyangTeh_Altera
3,270 Views

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


0 Kudos
snehal_p
New Contributor I
3,234 Views

Hi,

I tried but same error.

I tried booting using files generated on another system, getting attached error, can you please help.

 

0 Kudos
JingyangTeh_Altera
3,149 Views

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



0 Kudos
snehal_p
New Contributor I
3,128 Views

Hello,

 

Did try this but still getting error, PFA dts file

 

Thanks,

snehal_p

0 Kudos
JingyangTeh_Altera
3,017 Views

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


0 Kudos
snehal_p
New Contributor I
2,990 Views

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.

https://www.rocketboards.org/foswiki/Documentation/BuildingBootloaderCycloneVAndArria10#Appendix_45_Building_Linux_Binaries

 

Thanks,

snehal_p

 

0 Kudos
snehal_p
New Contributor I
2,921 Views

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\
--clocks

 

Thanks,

snehal_p

0 Kudos
Reply