编译debian内核

玩腻了开发板,在pc上编译linux内核。

debian 官方的内核文档见http://kernel-handbook.alioth.debian.org

我选择编译与当前内核版本对应的linux内核源码,因为我安装了linux3.13 backport内核,所以选择下面命令:


apt-get install linux-source-3.13

解压缩源代码:


cd /usr/src
tar xf linux-source-3.13.tar.xz
cd linux-source-3.13

某些内核还需要打补丁(patch -p1 < linux-patch.patch),可根据需要自己加上补丁代码,更详细的patch资料可以查看这里

将/boot下的config文件拷贝到linux源代码下:


cp /boot/config-3.13-0.bpo.1-amd64  .config

然后进行编译即可:

make

经过相当长时间编译后生成的 arch/x86/boot/bzImage 即是对应的vmlinuz文件。

时间: 2024-10-12 20:00:47

编译debian内核的相关文章

debian内核代码执行流程(一)

本文根据debian开机信息来查看内核源代码. 系统使用<debian下配置dynamic printk以及重新编译内核>中内核源码来查看执行流程. 使用dmesg命令,得到下面的开机信息: [ 0.000000] Initializing cgroup subsys cpuset [ 0.000000] Initializing cgroup subsys cpu [ 0.000000] Linux version 3.2.57 ([email protected]) (gcc versio

Linux 编译安装内核

一.简介 内核,是一个操作系统的核心.它负责管理系统的进程.内存.设备驱动程序.文件和网络系统,决定着系统的性能和稳定性.Linux作为一个自由软件,在广大爱好者的支持下,内核版本不断更新.新的内核修订了旧内核的bug,并增加了许多新的特性.如果用户想要使用这些新特性,或想根据自己的系统度身定制一个更高效,更稳定的内核,就需要重新编译内核. 本文将以kernel linux-2.6.32.4版本为实验介绍的内核编译与安装一般方法,这些方法适合大多数Linux系统(包括RedHat.Ubuntu.

删除多余的自编译的内核、mysql连接不了的问题

1.删除多余的自编译的内核 每次Debian发布内核更新,总是有某些内核选项跟自己的硬件不配套,要自己编译内核.编译多了,多余的内核就占用了多余的硬盘空间.我就试过因为/boot分区满了,而导致编译内核失败.为了腾出有限的资源,删除多余的内核很有必要. 看到了卸载自己编译的内核 找到了可行的方法. 主要的思路是,在/lib/modules/./boot文件夹下删除多余的文件,然后更新grub就可以了. 下面是效果图 删除前,多个自编译内核 删除/lib/modules/./boot下面的文件 由

实例:编译Linux内核3.18.25概要

前提: 将CentOS 7上3.10.0-229.el7.x86_64重新编译一个3.18.25内核 自编译安装,按照自己的硬件平台架构编译,能最适合硬件主机的性能 且按照需要编译模块,可以选择自己需要的包编译 [[email protected] tmp]# uname  -a 一.编译前准备工作 1.宿主机系统 本次编译宿主机:VMware Workstation Pro12 上的CentOS 7.0操作系统 2.开发环境(开发工具,开发库),头文件 [[email protected] y

Vs2012在Linux开发中的应用(8): 编译Linux内核

快乐虾 http://blog.csdn.net/lights_joy/ 欢迎转载,但请保留作者信息 在有了UBOOT的编译基础之后,编译Linux内核就简单多了,所不同的只有两个地方,一个是错误信息的转换,另一个是内核需要进行参数配置. 1.1    错误信息转换 UBOOT的错误信息中,文件名是不带路径的,而内核的错误信息中,文件名是带相对路径的,因此我们对转换脚本略做修改: #user code begin classCUBootMake: error=False defBuild(sel

1-18 编译安装内核支持ntfs文件系统

大纲: 源码编译Linux内核 使用Linux内核模块 实战:编译一个NTFS内核模块,实现Linux挂载NTFS文件系统并实现读写功能 =================================================================== 一.源码编译Linux内核 通常我们想对内核进行升级时,可通过下载源码包,编译内核的方式,对内核进行升级 源码包的下载地址在:www.kernel.org 我们可以直接在linux系统中直接下载,如下命令: wget http

CentOS 6.5 编译升级内核

1.下载内核,官网:https://www.kernel.org/ 这里用了3.18.30的版本了,系统信息如下: 2.编译前准备 安装编译依赖 # yum grouplist  //查看已经安装的和未安装的软件包组,来判断我们是否安装了相应的开发环境和开发库: # yum groupinstall "DevelopmentTools"  //一般是安装这两个软件包组,这样做会确定你拥有编译时所需的一切工具 # yum install ncurses-devel //你必须这样才能让 

Android系统篇之—-编写简单的驱动程序并且将其编译到内核源码中【转】

本文转载自:大神 通过之前的一篇文章,我们了解了 Android中的Binder机制和远程服务调用 在这篇文章中主要介绍了Android中的应用在调用一些系统服务的时候的原理,那么接下来就继续来介绍一下如何通过编译Android源码来手动添加一个系统服务,让编译之后的Android系统中存在我们的这个服务,每个应用都可以调用.但是本文得先介绍一下如何编写一个简单的驱动程序,先介绍了驱动程序,然后在通过JNI让framework层访问这个驱动程序,在通过注册服务来封装这个功能,最后在把这个服务添加

Android系统篇之----编写简单的驱动程序并且将其编译到内核源码中

通过之前的一篇文章,我们了解了 Android中的Binder机制和远程服务调用 在这篇文章中主要介绍了Android中的应用在调用一些系统服务的时候的原理,那么接下来就继续来介绍一下如何通过编译Android源码来手动添加一个系统服务,让编译之后的Android系统中存在我们的这个服务,每个应用都可以调用.但是本文得先介绍一下如何编写一个简单的驱动程序,先介绍了驱动程序,然后在通过JNI让framework层访问这个驱动程序,在通过注册服务来封装这个功能,最后在把这个服务添加到系统中,实现上层