系统环境:linux kernel 2.6.35。(此环境是上一篇文章中将ubuntu内核替换后的环境)

编译过程如下:

1)首先需要下载patch文件:linux-kernel-v2.6.35-mpls1.980.patch。下载链接:

http://ftp.jaist.ac.jp/pub/sourceforge/m/project/mp/mpls-linux/mpls-linux/Patches/linux-kernel-v2.6.35.13-mpls1.980.patch

或者:

http://zh.sourceforge.jp/projects/sfnet_mpls-linux/downloads/mpls-linux/Patches/linux-kernel-v2.6.35.13-mpls1.980.patch/

2)将下载后的patch文件拷贝到/usr/src/目录下。然后将此文件打进内核中,输入如下命令:

  1. # cp linux-kernel-v2.6.35-mpls1..patch /usr/src //复制文件到/usr/src目录
  2.  
  3. # cd /usr/src/linux-2.6. //首先进入kernel主目录下
  4.  
  5. # patch -p1 < ../linux-kernel-v2.6.35-mpls1..patch //将patch文件加载到内核文件中。

3)将内核重新进行编译

  1. $ cd /usr/src/linux-2.6.
  2.  
  3. $ sudo make menuconfig

这时,终端会弹出一个配置界面,将mpls的选项选中,然后保存退出。

Networking options --->

Mulitprtocol Label Switching

IP:MPLSsuppor

另外:建议将MPLS直接编译进linux内核,而不要选择模块编译,如果选择模块的话,则在系统编译完成后可能不会自动加载,这样就可能导致mpls服务无法启动。

    即在选中与mpls相关选项时,选择y, 即:“*”,它表示编译进系统内核。而不要选择M,这表示模块。

4)再次编译内核,依次输入如下命令。

  1. $ sudo make mrproper //清除以前曾经编译过的旧文件,如果你是第一次编译,可不执行。
  2.  
  3. $ sudo make //重新编译内核,此过程需要较长时间。直接使用此命令可能有出现问题,可以使用:sudo make CONFIG_DEBUG_SECTION_MISMATCH=y
  4.  
  5. $ sudo make install
  6.  
  7. $ sudo make modules //编译模块
  8.  
  9. $ sudo make modules_install //安装模块

编译完成后,mpls模块安装完成。

注意,在编译内核时可能会出现各种错误,关于错误的解决方案可以参考本博客:ubuntu系统内核替换

将MPLS编译进linux内核中的更多相关文章

  1. 【转】6.4.6 将驱动编译进Linux内核进行测试

    原文网址:http://www.apkbus.com/android-98520-1-1.html 前面几节都是将Linux驱动编译成模块,然后动态装载进行测试.动态装载驱动模块不会随着Android ...

  2. 将驱动编译进Linux内核

    *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...

  3. 35、在编译Linux内核中增加程序需要完成以下3项工作

    在编译Linux内核中增加程序需要完成以下3项工作: 将编写的源代码拷入Linux内核源代码的相应目录. 在目录的Kconfig文件中增加关于新源代码对应项目的编译配置选项 在目录的Makefile文 ...

  4. [翻译] Linux 内核中的位数组和位操作

    目录 Linux 内核里的数据结构 原文链接与说明 Linux 内核中的位数组和位操作 位数组声明 体系结构特定的位操作 通用位操作 链接 Linux 内核里的数据结构 原文链接与说明 https:/ ...

  5. 编译安装linux内核步骤

    编译安装linux内核步骤: 一.获取内核源码 源码网址:www.kernel.org 二.解压内核源码 首先以root帐号登录,然后进入/usr/src子目录.如果用户在安装Linux时,安装了内核 ...

  6. 嵌入式C语言自我修养 01:Linux 内核中的GNU C语言语法扩展

    1.1 Linux 内核驱动中的奇怪语法 大家在看一些 GNU 开源软件,或者阅读 Linux 内核.驱动源码时会发现,在 Linux 内核源码中,有大量的 C 程序看起来“怪怪的”.说它是C语言吧, ...

  7. 【总结】嵌入式linux内核中Makefile、Kconfig、.config的关系及增加开机Hello World【转】

    本文转载自:http://blog.csdn.net/fengyuwuzu0519/article/details/73772109 为了弄清内核的组织结构,我们先来实现下面这个简单的例子. 一.增加 ...

  8. TCP/IP协议栈在Linux内核中的运行时序分析

    网络程序设计调研报告 TCP/IP协议栈在Linux内核中的运行时序分析 姓名:柴浩宇 学号:SA20225105 班级:软设1班 2021年1月 调研要求 在深入理解Linux内核任务调度(中断处理 ...

  9. 向linux内核中添加外部中断驱动模块

    本文主要介绍外部中断驱动模块的编写,包括:1.linux模块的框架及混杂设备的注册.卸载.操作函数集.2.中断的申请及释放.3.等待队列的使用.4.工作队列的使用.5.定时器的使用.6.向linux内 ...

随机推荐

  1. System.Web.Optimization找不到引用怎么办?

    Install-Package Microsoft.AspNet.Web.Optimization

  2. English--Computer System

    A: Hey, Bill, Can you tell what's wrong with my computer? I can't move the mouse, I can's user the k ...

  3. C#入门经典第八章面向对象编程简介-1

    面向对象编程(Object-Oriented Programming,OOP)技术 本章中的OPP实际上是.NET OOP,这里讲的一些技术不能应用于其他OOP环境.

  4. struts1.x中web.xml文件的配置

    1.配置欢迎文件清单      当客户访问Web应用时,如果仅仅给出Web应用的Root URL,没有指定具体的文件名.Web容器会自动调用Web应用的欢迎文件.<welcome-file-li ...

  5. ms08_067利用过程

    进入msf. show exploits. use exploit/windows/smb/ms08_067_netapi. show playloads. set PLAYLOAD windows/ ...

  6. ASP.NET MVC3中的路由系统(Routes) .

    MVC中,用户访问的地址并不映射到服务器中对应的文件,而是映射到对应Control里对应的ActionMethod,由ActionMethod来决定返回用户什么样的信息.而把用户访问的地址对应到对应的 ...

  7. window下查看端口命令

    原文:http://blog.csdn.net/ldl22847/article/details/7181210 http://blog.csdn.net/xinxin19881112/article ...

  8. ural1494 Monobilliards

    Monobilliards Time limit: 1.0 secondMemory limit: 64 MB A monobilliards table set up in a gaming hou ...

  9. Unity3d之shaderLab内置变量

    float4 _WorldSpaceCameraPos camera在世界坐标系中的位置float4 _WorldSpaceLightPos0 灯光在世界坐标系中的位置 转载请注明出处: http:/ ...

  10. webapp之路--之query media

    query media是css3中的模块,对于移动端的开发是非常重要的,是响应式web设计的中不可或缺的一部分.简单点说就是根据不同移动设备的屏幕参数来制定不同的css方案以实现web的响应式开发.目 ...