sdk rpi3 & rpi4 different sysroot


Ed Vidal
 

Hi,
Any and all help is appreciated. Thanks in advance.
Question 1
I tried using the sdk to build icestorm (a makefile project).  The sysroot for rpi3 sdk & rpi4 sdk are
missing a ftdi.h header.  The target rpi4 builds icestorm okay.  see steps below.

Question 2
What is the procedure to update the meta-raspberrypi repo?
An issue with core-image-sato for rpi3 required adding
vidal@ws009:~/wkg/yocto-zeus-3.0/raspberrypi4/poky/meta-raspberrypi$ git diff
diff --git a/conf/machine/raspberrypi3.conf b/conf/machine/raspberrypi3.conf
index 581e47c..43a0a25 100644
--- a/conf/machine/raspberrypi3.conf
+++ b/conf/machine/raspberrypi3.conf
@@ -18,3 +18,4 @@ UBOOT_MACHINE = "rpi_3_32b_config"
SERIAL_CONSOLES ?= "115200;ttyS0"
 
ARMSTUB ?= "armstub7.bin"
+ENABLE_UART = "1"
For rpi4 build I made the same in raspberrypi4.conf 
diff --git a/conf/machine/raspberrypi4.conf b/conf/machine/raspberrypi4.conf
index 1bcf931..0b91515 100644
--- a/conf/machine/raspberrypi4.conf
+++ b/conf/machine/raspberrypi4.conf
@@ -18,3 +18,4 @@ SERIAL_CONSOLES ?= "115200;ttyS0"
 
VC4DTBO ?= "vc4-fkms-v3d"
ARMSTUB ?= "armstub7.bin"
+ENABLE_UART = "1"
Question 3
Why is the header file ftdi.h missing in rpi4 sdk and not used in rpi3 sdk? 

vidal@ws009:~/wkg/test-yocto-sdk$ git clone https://github.com/develone/icestorm.git

vidal@ws009:~/wkg/test-yocto-sdk$ . /opt/poky/3.0.1/rpi4/environment-setup-cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi

vidal@ws009:~/wkg/test-yocto-sdk$ cd icestorm/

vidal@ws009:~/wkg/test-yocto-sdk$ echo ${CC}
arm-poky-linux-gnueabi-gcc -mthumb -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a7 --sysroot=/opt/poky/3.0.1/rpi4/sysroots/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi

vidal@ws009:~/wkg/test-yocto-sdk/icestorm$ time make -e

The following error:
make[1]: Entering directory '/home/vidal/wkg/test-yocto-sdk/icestorm/iceprog'
arm-poky-linux-gnueabi-gcc  -mthumb -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a7 --sysroot=/opt/poky/3.0.1/rpi4/sysroots/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi  -O2 -pipe -g -feliminate-unused-debug-types    -c -o iceprog.o iceprog.c
iceprog.c:27:10: fatal error: ftdi.h: No such file or directory
   27 | #include <ftdi.h>
      |          ^~~~~~~~
compilation terminated.

Tried to locate ftdi.h using the command below none was found in my rpi4 sdk sysroot.

vidal@ws009:~/wkg/test-yocto-sdk/icestorm$ find /opt/poky/3.0.1/rpi4/sysroots/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/ -name ftdi.h

A ftdi.h file was found in my rpi3 sdk sysroot.
vidal@ws009:~/wkg/test-yocto-sdk/icestorm$ find /opt/poky/3.0.1/sysroots/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/ -name ftdi.h
/opt/poky/3.0.1/sysroots/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/usr/include/libftdi1/ftdi.h

The only difference between the raspberrypi3 & raspberrypi4 builds are below.
vidal@ws009:~/wkg/yocto-zeus-3.0/raspberrypi4/build$ diff ../../build/conf/local.conf conf/local.conf 
39c39
< MACHINE ??= "raspberrypi3"
---
> MACHINE ??= "raspberrypi4"
66a67
> DL_DIR ?= "/home/vidal//wkg/yocto-zeus-3.0/build/downloads"
Testing rpi3 sdk

vidal@ws009:~/wkg/test-yocto-sdk/icestorm$ . /opt/poky/3.0.1/environment-setup-cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi

vidal@ws009:~/wkg/test-yocto-sdk/icestorm$ echo ${CC}
arm-poky-linux-gnueabi-gcc -mthumb -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a7 --sysroot=/opt/poky/3.0.1/sysroots/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi

vidal@ws009:~/wkg/test-yocto-sdk/icestorm$ make -e

The rpi3 sdk gets the same error as the rpi4 sdk (see above). 
target rpi4
real 23m38.686s
user 23m16.332s
sys 0m9.949s

AMD 6 core sdk
real 3m33.809s
user 3m33.304s
sys 0m0.556s


Let me know if I can provide additional information,
Regards
Edward Vidal Jr. e-mail develone@... 915-595-1613

Join yocto@lists.yoctoproject.org to automatically receive all group messages.