1、下载igh源码
gary@jxes:~$ git clone https://gitlab.com/etherlab.org/ethercat.git
2、配置(可参考官方文档)
gary@jxes:~/Xenomai/xenomai-v3.2.1$ sudo cp …/…/ethercat/ . -r
gary@jxes:~/Xenomai/xenomai-v3.2.1/ethercat$ sudo ./bootstrap
- touch ChangeLog
- mkdir -p m4
- autoreconf -i
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, ‘autoconf’.
libtoolize: copying file ‘autoconf/ltmain.sh’
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, ‘m4’.
libtoolize: copying file ‘m4/libtool.m4’
libtoolize: copying file ‘m4/ltoptions.m4’
libtoolize: copying file ‘m4/ltsugar.m4’
libtoolize: copying file ‘m4/ltversion.m4’
libtoolize: copying file ‘m4/lt~obsolete.m4’
configure.ac:58: installing ‘autoconf/ar-lib’
configure.ac:57: installing ‘autoconf/compile’
configure.ac:61: installing ‘autoconf/config.guess’
configure.ac:61: installing ‘autoconf/config.sub’
configure.ac:42: installing ‘autoconf/install-sh’
configure.ac:42: installing ‘autoconf/missing’
examples/dc_user/Makefile.am: installing ‘autoconf/depcomp’
配置可以参考官方配置文档,比如–with-module-dir即指定内核源码路径,需要查看当前系统的module是什么:
gary@jxes:~/Xenomai/xenomai-v3.2.1/ethercat$ ls /lib/modules
5.13.0-30-generic 5.13.0-40-generic 5.13.0xenomai 5.15.0-60-generic 5.15.0-69-generic 5.15.106-xenomai3.2.1
下面是本人的配置,具体视情况而定:
gary@jxes:~/Xenomai/xenomai-v3.2.1/ethercat$ sudo ./configure --with-module-dir=/lib/modules/5.15.106-xenomai3.2.1 --enable-generic --enable-8139too=no --enable-e1000e --enable-cycles --enable-hrtimer --prefix=/opt/etherlab --with-xenomai-dir=/home/gary/Xenomai/xenomai-v3.2.1
如果在刚开始配置的时候没有动–prefix选项,默认是安装在/opt/下的,可以查看在/opt/路径下多了一个etherlab文件夹。
以上./configure执行失败如下:
checking for kernel for e1000e driver… configure: error: kernel 5.15 not available for e1000e driver!
原因是网卡与内核版本不匹配。
下载e100e网卡:
https://www.intel.cn/content/www/cn/zh/download/14611/15817/intel-network-adapter-driver-for-pcie-intel-gigabit-ethernet-network-connections-under-linux-final-release.html?
具体安装方法参考:
https://www.intel.cn/content/www/cn/zh/support/articles/000005480/ethernet-products.html
下载后编译安装,编译时遇到错误,是与内核版本匹配问题。
综合上面,这里只是演示下igh的源码编译,所以将e1000e网卡去掉。
sudo ./configure --with-module-dir=/lib/modules/5.15.106-xenomai3.2.1 --enable-generic --enable-8139too=no --enable-cycles --enable-hrtimer --prefix=/opt/etherlab --with-xenomai-dir=/home/gary/Xenomai/xenomai-v3.2.1
这样就配置成功,生成Makefile。
为了验证,于是重新下载了版本igh(带有E100E网卡):
https://gitlab.com/etherlab.org/ethercat/-/tree/e1000e-5.10?ref_type=heads
步骤与上面一样:
gary@jxes:~/Xenomai/xenomai-v3.2.1$ sudo cp ~/Downloads/ethercat-e1000e-5.10 . -r
gary@jxes:~/Xenomai/xenomai-v3.2.1$ cd ethercat-e1000e-5.10/
gary@jxes:~/Xenomai/xenomai-v3.2.1/ethercat-e1000e-5.10$ sudo ./bootstrap
- touch ChangeLog
- mkdir -p m4
- autoreconf -i
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, ‘autoconf’.
libtoolize: copying file ‘autoconf/ltmain.sh’
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, ‘m4’.
libtoolize: copying file ‘m4/libtool.m4’
libtoolize: copying file ‘m4/ltoptions.m4’
libtoolize: copying file ‘m4/ltsugar.m4’
libtoolize: copying file ‘m4/ltversion.m4’
libtoolize: copying file ‘m4/lt~obsolete.m4’
configure.ac:58: installing ‘autoconf/ar-lib’
configure.ac:57: installing ‘autoconf/compile’
configure.ac:60: installing ‘autoconf/config.guess’
configure.ac:

最低0.47元/天 解锁文章
2409

被折叠的 条评论
为什么被折叠?



