现在我正在学习内核模块,所以我在虚拟机中使用kernel 4.4.0-28-generic设置了一个Ubuntu16.04。
我安装了这个软件包
# dpkg -l | grep linux
ii console-setup-linux 1.108ubuntu15 all Linux specific part of console-setup
ii libselinux1:amd64 2.4-3build2
我尝试在Ubuntu16.04上安装tun,它生成tun.ko,但仍然不能工作。
1
Uname -a Linux主机-名称4.10.0-42-通用#46~16.04.1-Ubuntu Dec 4 15:57:59 UTC 2017 UTC x86_64 GNU/Linux
2
apt-获取安装linux-源代码-4.10.0
3.
cd /usr/src/linux-源代码-4.10.0menuconfig->设备驱动程序->网络设备支持>通用TUN/TAP设备驱动程序支持
然后将其保存为tun.config。
4.
使模块生成/ tun.ko /
当我在内核中使用insmod data/linux/openvswitch.ko插入内核模块时出现了错误。错误显示如下所示:
insmod: error inserting 'datapath/linux/openvswitch.ko': -1 Unknown symbol in module
dmesg | tail的输出是:
openvswitch: Unknown symbol ipv6_ext_hdr
有人知道这件事吗?
我的内核是:
Linux version 2.6.32_1-14-0-0 (gcc version 4.4.4 20100726 (Red Hat 4
我试图在安装内核4.19.188- am 64时发出命令。但在No space left on device命令2小时后,我得到了make。我增加了/tmp文件夹,将TMPDIR设置为主目录中的一个文件夹,但没有任何帮助。
然后,我执行watch命令来监视根环境中的/tmp、$TMPDIR、$TMPDIR空间,并且没有注意到它们中的任何一个都有任何大小的增加。
错误:
LD [M] drivers/gpu/drm/mgag200/mgag200.ko
LD [M] drivers/gpu/drm/nouveau/nouveau.ko
LD [M] drivers/gpu/dr
我正在从事linux内核开发,并试图制作自己的模块用于测试目的。但是,对于最新的内核源代码,linux-headers并不存在。它只存在于4.9.0-7。
我在谷歌上找到了一种方法,我们可以根据我们想要的内核源代码树对模块进行make (例如:4.18)为我的模块生成.ko的make -C /home/prasad/linux-4.18/ M=$(PWD)。然而,当我加载我的内核并insmod它时,它会说
insmod: ERROR: could not insert module test.ko: Unknown symbol in module
那么,如何从我的主机生成可以插入到4.18内
我似乎有一个奇怪的问题,安装一个新的自定义内核。update-initramfs在dpkg -i期间失败:
update-initramfs: Generating /boot/initrd.img-5.15.7-hardened1-test1
find: ‘/tmp/user/0/mkinitramfs_gHxWMQ/lib/modules/5.15.7-hardened1-test1/kernel’: No such file or directory
Generating grub configuration file ...
Found linux image: /boot/vmlin