Linux系统内核编译方法指导

&">nbsp;   随着 Linux 操作系统的广泛应用,特别是 Linux 在嵌入式领域的发展,越来越多的人开始投身到 Linux 内核级的开发中。面对日益庞大的 Linux 内核源代码,开发者在完成自己的内核代码后,都将面临着同样的问题,即如何将源代码融入到 Linux 内核中,增加相应的 Linux 配置选项,并最终被编译进 Linux 内核。这就需要了解 Linux 的内核配置系统。

众所周知,Linux 内核是由分布在全球的 Linux 爱好者共同开发的,Linux 内核每天都面临着许多新的变化。但是,Linux 内核的组织并没有出现混乱的现象,反而显得非常的简洁,而且具有很好的扩展性,开发人员可以很方便的向 Linux 内核中增加新的内容。原因之一就是 Linux 采用了模块化的内核配置系统,从而保证了内核的扩展性。

1.需要先安装编译环境

进入 root 帐户:

> su
   
    输入密码

安装必要的工具:

> apt-get install build-essential

(安装 gcc, make 等)

> apt-get install libncurses-dev

(安装 make menuconfig 时必须的库文件)

> apt-get install kernel-package, fakeroot

(Debian 系统里生成 kernel-image 的一些配置文件和工具)

> apt-get install initramfs-tools, module-init-tools

时间: 2024-10-02 05:55:34

Linux系统内核编译方法指导的相关文章

分析Linux操作系统内核各种方法浅谈

Linux的最大的好处之一就是它的源码公开.同时,公开的核心源码也吸引着无数的电脑爱好者和程序员:他们把解读和分析Linux的核心源码作为自己的最大兴趣,把修改Linux源码和改造Linux系统作为自己对计算机技术追求的最大目标. Linux内核源码是很具吸引力的,特别是当你弄懂了一个分析了好久都没搞懂的问题:或者是被你修改过了的内核,顺利通过编译,一切运行正常的时候.那种成就感真是油然而生!而且,对内核的分析,除了出自对技术的狂热追求之外,这种令人生畏的劳动所带来的回报也是非常令人着迷的,这也

c语言-linux C 编译 动态库.so 提示 方法load failed

问题描述 linux C 编译 动态库.so 提示 方法load failed makefile里:libtest.so: 1.o 2.o 3.o 4.o gcc -shared -fPIC -o libtest.so 1.c 1.c 用到的方法都在2.o3.o4.o里, 现在编译libtest.so没问题,但是程序跑的时候,提示 1.c调用2.o里的方法load fail:小弟没怎么弄过makefile, 求大神指点! 解决方案 把所有用到的so也放到程序当前目录 解决方案二: http://

Linux下编译redis和phpredis的方法_php技巧

本文讲述了Linux下编译redis和phpredis的方法.分享给大家供大家参考,具体如下: 1.准备工作 下载软件:本站下载地址. 操作系统:CentOS 5.5 redis 版本:redis-2.6.9 2.编译安装 tar zxvf redis-2.6.9.tar.gz //解压 cd redis-2.6.9 make //编译 如果出现如下错误: zmalloc.o: In function `zmalloc_used_memory': /data/redis-2.6.9/src/zm

linux 模块编译步骤

本文将直接了当的带你进入linux的模块编译.当然在介绍的过程当中,我也会添加一些必要的注释,以便初学者能够看懂.之所以要写这篇文章,主要是因为从书本上学的话,可能要花更长的时间才能学会整个过程,因为看书的话是一个学习过程,而我这篇文章更像是一个培训.所以实践性和总结性更强.通过本文你将会学到编译一个模块和模块makefile的基本知识.以及加载(卸载)模块,查看系统消息的一些知识: 声明:本文为初学者所写,如果你已经是一个linux模块编译高手,还请指正我文章中的错误和不足,谢谢 第一步:准备

Linux下编译安装php libevent扩展实例

 这篇文章主要介绍了Linux下编译安装php libevent扩展实例,本文着重讲解了编译过程中一个错误解决方法,需要的朋友可以参考下     原本想尝试一下PHP编写高性能网络服务,需要安装libevent扩展,没想到让人很费了点脑袋 先下载libevent扩展: http://pecl.php.net/package/libevent 解压后,开始编译 代码如下: $ cd libevent-version $ /usr/local/php/bin/phpize $ ./configure

在linux下编译软件和第三方库时不分debug和release吗?

问题描述 在linux下编译软件和第三方库时不分debug和release吗? 在win下,通常需要编译debug和release两个版本. 但是我在linux下编译一些第三方的软件和类库,例如QT/jsoncpp/ACE等等在编译的时候都只能选择debug和release中的一个版本,很少有能同时编译两个版本的. 而且用官方的安装软件编译的QT5.5,我查看文件也发现只有一个版本链接库,在QtCreator却可以生成debug和release两种版本的代码.很困惑究竟是为什么?是Qt的原因还是

如何在Kali Linux上编译Windows漏洞!

Mingw-w64是一个用于创建Windows应用程序的自由和开源软件开发环境. Mingw-w64最初叫Mingw32,它当时不支持64位架构. 在本教程中,我们将讨论如何使用Mingw-64在 Kali Linux上编译Windows漏洞. 让我们开始在Kali Linux上安装Mingw-w64. 1.在Kali Linux上安装Mingw-w64 默认情况下,Kali Linux 2016.2和更低版本上未安装Mingw-w64. 因此,我们需要先安装它,然后才能在Linux上编译Win

在 Linux下编译及调试 C 代码的简易指南

对于Linux下的C程序员来 说,几乎天天都会和Linux打交道.但在很多人的眼中,Linux是一个易用性极差.靠命令驱动的操作系统,根本无法与有着友好用户界面的 Windows相比.确实是这样的,即使大家的程序是运行在Linux下,基于以下种种原因,我们的大部分工作还是在Windows下完成的: 第一,除了编译调试代码之外,每个程序员还有很多工作要做,像文档编写.邮件发送及回复.PPT制作等,这些工作在Windows下做要更方便快捷一些. 第二,公司及项目组的资源有限,一般不会为每个开发人员配

嵌入式 Linux下编译并使用curl静态库

 #x86 ./configure --disable-shared --enable-static --disable-ftp --disable-ipv6 --disable-rtsp --disable-tftp --disable-telnet --disable-largefile --disable-smtp --disable-imap --without-ssl --without-libssh2 --without-zlib --without-librtmp --withou