在opensuse 11.3上编译kernel添加tun设备

原创 2011年01月12日 22:40:00

在opensuse 11.3上编译kernel添加tun设备
需求
编译内核需要安装必要的编译用软件
 
binutils gcc make module-init-tools udev ......
 
获得内核源码
1.使用官方 kernel-source 包
 
不管是安装盘里面自带的还是 YaST -> 软件 -> 在线更新 得到的 kernel-source 软件包都是官方提供的打过补丁的内核源代码。
 

注意: 此包最好与系统中 kernel-default 包版本一致
 
优点: 可直接使用,安全稳定,几乎不会出错
 
缺点: 版本不会是最新的,且已经打过补丁,性能提升空间不大
 
使用说明: 直接安装使用
 
2. 自行下载原始内核代码及补丁
 
原始的内核源代码在 http://www.kernel.org 下载,补丁自行搜索下载或解压使用最新官方 src.rpm 中带的补丁。
 
注意: 使用这种途径需要你对自己的硬件以及 Linux 系统都有相当的了解。折腾的时候小心点,一般没问题。
 
优点: 灵活,版本新,性能提高明显
 
缺点: 可能找不到适合最新版本的某些补丁,要求对整个软硬件系统有相当的了解
 
使用方法: 将下载的 Linux 源代码压缩包解压移动到 /usr/src/ 目录,这里以官方目前最新稳定版内核为例:
 
$wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.37.tar.bz2
$tar jxf linux-2.6.37.tar.bz2
$su
#mv linux-2.6.37 /usr/src/
 
修改
make menuconfig
从弹出的菜单中, 选择 Device Drivers -> Network device support -> Universal TUN/TAP device driver support 为 M, 然后保存退出
 
编译内核
#make
#make modules_install
#make install
 
更新 kernel-headers
# make headers_install
 
收尾工作
至此,内核已经编译安装完成了,已经在 grub 开始菜单最下面添加了一个启动项。重启可以尝试新内核登录了。还有一些小问题需要解决。将 /usr/src/linux 指向刚编译内核的源码目录
 
#rm /usr/src/linux
#ln -s /usr/src/linux-版本号 /usr/src/linux
之后重启,用 uname -r 检查内核版本。自然,记住还要重新安装显卡驱动。
 
清理旧文件
回到内核源码目录
 
#make clean
删除 /lib/modules 下其他内核版本号对应的目录,即旧版本内核模块文件删除 /boot 下其他内核版本号对应的文件
 
清理 grub 启动列表
你可能不希望失效的原来内核仍然留在开机选单上,那么
 
#mv /boot/grub/menu.lst.old /boot/grub/menu.lst
#rm /boot/*.old && rm /boot/grub*.old
#rm /boot/vmlinuz && rm /boot/initrd
#ln -s vmlinuz-新版本号-default vmlinuz
#ln -s initrd-新版本号-default initrd
 

linux下创建tuntap网络设备

我们在VMware和Ubuntu中建立bridge虚拟网桥、eth虚拟网卡、tuntap接口设备。通过ping来传递报文,通过tuntap使用户应用程序来收发报文。...
  • q316753267
  • q316753267
  • 2016年05月10日 15:29
  • 2521

如何在Yocto中使用自己的设备树dts和内核配置

如链接 ,之前一直是直接在Yocto项目内核中修改dts,然后编译内核和我自己的层。 但是慢慢发现,修改的内容连自己都不记得,并且,一旦内核更新,内核dts又需要重新修改一遍,这样会很繁琐。 于是...
  • lijing198997
  • lijing198997
  • 2016年12月27日 21:28
  • 1548

在linux内核文件中添加自己的驱动,添加自己的linux驱动,编译自己的linux驱动程序方法和例子图文

linux驱动 例子 自己的驱动, 入门, 加入自己驱动,实测通过,生成模块文件 ko文件,如果在linux内核中编译自己驱动...
  • mynameislinduan
  • mynameislinduan
  • 2015年01月07日 16:54
  • 3338

在OpenSUSE 12.1 上编译Dom0(linux kernel 3.2.1) + Xen-4.1.2 + Virt-manager 0.9.0

经验总结: 1. 不要使用独立显卡,因为驱动不支持pv_ops kernel构架 2. 不要使用64位的发行版(ubuntu除外) 步骤: 1. 安装32bit OpenSUSE 12.1 ...
  • sdytlm
  • sdytlm
  • 2011年12月05日 11:02
  • 1801

虚拟网卡TUN/TAP设备使用实例

文章出处:http://blog.csdn.net/solstice/article/details/6579232 转载渊源:这篇文章源自陈硕老师的博客,原文讨论的主题是在绕开操作系统协议...
  • ixidof
  • ixidof
  • 2013年08月21日 16:45
  • 13707

python实现tun/tap虚拟设备

工作中用到了使用tap/tun设备实现虚拟网络,看到网上的例子都是用C实现的。便想试着用python实现一把,主要就是要重新用ctypes定义相关的结构定义。 代码github地址: https://...
  • happyAnger6
  • happyAnger6
  • 2017年03月13日 22:13
  • 733

linux TUN 虚拟网卡设备

[网络虚拟化技术(二): TUN/TAP MACVLAN MACVTAP] https://blog.kghost.info/2013/03/27/linux-network-tun/ TUN 设备...
  • s1070
  • s1070
  • 2016年08月08日 17:56
  • 516

Ubuntu 16.04虚拟网络设备tun安装

Ubuntu 16.04虚拟网络设备tun安装最近编写网络程序,需要用到tun模块,但是官方给的发行版中压根就没有这个模块.不信的话,你可以测试一下:root@ubuntu:~# modinfo tu...
  • lishuhuakai
  • lishuhuakai
  • 2017年04月20日 21:23
  • 1977

【Linux】Ubuntu14.04虚拟网络设备TUN安装

【Linux】Ubuntu14.04虚拟网络设备TUN安装
  • Joanna_yan
  • Joanna_yan
  • 2015年09月11日 13:37
  • 3066

在kernel里添加一个i2c外围设备

在kernel里添加一个已知芯片地址的外围设备的驱动,主要包含申请注册使用等 1. 定义主要变量: static struct i2c_client *key_ic_client; st...
  • u011006622
  • u011006622
  • 2017年03月09日 11:03
  • 493
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在opensuse 11.3上编译kernel添加tun设备
举报原因:
原因补充:

(最多只允许输入30个字)