如何编译linux源代码

我已经下载了Linux源码,该怎么编译呢?在Ubuntu命令框里输命令?

首先uname -r看一下你当前的linux内核版本

1、linux的源码是在/usr/src这个目录下,此目录有你电脑上各个版本的linux内核源代码,用uname -r命令可以查看你当前使用的是哪套内核,你把你下载的内核源码也保存到这个目录之下。
2、配置内核 make menuconfig,根据你的需要来进行选择,设置完保存之后会在当前目录下生成.config配置文件,以后的编译会根据这个来有选择的编译。
3、编译,依次执行make、make bzImage、make modules、make modules
4、安装,make install
5、.创建系统启动映像,到 /boot 目录下,执行 mkinitramfs -o initrd.img-2.6.36 2.6.36
6、修改启动项,因为你在启动的时候会出现多个内核供你选择,此事要选择你刚编译的那个版本,如果你的电脑没有等待时间,就会进入默认的,默认的那个取决于 /boot/grub/grub.cfg 文件的设置,找到if [ "${linux_gfx_mode}" != "text" ]这行,他的第一个就是你默认启动的那个内核,如果你刚编译的内核是在下面,就把代表这个内核的几行代码移到第一位如:
menuentry 'Ubuntu, with Linux 3.2.0-35-generic' --class ubuntu --class gnu-linux --class gnu --class os {

recordfail
gfxmode $linux_gfx_mode
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root 9961c170-2566-41ac-8155-18f231c1bea5
linux/boot/vmlinuz-3.2.0-35-generic root=UUID=9961c170-2566-41ac-8155-18f231c1bea5 ro quiet splash $vt_handoff
initrd/boot/initrd.img-3.2.0-35-generic
}
当然你也可以修改 set default="0"来决定用哪个,看看你的内核在第几位,default就填几,不过我用过这种方法,貌似不好用。

重启过后你编译的内核源码就成功地运行了,如果出现问题,比如鼠标不能用,usb不识别等问题就好好查查你的make menuconfig这一步,改好后就万事ok了。

最后再用uname -r看看你的linux内核版本。是不是你刚下的那个呢!有没有成就感?追问

你复制的吧?这些uname -r make configuration命令在ubuntu命令框里输?

追答

终端里输入啊,自己不懂别乱评价别人,写这么多东西不容易

追问

我好像在论坛里看过。。。终端是指?

追答

这是我的内核,也是我上面写的,调整默认内核启动的grub.cfg文件,新下的36的编译过后没有usb模块不能工作,没下新的源码,因为编译很费时,但是能正常开机,能运行,验证一下编译通过就够了。

我已经说得很清楚了,如果你真想学习,按照我说的做绝对没问题,因为我说过的都是经过我验证的。而且过程中遇到很多问题,最终也都解决了。

    而你不以学习为目的,问了这么多问题都是质疑我的答案是复制别人的。学技术别管别人给的答案是怎么得来。只要能解决问题就好了。别再问我了,我不太乐意帮助不以学习为目的的人,把最佳答案给楼上的吧,我觉得他们能够回答就很好

追问

好吧我错了,只是太多人复制粘贴,就没有下文了。有没有在windows环境下,看代码的比较好软件

追答

source insight

来自:求助得到的回答
温馨提示:内容为网友见解,仅供参考
无其他回答

Linux中源码编译安装程序包括哪些基本步骤?
第一步:创建编译脚本 进入到源码目录 执行 .\/configure --prefix=\/...\/...(--prefix=后面是想要安装到的目录)第二部:编译 执行 make 第三部:安装 执行 make install 当然上面这几部都是最基本的步骤,如果想优化编译,要在.\/configure 后面加参数,或者configure之后手动修改Makefile文件 如O2...

【Linux】CMake源码编译安装教程
在Linux环境下进行CMake源码编译和安装的过程简洁明了,适合不同版本管理需求的开发者。具体步骤如下:首先,执行卸载操作以清除现有的CMake版本。对于使用默认的APT安装方式,如需替换为特定版本,第一步则为删除当前环境中的旧版本,确保下一步的操作不会遇到冲突。接下来,访问官方网站下载最新版CMake的...

linux内核怎么进入写代码的界面
首先,获取Linux内核源代码是基础步骤。您可以从官方网站下载源代码包,也可以通过版本控制系统,如Git,直接克隆代码库。安装必要的编译工具链也是必不可少的。这包括C编译器(如GCC)、构建工具及其他开发工具,您可以通过包管理器,如apt或yum,来安装这些软件包。配置内核编译选项是进入编写界面的关键步...

linux 怎么编译c的源程序的?gcc,编译命令是什么?
先将源文件编译成目标文件:gcc - c hello.c 生成hello.o文件,再将目标文件编译成可执行文件:gcc -o hello hello.o 如:int main(int argc,char **argv){ printf("Hello Linux\\n");}

Linux编译必要的头文件linux编译头文件
设置完环境和头文件之后,就可以开始正式的Linux编译过程。编译器首先会根据源代码生成汇编代码,然后使用汇编器将该汇编文件翻译为目标机器可以识别的指令,最后将指令翻译为可执行文件。例如,假设有一个main.c文件,就可以使用下面的代码来编译:gcc main.c -o main -Wall -O3 这里,“-o main”表示...

在Linux下实现静态编译linux下静态编译
首先,用户需要准备所需的系统文件和源代码,这些文件是编译程序需要的基础。首先应下载gcc编译系统文件。GCC是GNU软件中使用最广泛的C\/C++编译器,对Intel x86、Alpha、Sparc等处理器支持都很友好。接下来,就是编译源代码的关键步骤了。在命令行窗口内输入C \/ C++的源代码文件的路径,并配合正确的编译...

linux编译选项lddlinux编译选项
以下是在Linux上编译OpenCASCADE的步骤:1、下载OpenCASCADE的源代码包,并解压到一个目录中。2、打开终端,进入源代码目录。3、创建一个新的目录用于构建OpenCASCADE。4、在终端中执行以下命令,进入新建的构建目录:cdbuild 5、在构建目录中执行以下命令,配置OpenCASCADE的编译选项:cmake..\/path\/to\/...

怎么在linux中编译与运行c++的原代码*.cpp文件
不是用make,是用g++,比如,你的文件名是test.cpp,所在的路径是\/home\/test\/test.cpp 你就在终端里输入:cd \/home\/test 然后输入g++ -o test test.cpp 就已经生成编译好的文件了。如果想看运行结果可以在终端输入 .\/test (还是在刚才的路径下输入)...

如何编译Linux内核
一、编译环境 ubuntu 5.10,要编译的内核源码版本2.6.12 二、下载并解压源代码 首先从linux内核的官网www.kernel.org把源代码下载下来。为了和后面实验要求符合,我们要下载使用O(1)调度器的源码。因此这里下载了2.6.12版本源码。下载 下linux-2.6.12.tar.bz2,将下载源码放入\/usr\/src\/目录...

linux 怎么编译c的源程序的?gcc,编译命令是什么?
编译方法:格式 gcc [option] [sourcefilename]常用的选项最简单的是:gcc hello.c默认的情况下将生成a.out的可执行性文件,只需要在终端上输入.\/a.out就可以看到执行的结果,如果你想指定生成目标文件的名字那么你可以加上 -o选项,命令如下:gcc -o hello hello.c 命令:gcc -c hello hello.c ...

相似回答