Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
20882 Discussions

Custom linux image build failure for Arri10 SoC development kit

sgannava
Beginner
1,218 Views

Hi, 

 

I am following  the below documentation to build my custom Linux image for Arria10 SoC development kit. While building Yocto Rootfs, I am facing oe_runmake error. I have attached the log as well.

This is happening in the build process while compiling linux-socfpga-6.6+git package.

I tried below steps as well

step-1: bitbake -c cleanall linux-socfpga

step-2: bitbake linux-socfpga

But at step-2, again same issues. 

 

Any help would be appreciated.

 

Thanks,

Sai

 

sgannava_0-1717188878009.png

 

 

 

Labels (1)
0 Kudos
18 Replies
JingyangTeh
Employee
1,146 Views

Hi


Are you following the steps from rocket board below?

https://www.rocketboards.org/foswiki/Documentation/Arria10SoCGSRD


Have you made changes to the original branch? Because by default the linux branch it is supposed to use is socfpga-6.1.68-lts


Regards

Jingyang, Teh



0 Kudos
sgannava
Beginner
1,103 Views

Hi Jingyang, 

 

I am able to build the image successfully by removing the linux-socfpga_6.6bb (which is causing the error) blindly following the steps mentioned in the documentation. But I have below questions

1.  Where can I include my custom device tree source files and re-build the image?

2. Where can I make changes so that the image mounts to /mnt folder instead of /dev/mmcblk02

 

Thanks

Sai

0 Kudos
JingyangTeh
Employee
1,058 Views

Hi


Please find my response below:


1. Where can I include my custom device tree source files and re-build the image?

You could directly make changes to the device tree source file (socfpga_arria10_socdk_xxx.dts )in the repo that you have clone in your work directory. There are two level of device tree you will need to edit. One for the uboot and one for linux:

uboot

u-boot-socfpga/arch/arm/dts


linux

linux-socfpga/arch/arm/boot

/dts



2. Where can I make changes so that the image mounts to /mnt folder instead of /dev/mmcblk02

What do you mean the image mount point? Which image mount point are you referring to?

Are you referring to the linux image? The linux image needs to be from a dev eg. QSPI or sd card.


Regards

Jingyang, Teh


0 Kudos
sgannava
Beginner
1,009 Views

Hi Jingyang

Thanks for the response

I have tried only maiking changes in one level i.e. in linux.

I will try changing in both uboot and linux.

Apart from that, I have a general question. I have built the image without making any changes to dts, means I just reproduced the steps mentioned in rocketboards documentation. Image build was successful but I am not able to boot the board. There is nothing shown up in the bootlog

The board details I have are

Serial Number: 10ASXSoC003452 Rev C

Serial Number: 10ASXSoC003968

Thanks

Sai

0 Kudos
JingyangTeh
Employee
978 Views

Hi Sai


Just to confirm you are working with the board below:

https://www.intel.com/content/www/us/en/products/details/fpga/development-kits/arria/10-sx.html


Instead of trying to build the binaries, could you try running the pre-built binaries to check the board is able to boot up?

https://www.rocketboards.org/foswiki/Documentation/Arria10SoCGSRD



Regards

Jingyang, Teh


0 Kudos
sgannava
Beginner
962 Views

Hi Jingyang,

 

Thanks for the response.

I am checking the GSRD image with the board I have. I will get back to you.

 

Regards,

Sai

0 Kudos
sgannava
Beginner
931 Views

Hi Jingyang,

 

The board is booting up with the pre-built linux binaries. 

So, I can use pre-built .itb and uboot.img for initial booting and I can use .dtb and zimage files built by me for my application. Correct me if I am wrong.

Thanks

Sai

0 Kudos
JingyangTeh
Employee
862 Views

Hi


Thats great, that meanst he board is working properly.


Next step lets try the steps on generating the GSRD.

You could follow the steps below:

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


It is the steps to build to boot from SDCard like the GSRD.


Regards

Jingyang, Teh


0 Kudos
JingyangTeh
Employee
750 Views

Hi


Any update om this case?

Are you able successfully generate and run the generated GHRDbinaries?


Regards

Jingyang, Teh


0 Kudos
sgannava
Beginner
742 Views

Hi Jingyang,

Sorry for late response.

I am able to build the dtb files after adding custom dts files. But I am facing bitbake errors while building rootfs using yocto, after adding custom recipes.

 

With Regards,

Sai

0 Kudos
JingyangTeh
Employee
691 Views

Hi Sai


Are able to build the linux image without adding your custom recipe?

What are the error message that you get after adding custom recipe?


Regards

Jingyang, Teh


0 Kudos
sgannava
Beginner
670 Views

Hi Jingyang,

 

Without adding custom recipes

 

Following the steps mentioned in the documentation, I faced some errors and I have attached the screenshots

Error-1: linux-socfpga-6.6+git-r0 do_compile: oe_runmake failed

I have resolved this issue by removing linux-socfpga-6.6.bb file after cloning the repository

Issue-2: After running the bitbake core-image-minimal

In the documentation, it is mentioned that core-image-minimal-arria10.tar.gz will be generated under below path after running above bitbake command

$ROOTFS_TOP/a10/build/tmp/deploy/images/arria10

 But I cannot see the tarball with exact name. but instead, I could see core-image-minimal-arria10-rootfs.tar.gz. Hence, I used that and proceeded further. Finally I am able to created an .img file of size 84MB. When I load this onto board, I can see only blank screen on Putty. The conclusion is , without custom recipes also, booting not happening. I also checked that the shipping intel image is of size 1.02GB. I am not sure why the process is not creating the same.

General Questions here:

I have checked the SD partition after burning the SD with intel shipping image and image build from my side using Yocto. I can see the major difference in partition. I have attached then screenshots as well. Can I know why I am seeing such difference?

