Ubuntu:编译Linux内核源代码和内核模块
1. 目的
内核模块需要运行在Linux 3.8.13内核中,因此需要为此内核重新编译内核模块源代码。
2. 步骤
1、在Ubuntu 14.04 64位(内核3.13.0-24-generic)上,
编译Linux 3.8.13内核源代码,并安装编译后的Linux内核。
2、为Linux 3.8.13内核编译内核模块
3. 方法
(1)下载:Linux内核源代码压缩包
https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.8.13.tar.gz
https://www.kernel.org/pub/linux/kernel
(2)解压:Linux内核源代码压缩包
cp linux-3.8.13.tar.gz /usr/src // 拷贝
tar -zxvf linux-3.8.13.tar.gz // 解压
(3)编译并安装:Linux内核
cd /usr/src/linux-3.8.13
make menuconfig // 设置编译选项
保存退出即可。如果执行这个命令时有提示错误:
Install ncurses (ncurses-devel) and try again.
则需要安装:apt-get install libncurses5-dev
make -j4
make modules_install
make install
修改 /boot/grub/grub.cfg
把timeout值改为10,这样启动时按ESC可以选择使用哪个内核
reboot
uname -r // 检查是否是希望的内核
(4)编译:内核模块
编译内核模块时,需要使用内核源代码目录,实际使用的就是 /usr/src/linux-3.8.13
注意:要使用编译后的内核源代码目录
内核模块的实现和编译方法参考:
http://blog.csdn.net/ddk3001/article/details/49174311
4. 参考
http://blog.csdn.net/fly_qj/article/details/8349591
http://blog.chinaunix.net/uid-24782829-id-3211008.html
https://linux.cn/article-4625-1.html
http://www.cnblogs.com/dyllove98/archive/2013/07/20/3202824.html
Ubuntu:编译Linux内核源代码和内核模块的更多相关文章
- 使用Ubuntu编译Linux内核
1.下载内核并解压到 /usr/src 目录下 在终端执行以下命令即可下载 4.16.14版本(目前最新的稳定版)的内核到当前shell打开的目录下 wget https://cdn.kernel.o ...
- linux内核源代码、配置与编译
内核源代码下载:www.kernel.org Linux内核源代码采用树形结构进行组织,非常合理地把功能相关的文件都放在同一个子目录下,使得程序更具可读性. linux内核代码最好不要在windows ...
- 为什么要编译Linux内核?
新的内核修订了旧内核的bug,并增加了许多新的特性.如果用户想要使用这些新特性,或想根据自己的系统度身定制一个更高效,更稳定的内核,就需要重新编译Linux内核. 通常,更新的内核会支持更多的硬件,具 ...
- 《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #2 如何编译Linux内核
HACK #2 如何编译Linux内核 本节介绍编译Linux内核的方法.当发现bug而修改源代码或者添加新功能时,就需要对内核进行重新编译,生成二进制映像文件.另外,如果想要使用发布版内核中无效的功 ...
- 35、在编译Linux内核中增加程序需要完成以下3项工作
在编译Linux内核中增加程序需要完成以下3项工作: 将编写的源代码拷入Linux内核源代码的相应目录. 在目录的Kconfig文件中增加关于新源代码对应项目的编译配置选项 在目录的Makefile文 ...
- 安装debian总结以及编译linux内核
1. 安装debian 使用unetbootin(http://unetbootin.sourceforge.net/)来创建启动盘,并且下载debian的基本包. 将磁盘进行压缩操作,并且保留出一个 ...
- Centos下编译Linux内核
Linux内核编译是一件简单却费事的事.但是独立的编译linux内核会帮助你很好的理解Linux内核的工作机理. 首先编译linux内核我们需要在当前linux操作系统下安装gcc编译器,因为我是Ce ...
- Mac下重新编译Linux内核
Mac下重新编译Linux内核 操作系统实验,要求添加系统调用并重新编译内核,这里记录一下编译内核的过程 0.下载VirtualBox 博主一直用parallel desk,但因为驱动等问题,在PD上 ...
- 编译Linux内核(Mac OS平台)
操作系统第一次实验需要编译Linux内核,我之前在Mac上一直使用的都是Parallels Desktop这个软件,所以这次也将课程网站上提供的Ubuntu安装在了PD上,但是编译完内核后无法进入Ub ...
随机推荐
- Java通过复选框控件数组实现添加多个复选框控件
编写程序,通过复选框控件数组事先选择用户爱好信息的复选框,在该程序中,要求界面中的复选框数量可以根据指定复选框名称的字符串数组的长度来自动调节. 思路如下: 创建JPanel面板对象: 使用JPane ...
- LeetCode[Array]----3Sum
3Sum Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find a ...
- Core Java笔记
前言 一·基础知识 二·定义,关键字和类型 三·表达式和控制流 四·数组 五·对象和类 六·高级语言特性 七·异常 八·图形用户接口 九·AWT(Abstract Window Toolkit) 事件 ...
- 7 -- Spring的基本用法 -- 12... Spring 3.0 提供的表达式语言(SpEL)
7.12 Spring 3.0 提供的表达式语言(SpEL) Spring表达式语言(简称SpEL)是一种与JSP 2 的EL功能类似的表达式语言,它可以在运行时查询和操作对象图.支持方法调用和基本字 ...
- 九度 1482:玛雅人的密码(BFS)
题目描述: 玛雅人有一种密码,如果字符串中出现连续的2012四个数字就能解开密码.给一个长度为N的字符串,(2=<N<=13)该字符串中只含有0,1,2三种数字,问这个字符串要移位几次才能 ...
- 使用srvany.exe将程序安装成windows服务的详细教程
srvany.exe介绍 srvany.exe是Microsoft Windows Resource Kits工具集的一个实用的小工具,用于将任何EXE程序作为Windows服务运行.也就是说srva ...
- ios开发之--复制到剪切板
仅做记录: UIPasteboard *pasteboard = [UIPasteboard generalPasteboard]; pasteboard.string = @"你好&quo ...
- linux下查看当前目录属于哪个分区?
下班之前写哈今天用的一个新命令. df -h /opt/test
- FFmpeg X264的preset和tune
鉴于x264的参数众多,各种参数的配合复杂,为了使用者方便,x264建议如无特别需要可使用preset和tune设置.这套开发者推荐的参数较为合理,可在此基础上在调整一些具体参数以符合自己需要,手动设 ...
- Shell 中的反引号(`),单引号('),双引号(")
在写shell的时候老是傻傻分不清楚,今天来理一理. 1.反引号位 (`) 位于键盘的Tab键的上方.1键的左方.注意与单引号(')位于Enter键的左方的区别. 在Linux中起着命令替换的作用.命 ...