在Debian Wheezy 7.3.0上编译安装3.12.14内核
最近需要对Linux的一个内核模块进行调整实验,故决定先在虚拟机中完成编译调试工作,最后再在真实的系统上进行测试。为了防止遗忘,把过程记录于此。
1. 准备系统环境
首先从官网下载最新版的VirtualBox和Debian Wheezy 7.3.0的32位网络安装版CD镜像文件(debian-7.3.0-i386-netinst.iso)。然后就可以载入光盘开始安装了,安装的时候有几点需要注意:
- 选择语言、地区的时候,最好选择English / Hong Kong,如果选择中文则可能会出现乱码
- 选择安装哪些组件的时候,只要选择“标准系统组件”就行了,其它的都不装
- 如果之后要写到8G的U盘或者CF卡里,最好建立虚拟硬盘的时候就设置得小一些,比如7.2GB,要确保能写得下,否则之后还需要用resize2fs和fdisk重新调整,这就比较麻烦了
2. 下载内核源码,安装必需的软件
Debian Wheezy默认没有提供sudo工具,所以可以先把它装上。
su root...
apt-get install sudo
exit
但是现在还是不能使用sudo,为了能让普通用户能够使用sudo,需要将用户加到/etc/sudoers文件中。
su root...
vi /etc/sudoers
再次进入特权模式,找到文件中的下面这一行:
root ALL=(ALL:ALL) ALL
在下面添加一行,变成这样(其中feng32是作者的用户名):
root ALL=(ALL:ALL) ALL
feng32 ALL=(ALL:ALL) ALL
然后退出保存,就可以使用sudo来临时获得管理员权限了。接着安装使用更方便的vim,方便之后的操作:
exit
sudo apt-get install vim
接着安装两个编译内核真正需要的软件包:
sudo apt-get install kernel-package
sudo apt-get install libncurses5-dev
最后从kernel.org上下载Linux内核源码。这里我选择的是最新的longterm版本3.12.14。
wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.12.14.tar.xz
3. 解压内核源代码
Debian Wheezy默认就整合了xz工具,所以可以直接解压。
xz -d linux-3.12.14.tar.xz
tar xf linux-3.12.14.tar
4. 配置、编译内核
解压得到约520MB的文件,位于当前用户的home目录下。接着从现有的内核中获取配置信息,运行:
cd linux-3.12.14
make oldconfig
配置系统会询问很多新出现的配置选项,直接回车选择默认项即可。然后运行:
make menuconfig
确保你需要的特性都已经包括,按ESC退出配置。最后运行下面的指令开始编译:
make-kpkg clean
fakeroot make-kpkg --initrd --append-to-version=-hlcodel --revision=1.0 kernel_image
在虚拟机中,单线程编译3.12.14内核大约要花费1.5小时。在编译完成之后,home目录下出现了一个deb文件:linux-image-3.12.14-hlcodel_1.0_i386.deb。
5. 安装内核
使用下面的命令安装这个deb包:
dpkg -i linux-image-3.12.14-hlcodel_1.0_i386.deb
完成后重启,然后运行unamr –r,如果出现下面的输出,则代表安装已经完成了:
3.12.14-hlcodel
在Debian Wheezy 7.3.0上编译安装3.12.14内核的更多相关文章
- Ubuntu 11.10 (Oneiric)上编译带utrace补丁的内核 转
Ubuntu 11.10 (Oneiric)上编译带utrace补丁的内核 首先准备linux内核编译环境: sudo apt-get install fakeroot build-essential ...
- Linux上编译安装PHP
这篇文章主要介绍了关于Linux上编译安装PHP,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 之前在服务器上编译安装了PHP运行环境,但是安装完过了一段时间就差不多忘记了,只是零零星 ...
- 在CUDA8.0下编译安装OpenCV3.1.0来实现GPU加速(Compiling OpenCV3.1.0 with CUDA8.0 support)
在CUDA8.0下编译安装OpenCV3.1.0 一.本人电脑配置:ubuntu 14.04, NVIDIA GTX1060. 二.编译OpenCV3.1.0前,读者需要成功安装CUDA8.0(网上有 ...
- MAC 上编译安装nginx-rtmp-module 流媒体服务器
MAC 上编译安装nginx-rtmp-module 流媒体服务器 记录踩坑过程 下载nginx和nginx-rtmp-module wget http://nginx.org/download/ng ...
- CentOS-7.3.1611编译安装 Nginx-1.12.1+mysql-5.7.19+PHP-7.1.8+zabbix-3.4.1
CentOS-7.3.1611编译安装 Nginx-1.12.1+mysql-5.7.19+PHP-7.1.8+zabbix-3.4.1 下载软件 1.下载nginx http://nginx.org ...
- 对<< ubuntu 12.04编译安装linux-3.6.10内核笔记>>的修正
前题: 在前几个月的时候,写了一篇笔记,说的是kernel compile的事情,当时经验不足,虽说编译过了,但有些地方写的有错误--因为当时的理解是有错误的.今天一一更正,记录如下: 前文笔记链接: ...
- CentOS 6.9编译安装Python-2.7.14(python升级)
参考 Python官网:https://www.python.org/ 阿里云 https://www.aliyun.com/jiaocheng/517192.html 一.查看CentOS版本和系统 ...
- 编译安装 nginx -1.14.2
编译安装 nginx -1.14.2 1 ) 下载nginx-1.14.2 源码包: wget http://nginx.org/download/nginx-1.14.2.tar.gz 2 ) 编译 ...
- 在树莓派1B上编译安装lnmp服务器
最近一周给部门内部搭建考试系统,选择使用PHPEMS.这是个开源的系统,唯一缺点是PHP的版本比较低,只能使用5.2或5.3.而我的树莓派系统更新后使用apt-get安装得到的PHP版本为5.4.由于 ...
随机推荐
- DWZ简介及其使用
来源:http://blog.csdn.net/t123012009065/article/details/8286826 DWZ简介: DWZ富客户端框架(jQuery RIA framewor ...
- 三维FEM的刚度矩阵数量级
刚刚在调试三维的FEM代码,随手把全局刚度矩阵在FULL的情况下保存到了dat文件里. 注意,这个仅仅是一个半径为十的球的刚度矩阵 居然3.6G!!吓坏了!!截个图,留个纪念.还是老老实实用spars ...
- POJ2955:Brackets(区间DP)
Description We give the following inductive definition of a “regular brackets” sequence: the empty s ...
- javascript之闭包深入理解(二)
在上一节中,详细理解了作用域链和垃圾回收机制,似乎这两点跟闭包关系不大,但是仔细想一想就会发现,其实不然.这一节将通过上一部分的说明详细理解闭包.请看代码: function createCompar ...
- 《Javascript模式》之对象创建模式读书笔记
引言: 在javascript中创建对象是很容易的,可以使用对象字面量或者构造函数或者object.creat.在接下来的介绍中,我们将越过这些方法去寻求一些其他的对象创建模式. 我们知道js是一种简 ...
- linux下定时任务
一.linux定时任务软件种类 .at : 适合执行一次的任务.突发性的任务.需要启动 atd 服务才能执行任务. .crontab: 周期性的执行任务工作:启动crond 服务后可以执行任务.最常用 ...
- JS函数与call()apply()详解
JavaScript中的每个函数都是一个对象. 因为函数都是对象,它们有自己的属性和方法.我们可以把它们看作数据(data). 函数和方法的区别? 函数立足于它们自己(例如:alert()), 而方法 ...
- memcache memcached 区别
.目前大多数php环境里使用的都是不带d的memcache版本,这个版本出的比较早,是一个原生版本,完全在php框架内开发的.与之对应的带d的memcached是建立在libmemcached的基础上 ...
- mvc4 整合nhibernate3.0配置
鉴于大家都在解决问题或是学习新东西的时候,并不关注是谁又是谁帮你解决了问题,所有这里为自己做下宣传,我为自己代言. 首先介绍下我的开发环境是vs2010旗舰版,nhibernate采用的是3.0版本. ...
- 用法总结:NSArray,NSSet,NSDictionary-备用
Foundation framework中用于收集cocoa对象(NSObject对象)的三种集合分别是: NSArray 用于对象有序集合(数组)NSSet 用于对象无序集合 (集合)NS ...