With Custom recipes

Error-1: I am getting the  bitbake errors. I attached the screenshots with name recipe_bitbake_error1

Somehow, I overcome the error by

  1. Renaming u-boot-xlnx-scr.bbappend to u-boot-xlnx-scr.bb
  2. Renaming the petalinux-image-minimal.bbappend to core-image-minimal.bbappend
  3. Renaming libiio_%.bbappend to libiio_git.bb
  4. Added required license file also in layer.conf file

Error - 2:

But again, I have come up with another issue. Attached as withrecipe_bitbake_error2

I have tried cleaning the project as well and cleaning the particular script as well, but nothing happened

 

With Regards,

Sai

0 Kudos
JingyangTeh
Employee
548 Views

Hi


Let me try out the linux image build flow and try to reproduce the issue that you are seeing.

Please give me sometime to reproduce this and get back to you latest by this week.


Regards

Jingyang, Teh


0 Kudos
sgannava
Beginner
507 Views

Hi Jingyang,

 

Any update?  Have you tried to reproduce the issue?

 

Thanks

Sai

0 Kudos
JingyangTeh
Employee
473 Views

Hi


Sorry for the slow update.

I tried out the latest flow and found that I am facing the same error on my end.

However I tried out the older flow which checks out a different branch ("Langdale")

This is working on my end.

For the time being could you try the command below to build the rootfs:


cd $ROOTFS_TOP

rm -rf a10 && mkdir a10 && cd a10

git clone -b langdale https://git.yoctoproject.org/poky

git clone -b langdale https://git.yoctoproject.org/meta-intel-fpga

source poky/oe-init-build-env ./build

echo 'MACHINE = "arria10"' >> conf/local.conf

echo 'BBLAYERS += " ${TOPDIR}/../meta-intel-fpga "' >> conf/bblayers.conf

# Uncomment next line to add more packages to the image

# echo 'CORE_IMAGE_EXTRA_INSTALL += "openssh gdbserver"' >> conf/local.conf

bitbake core-image-minimal

ln -s $ROOTFS_TOP/a10/build/tmp/deploy/images/arria10/core-image-minimal-arria10.tar.gz $LINUX_BIN/a9/


Regards

Jingyang, Teh


0 Kudos
sgannava
Beginner
255 Views

Hi Jingyang,

 

Thanks for your response.

Are you able to see core-image-minimal-arria10.tar.gz  in the specified directory? Becuase I am not able to see that if I built rootfs using nanbield branch? 

FYI, I am able to build using nanbield branch only by removing linux-socfpga_6.6.bb file. But I cannot see core-image-minimal-arria10.tar.gz as mentioned in the documentation

So, I assumed core-image-minimal-arria10.rootfs.tar.gz  as  core-image-minimal-arria10.tar.gz  and proceeded further for creating an SD image. But while, creating SD image, I see the below error. But surprisingly, I can see the sdcard_a10.img file built with 80MB size. However this is not booting the board. Kindly, look into this as it is blocking my work.

info: creating the image sdcard_a10.img
image removed
info: creating the partition table
image_name set to sdcard_a10.img
Partition return code [ 0 ]
now delete loopback
info: processing partitions...
partition #3...
do_partition entry
partition #1...
do_partition entry
error: format: failed. Return code=1

params=['-F 32', '-I'], cmd=mkfs.vfat

stdout=mkfs.fat 4.2 
Bad FAT type : 32

stderr=Usage: mkfs.vfat [OPTIONS] TARGET [BLOCKS]
Create FAT filesystem in TARGET, which can be a block device or file. Use only
up to BLOCKS 1024 byte blocks if specified. With the -C option, file TARGET will be
created with a size of 1024 bytes times BLOCKS, which must be specified.

Options:
-a Disable alignment of data structures
-A Toggle Atari variant of the filesystem
-b SECTOR Select SECTOR as location of the FAT32 backup boot sector
-c Check device for bad blocks before creating the filesystem
-C Create file TARGET then create filesystem in it
-D NUMBER Write BIOS drive number NUMBER to boot sector
-f COUNT Create COUNT file allocation tables
-F SIZE Select FAT size SIZE (12, 16 or 32)
-g GEOM Select disk geometry: heads/sectors_per_track
-h NUMBER Write hidden sectors NUMBER to boot sector
-i VOLID Set volume ID to VOLID (a 32 bit hexadecimal number)
-I Ignore and disable safety checks
-l FILENAME Read bad blocks list from FILENAME

 

Thanks

Sai

0 Kudos
JingyangTeh
Employee
241 Views

Hi


After I run the Yocto build for for the langdale branch the rootfs package is in the path below:



What is the full command that you used to created the sd card image?

Are all the required files in the folder for creation and is it the same as the command in the how-to?


cd $TOP_FOLDER/sd_card

sudo python3 ./make_sdimage_p3.py -f \

-P u-boot-splx4.sfp,num=3,format=raw,size=10M,type=A2 \

-P sdfs/*,num=1,format=fat32,size=32M \

-P rootfs/*,num=2,format=ext3,size=32M \

-s 80M \

-n sdcard_a10.img


Regards

Jingyang, Teh



0 Kudos
sgannava
Beginner
189 Views

Hi Jingyang,

 

I am exactly following the same as mentioned in the documenatation. I am getting aforementioned error.

 

I have also tried by changing the size of all the partitions, but still same error, but I can see the image built. But when I see the disk partition, I culd not see the FAT32 partition.

 

As I said,  in previous reply,  "I assumed core-image-minimal-arria10.rootfs.tar.gz  as  core-image-minimal-arria10.tar.gz  and proceeded further for creating an SD image"  Could that be the problem?

 

Thanks

Sai

0 Kudos
Reply