系统环境: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/目录下。然后将此文件打进内核中,输入如下命令:

# cp linux-kernel-v2.6.35-mpls1..patch /usr/src      //复制文件到/usr/src目录

# cd /usr/src/linux-2.6.                                         //首先进入kernel主目录下

# patch -p1 < ../linux-kernel-v2.6.35-mpls1..patch //将patch文件加载到内核文件中。

3)将内核重新进行编译

$ cd /usr/src/linux-2.6.

$ sudo make menuconfig

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

Networking options --->

Mulitprtocol Label Switching

IP:MPLSsuppor

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

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

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

$ sudo make mrproper  //清除以前曾经编译过的旧文件,如果你是第一次编译,可不执行。

$ sudo make                //重新编译内核,此过程需要较长时间。直接使用此命令可能有出现问题,可以使用:sudo make CONFIG_DEBUG_SECTION_MISMATCH=y

$ sudo make install     

$ sudo make modules  //编译模块

$ 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. php使用curl提交xml数据

    $xml_data ='<xml> <return_code><![CDATA[SUCCESS]]></return_code> <return_ ...

  2. Hibernate配置过程可能发生的问题及解决方法

    1.问题:Exception in thread "main" java.lang.NoClassDefFoundError: org/dom4j/DocumentExceptio ...

  3. NSTimer相关方法

    - (void)fire; //立即触发定时器 - (NSDate *)fireDate;//开始时间 - (void)setFireDate:(NSDate *)date;//设置fireData, ...

  4. Java对数函数及Java对数运算

    Java对数函数及Java对数运算 2010-05-17 10:32 中国IT实验室 佚名   关键字:Java   Java对数函数的计算方法非常有问题,然而在API中却有惊人的误差.但是假如运用了 ...

  5. 原创:LoadTest系列之参数时,设置提取参数的方式

    在对脚本进行参数化后,可以通过设置Data source最底层节点的属性Access Method来控制提取数据的方式. 1. 选中Data source的tables下的节点 2. 打开该节点的Pr ...

  6. 基于I2C EPPRPM(AT24C02B) + LCD12864实验

    本次实验目的:在指定的EPPROM地址中,写入一数据,延时100MS后,在从该地址中读取,并在LCD上显示. 该实验在前两天就开始做了,一开始并没有成功,读出的一直0x00,当时也调了一会,但跳回到P ...

  7. 行内元素为何不能设置margin-top、margin-bottom;padding-top、padding-bottom值

    曾经学过的教程中写明:行内元素的特点有: 1.与其他元素在同一行 2.宽度(width).高度(height).内边距的top/bottom(padding-top/padding-bottom)和外 ...

  8. java socket 多线程网络传输多个文件

    http://blog.csdn.net/njchenyi/article/details/9072845 java socket 多线程网络传输多个文件 2013-06-10 21:26 3596人 ...

  9. HDU 2167 Pebbles(状压DP)

    题目链接:Pebbles Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tota ...

  10. 使用Visual Studio 2008创建你的第一个Windows Mobile程序介绍

    使用Visual Studio 2008创建你的第一个Windows Mobile程序介绍 Windows MobileMobileWindowsMicrosoftWinForm 介绍 Microso ...