Thank you Marek and Ross. @Ross: I had a look into log.do_configure and found
checking for Linux kernel sources... /usr/src/linux-headers-6.5.0-14-generic (Kernel 6.5) but these are from the host, my target kernel is a 6.1 with PREEMPT_RT ! Also it suggests to look into config.log, where I find $ ../ethercat/configure --build=x86_64-linux --host=x86_64-poky-linux --target=x86_64-poky-linux --prefix=/usr --exec_prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/libexec --datadir=/usr/share --sysconfdir=/etc --sharedstatedir=/com --localstatedir=/var --libdir=/usr/lib --includedir=/usr/include --oldincludedir=/usr/include --infodir=/usr/share/info --mandir=/usr/share/man --disable-silent-rules --disable-dependency-tracking --with-libtool-sysroot=/home/vboxuser/yocto/poky/build/tmp/work/corei7-64-poky-linux/etherlab/0.1/recipe-sysroot --disable-static so in fact my arguments aren't there. -------- I tried the recipe from Marek (leaving --enable-igb and removing --disable-igb as suggested by Ross) and I got | checking for kernel for igb driver... configure: error: kernel 6.1 not available for igb driver! An internet search shows that the intel igb driver failing to build with several recent kernels 6.x seems known, and not related to yocto. So I gave up igb and settled for the generic driver with the following modification: EXTRA_OECONF = "--enable-generic --disable-igb --disable-8139too --with-linux-dir=${STAGING_KERNEL_BUILDDIR}" This way, bitbake completes without errors and I am able to test my image. When I try to start the ethercat master with /etc/init.d/ethercat start I get: Start EtherCAT master 1.6.0-rc1 modprobe: FATAL: Module ec_master not found in directory /lib/modules/6.1.59-rt16-intel-pk-preempt-rt failed and in fact there is no ec_master.ko in /lib/modules (nor anywhere else). If I understand correctly https://docs.yoctoproject.org/ref-manual/classes.html#autotools, the inherited autotools run configure behind the scenes. But the Etherlab installation instructions are: ./bootstrap ./configure { with args as needed } make all modules make modules_install install depmod bootstrap just contains an "autoreconf -i" which, according to the doc, is also automatically run behind the scenes. Arguments for configure are supplied through EXTRA_OECONF and are OK make modules and make modules_install are probably not run. I see from the doc that there is also an EXTRA_OEMAKE variable which should pass additional arguments to make. So I try: EXTRA_OEMAKE = "all modules" but so bitbake fails. I see in log.do_compile: /home/vboxuser/yocto/poky/build/tmp/work-shared/intel-corei7-64/kernel-source/scripts/Makefile.build:44: /home/vboxuser/yocto/poky/build/tmp/work/corei7-64-poky-linux/ethercat/1.6.0-rc1+git/build/../git/Makefile: No such file or directory I also see a worrying warning: warning: the compiler differs from the one used to build the kernel The kernel was built by: x86_64-poky-linux-gcc (GCC) 13.2.0 You are using: gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 Why is it using the compiler from the host? How can I add the custom make commands and depmod? Thank you in advance for your replies. -- Daniele Lugli General Logic srl Viale Curreno, 41 10133 Torino Italy tel +39 329 3933041 www.general-logic.com ( http://www.general-logic.com/ ) www.linkedin.com/in/daniele- lugli ( http://www.linkedin.com/in/daniele-lugli )
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#62206): https://lists.yoctoproject.org/g/yocto/message/62206 Mute This Topic: https://lists.yoctoproject.org/mt/103796912/21656 Group Owner: yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-