ubuntu10.04 内核编译

2024-02-27 13:58
文章标签 编译 内核 ubuntu10.04

本文主要是介绍ubuntu10.04 内核编译,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

http://blog.csdn.net/gavin_dinggengjia/article/details/6334556

1、下载源代码

uname -a 查看内核版本为Linux Ubuntu 2.6.32-24-generic。如果只想编译现有版本的内核,可以下载2.6.32版本的;如果想升级内核版本,可以下载更新的版本。
Linux源码的官方网址www.kernel.org,下载2.6.32版本内核源代码(linux-2.6.32.tar.bz2),下载目录任意,如/home/gengjia/Download。

 

2、解压缩

cd /home/gengjia/Download  (定位到下载的目录)
tar zxvf linux-2.6.32.tar.bz2  (解压缩,生成一个linux-2.6.32-29目录)

cp linux-2.6.32-29  /usr/src/linux-2.6.32-29 (将内核文件目录拷贝到系统内核路径下/usr/src/)

 

3、使用原来内核版本的.config文件
cp /usr/src/linux-2.6.32-24-generic/.config  usr/src/linux-2.6.32-29  (原来内核版本第一步已经查看过)

 

4、配置、编译、安装
cd /usr/src/linux-2.6.32-29

sudo su (切换成root权限)

make mrproper (清除以前曾经编译过的旧文件,如果你是第一次编译,可不执行;如果是修改内核之后编译,不要执行!不然重新编译一次内核花太多时间。)

make menuconfig 

在内核选项主菜单的最后两项:

      load a kernel configuration...
      save a kernel configuration...
先选第一项load ....,意思是,利用当前的内核配置详单来设置将要编译的内核,然后选save这一项保存,最后退出配置界面。

make

make modules_install

make install

 

5、生成initrd

update-initramfs -k 2.6.32-29 -c

注意 :此处若使用mkinitramfs 则会在重启后报如下错误:

FATAL: Could not load /lib/modules/.../modules.dep

 

6、更新grub启动菜单
update-grub

 

也可以自己修改启动文件

vim /boot/grub/grub.cfg
我的grub.cfg添加如下:
menuentry '(QoS)Ubuntu,Linux 2.6.32-29' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd1,9)'
search --no-floppy --fs-uuid --set 501d3a42-1d52-4438-99bf-e679da605867
linux /vmlinuz-2.6.32-29 root=UUID=33883099-83a5-49f3-9c12-ee6a4d90da9e ro quiet splash
initrd /initrd.img-2.6.32-29
}
#以下是原2.6.32内核启动项
menuentry 'Ubuntu,Linux 2.6.32-24-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd1,9)'
search --no-floppy --fs-uuid --set 501d3a42-1d52-4438-99bf-e679da605867
linux /vmlinuz-2.6.32-24-generic root=UUID=33883099-83a5-49f3-9c12-ee6a4d90da9e ro quiet splash
initrd /initrd.img-2.6.32-24-generic
}

 

到此,内核编译完成。重启机器看看是不是有一个新的启动项。编译内核需要耐心,第一次编译很可能出现各种错误,但是不要灰心,慢慢来,一定可以成功的!


这篇关于ubuntu10.04 内核编译的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/752627

相关文章

快速修复一个Panic的Linux内核的技巧

《快速修复一个Panic的Linux内核的技巧》Linux系统中运行了不当的mkinitcpio操作导致内核文件不能正常工作,重启的时候,内核启动中止于Panic状态,该怎么解决这个问题呢?下面我们就... 感谢China编程(www.chinasem.cn)网友 鸢一雨音 的投稿写这篇文章是有原因的。为了配置完

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效

idea maven编译报错Java heap space的解决方法

《ideamaven编译报错Javaheapspace的解决方法》这篇文章主要为大家详细介绍了ideamaven编译报错Javaheapspace的相关解决方法,文中的示例代码讲解详细,感兴趣的... 目录1.增加 Maven 编译的堆内存2. 增加 IntelliJ IDEA 的堆内存3. 优化 Mave

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc

IDEA编译报错“java: 常量字符串过长”的原因及解决方法

《IDEA编译报错“java:常量字符串过长”的原因及解决方法》今天在开发过程中,由于尝试将一个文件的Base64字符串设置为常量,结果导致IDEA编译的时候出现了如下报错java:常量字符串过长,... 目录一、问题描述二、问题原因2.1 理论角度2.2 源码角度三、解决方案解决方案①:StringBui

解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题

《解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题》文章详细描述了在使用lombok的@Data注解标注实体类时遇到编译无误但运行时报错的问题,分析... 目录问题分析问题解决方案步骤一步骤二步骤三总结问题使用lombok注解@Data标注实体类,编译时

Linux内核之内核裁剪详解

《Linux内核之内核裁剪详解》Linux内核裁剪是通过移除不必要的功能和模块,调整配置参数来优化内核,以满足特定需求,裁剪的方法包括使用配置选项、模块化设计和优化配置参数,图形裁剪工具如makeme... 目录简介一、 裁剪的原因二、裁剪的方法三、图形裁剪工具四、操作说明五、make menuconfig

如何安装HWE内核? Ubuntu安装hwe内核解决硬件太新的问题

《如何安装HWE内核?Ubuntu安装hwe内核解决硬件太新的问题》今天的主角就是hwe内核(hardwareenablementkernel),一般安装的Ubuntu都是初始内核,不能很好地支... 对于追求系统稳定性,又想充分利用最新硬件特性的 Ubuntu 用户来说,HWEXBQgUbdlna(Har