linux 内核编译详解 (ubuntu 10.04 内核 2.6.32-36 升级内核 2.6.38.8 )

Linux系统升级及内核版本升级 一、背景 工作中有时会遇到系统版本过旧,无法满足安全扫描后的安全要求,系统漏洞数量多,处理难度较大,这时,我们就需要升级OS或Linux内核版本; 二、升级操作 2.1、 redhat/CentOS系统 三、附录:包升级命令 1)配置yum更新源 /etc/yum.repos.d目录下新建主机的yum源,.repos文件中,repositoryid:指定一个仓库,name指定仓库名称, baseurl:指定仓库的URL,mirrorlist指定仓库的镜像站点,enable是否启用本仓库,gpgcheck 阅读详情

内核编译实验环境:Ubuntu 10.04 内核版本 2.6.32-36-generic


过程概述:

下载源码:下载链接:http://www.kernel.org/pub/linux/kernel/v2.6/

配置内核:make menuconfig

编译内核:make bzImage

编译内核模块:make modules

安装内核模块:make modules_install

安装内核:make install

完成最后遗留工作


一、内核编译的准备工作:

1。使用root用户,方便以后操作

jb@jb-laptop:~$ su
密码:
root@jb-laptop:/home/jb#

2。查看自己内核版本,以便选择新编译版本

root@jb-laptop:/home/jb# uname -r
2.6.32-36-generic
root@jb-laptop:/home/jb#

3。下载升级版本源码,供编译使用

下载链接:http://www.kernel.org/pub/linux/kernel/v2.6/

http://www.kernel.org

我下载的是

linux-2.6.38.8.tar.gz 

格式选择:gz和bz2

都可以,bz2的压缩程度高一点,只是解压缩命令不一样而已

4。解压缩源码

root@jb-laptop:/home/jb# tar -zxvf linux-2.6.38.8.tar.gz 

如果是bz2格式的话使用 tar -jxvf  linux.tar.bz2

5。复制源码到 目录/usr/src/下

root@jb-laptop:/home/jb# mv linux-2.6.38.8  /usr/src/

二、开始编译内核:

1。检查有无不正确的.o文件和依赖关系: make mrproper (其实这一步可以省略,因为是刚下载好的源码,一定是干净的;如果使用的是已经编译过的code,则需要做这一步)

2。配置Kernel选项:make menuconfig (这一步很重要,它决定了你可以个人定制化你的Kernel。当你使用menuconfig时,会有一些选择列出来) 主列表如下:

 

    General Setup: 常规的配置,比如Kernel config, CPU Group,Aduiting等等

    Loadable module support: 定制你要加载哪些modules

    Enable the block layer: 主要是块设备和大文件的设置

    Processor type and features: 处理器配置和定制化

    Power management options: 电源管理的定制化,比如Hibernate这样的

    Bus options: PCI总线的定制

    Executable file formats: 主要是设置ELF的配置

    Networking support: 定制网络选项,包括Wireless,Bluetooth和Network选项

    Device Drivers: 定制你需要加载的设备驱动

    Fireware Drivers: BIOS和EFI这样的固件驱动设置

    File System: 文件系统的设置,包括EXT3, EXT4, FAT, CD/DVD...等等N种

    Kernel hacking: 主要是设置Kernel debugging的,做内核调试会有用

    Security options: 安全选项

    Cryptographic API: 加密设置,包括MD5, SHA1, CRC等等N种加密算法的配置

    Virtualization: 虚拟化设置

    Library routines: 主要定制CRC校验的function

 

    上面是16大项,每一项都有N多小项,说真的这个里面每一项都够研究一阵子的。不过对内核编译而言,你可以全部采用默认选项(会延长编译时间)。设置好了menuconfig,保存退出。


如果出现下面的错误:

*** Unable to find the ncurses libraries or the
 *** required header files.
 *** 'make menuconfig' requires the ncurses libraries.
 *** 
 *** Install ncurses (ncurses-devel) and try again.
 *** 
make[1]: *** [scripts/kconfig/dochecklxdialog] Error 1
make: *** [menuconfig] Error 2

解决方案:

apt-get install libncurses5-dev

现在可以 make menuconfig 了

3。编译源码生成内核镜像:

make bzImage 

该命令首先编译生成vmlinux,然后压缩生成bzImage(路径是 /usr/src/kernel-version/arch/i386/boot/ )

可以查看有没有bzImage生成

4。编译内核模块

make modules

5。安装内核模块

make modules_install

内核模块编译好后需要安装到Linux系统的相应目录中才可以使用,使用“make modules_install”命令安装内核模块。“/lib/modules/”目录用于存放Linux系统中的内核模块,内核的各个版本都在该目录下建有子目录用于存放内核模块。

该命令首先在/lib/modules/中创建一个以内核发行号为名称的目录,然后根据内核配置生成需要的模块

6。生成新内核

make install

把编译好的内核放入/boot中,会把vmlinuz和System.map复制到/boot目录下,并建立相关的链接

7。完成最后的工作

有些linux版本在make install之后会自动生成initd.img和修改引导程序文件grub.cfg,但是ubuntu10.04并不会,所以就得我们自己来搞定啦

首先是生成initrd.img。

mkinitramfs 2.6.38.8  -o  /boot/initrd.img-2.6.38.8

如果系统提示没有安装mkinitramfs,那就apt-get install mkinitramfs

接着修改引导程序文件grub.cfg

update-grub2

尽量不要手动去修改grub.cfg文件,搞不好连电脑都启动不了

8。重启电脑

reboot

然后在grub引导界面上选择你的新内核

至此,所有的工作就搞定啦,体验你的新内核吧

三、参考链接:

System.map、vmlinuz、initrd.img的产生和作用 

http://dogking.chinaunix.com/space.php?uid=22896670&do=blog&id=189483

内核编译之vmlinuz vmlinux system.map initrd

http://hi.baidu.com/masterfoo/blog/item/3cdd88aa312b91bdca130ca4.html

Linux内核编译步骤(基于Ubuntu10.04+2.6.35.2 Kernel)

http://blog.youkuaiyun.com/zufeng_chen/article/details/5824544

ubuntu10.10下内核编译,解决开机启动出现Could not load /lib/modules/.../modules.dep的问题

http://blog.youkuaiyun.com/renclear/article/details/6461753


Linux学习-Ubuntu基础语法 cd / //进入到根目录“/ls //查看根目录“/”下的文件以及文件夹当我们进入到根目录“/”里面以后终端提示符“$”前面的符号“~”变成了“/”,这是因为当我们在终端中切换了目录以后“$”前面就会显示切换以后的目录路径。我们来看一下根目录“/”中的一些重要的文件夹:/bin :存储一些二进制可执行命令文件,/usr/bin 也存放了一些基于用户的命令文件。/sbin :存储了很多系统命令,/usr/sbin 也存储了许多系统命令。/root :超级用户 root 的根目录文件。 阅读详情

相关推荐

Linux通用系统高危漏洞修复案例

2024年3月28日,监 Linux kernel权限提升漏洞(CVE-2024-1086)的PoC/EXP在互联网上公开,该漏洞的CVSS评分为7.8,目前漏洞细节已经公开披露,美国网络安全与基础设施安全局(CISA)6月1日也更新了其已知漏洞(KEV)目录,要求联邦机构在 2024 年 6 月 20 日之前打上补丁,修复追踪编号为 CVE-2024-1086 的 Linux 内核权限提升漏洞。由于该漏洞的公开性,攻击者可能会利用这个漏洞进行恶意攻击,因此建议尽快采取修复措施。

企业实战系列集 ●●● https://ximenjianxue.blog.youkuaiyun.com 4931

Linux编译2.6.32

====================================== 6.32.7下载 ========================================== Linux内核下载 1.解压 tar zxvf *.tar 2.cp -r linux -2.6.*/ /usr/src (一定是这个目录下,不然报错) 3.make mrproper(检查有无不正确的.o文件依赖) 4.make clean 5.make menuconfig (一定要有这步,生成.config文..

paul123456789io的博客 306

从交换机安全配置,看常见局域网攻击

前言 构建零信任网络,自然离不开网络准入(NAC),这就涉及到交换机的一些安全测试,于是有了此文《从交换机安全配置看常见局域网攻击》。 交换机安全配置 如本文标题所说从交换机安全配置看常见的局域网攻击,那么下面提到的各种攻击方式,自然是建立在交换机安全配置之上来说的。我们通过h3c官方提供的《H3C 交换机安全加固手册》和《安全配置指导》,从这两份手册可以看出交换机支持的安全配置非常多,基本已经覆盖了各种我们熟知局域网攻击。下面就挑几个典型的攻击方式进行演示。 arp欺骗 【一>所有资源获取&lt

kali_Ma的博客 1万+

linux-2.6.32的编译

虽然一直对linux抱有企图,但直到前几天才开始实际动手。首先是自己编译linux内核。 编译在ubuntu 10.04下进行,系统使用的版本是linux-2.6.32-28,自己编译的是linux-2.6.32。 现在linux编译配置变得比较傻瓜化,默认会把许多不必要的模

qb_2008的专栏 3120

Visual MODFLOW Flex 6.1新手入门:从数据导入到3D建模的完整工作流解析

本文为Visual MODFLOW Flex 6.1新手提供了从零开始构建地下水数值模型的完整工作流指南。详细解析了从项目规划、数据准备与导入,到构建三维概念模型、生成并运行数值模型,直至结果可视化与校准的核心步骤。帮助水文地质与环工领域初学者快速掌握这一专业软件,高效完成从数据到三维建模的全过程。

a1b2c的博客 800

5G MBS(组播广播服务)深度解析:从标准架构到商用实践

5G MBS(组播广播服务)深度解析:从标准架构到商用实践

大家好,我是码农老gou,一名专注于编程技术的程序员。在这个博客中,我将与大家分享我在工作和学习中的经验、见解以及一些实用的技术干货。 1081

linux 2.6.32内核编译,linux编译内核2.6.32.67

上传linux内核至主机,linux内核文件格式为tar.xz。[root@centos home]# xz -d linux-2.6.32.67.tar.xz[root@centos home]# lslinux-2.6.32.67.tarxz -d解压后,会删除tar.xz文件,仅留下tar包[root@centos home]# tar xvf linux-2.6.32.67.tar -C ...

weixin_39724004的博客 317

Topas——基于Geant4的放射治疗蒙特卡罗算法模拟工具

本文内容参考Joseph Perl 的线上会议,视频详情可见于,该视频会议内容主要介绍Topas功能、软件架构、工作流程、参数设定、物理模型、具体案例等,对TOPAS的基本入门使用方法以及使用规定作出阐述。

fy方的博客 7603

linux内核编译

编译内核linux-2.6.32的内核     1    编译前准备工作 l  拷贝内核代码到src目录 cp ./ linux-2.6.32.63.tar.xz /usr/src/   l  解压缩代码 tar -xvf linux-2.6.32.63.tar.xz 2    生成编译需要的配置文件 l  进入解压后的源码目录内,执行环境清空操作 cd /usr/src/l

swun_212的专栏 393

WRF-BEM相关参数说明

本参数适用于WRF-BEM模拟武汉市气候。

m0_60013472的博客 1896

HFSS实战项目——高带外抑制特性SIW带通滤波器

本文对单级滤波器和双级滤波器的设计、工作原理及仿真结果进行了详细分析,并验证了双级SIW带通滤波器在性能方面的优越性,为微波通信系统中滤波器的设计和应用提供了重要参考。

2401_87464239的博客 1814

交叉编译环境的搭建(Linux-2.6.32内核)

Linux-2.6.32交叉编译环境的搭建

今晚打老虎吖的博客 4402

08-StarRocks性能调优FAQ

StarRocks性能调优摘要 本文提供了StarRocks数据库性能调优的常见问题解答,涵盖查询优化、索引设计、分区策略和系统配置等关键方面。主要内容包括:查询优化技巧(使用EXPLAIN分析、避免全表扫描、优化JOIN和聚合查询);索引选择与维护建议(高频查询列索引、复合索引);分区策略设计(时间分区、范围分区)及其管理方法;以及系统内存配置优化(JVM参数调整、查询内存限制设置)。这些优化措施可显著提升StarRocks的查询性能和系统效率。

欢迎来到我的博客,一起探索代码里的世界! 541

Ubuntu 内核编译详解 (ubuntu 10.04 内核 2.6.32-36 升级内核 2.6.38.8 )

内核编译实验环境:Ubuntu 10.04 内核版本 2.6.32-36-generic 1。使用root用户,方便以后操作 jb@jb-laptop:~$ su 密码: root@jb-laptop:/home/jb# 2。查看自己内核版本 root@jb-laptop:/home/jb# uname -r 2.6.32-36-generic root@jb-laptop

276

Ubuntu24.04安装搜狗输入法详细教程

本章教程,介绍如何在Ubuntu24.04版本操作系统上安装搜狗输入法。

猿小白的博客 1万+

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

RK3568 学习笔记 : 单独编译 Linux version 4.19 内核

RK3568 学习笔记 : 单独编译 Linux version 4.19 内核

坚韧与专注 4771

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

ubuntu下编译2.6.36内核

转帖地址:http://sun9700.iteye.com/blog/805579 学习LDD3的开始遍要求编译内核 现将编译的过程整理如下: 1.准备工作 下载源码: 到http://www.kernel.org/下载2.6.36内核并解压 我开启了root, 并解压到/root/src/linux-2.6.36/下 下载工具: apt-get instal...

iteye_15589的博客 157

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

编译linux内核

内核编译实验环境:Ubuntu 10.04 内核版本 2.6.32-36-generic 过程概述: 下载源码:下载链接:http://www.kernel.org/pub/linux/kernel/v2.6/ 配置内核:make menuconfig 编译内核:make bzImage 编译内核模块:make modules 安装内核模

千里之行,始于足下 1090

编译内核

内核编译实验环境:Ubuntu 10.04 内核版本 2.6.32-36-generic 过程概述: 下载源码:下载链接:http://www.kernel.org/pub/linux/kernel/v2.6/ 配置内核:make menuconfig 编译内核:make bzImage 编译内核模块:make modules 安装内核模块:make modules

linengeir的专栏 1085

如何在不同Linux发行版上使用8821cu驱动:Ubuntu、Fedora、openSUSE实战指南

如果你正在寻找一款适用于RTL8811CU、RTL8821CU、RTL8821CUH和RTL8731AU芯片组USB WiFi适配器的Linux驱动,那么8821cu驱动正是你需要的终极解决方案!这款驱动支持Linux内核5.10至6.17版本,为你的无线网络设备提供完整的IEEE 802.11 b/g/n/ac WiFi兼容性,无论是Ubuntu、Fedora还是openSUSE用户,都能轻松安

gitblog_00518的博客 672

在s3c2440上linux镜像在nand flash中吗,Linux2.6.39在S3C2440上的移植

1、主机环境:VMare下Ubuntu10.04 ,1G内存。2、编译编译环境:arm-linux-gcc3、开发板:Micro2440,2M nor flash,256M nand flash。4、u-boot-version:u-boot-2010.065、linux -version:Linux-2.6.39一、下载并解压内核源码a)在命令行终端中可以通过下列方式下载,当然用其它下载工具下载...

weixin_34489089的博客 212

Ubuntu 24.04 LTS 桌面版安装:3种分区方案对比与移动系统实战

本文详细对比了Ubuntu 24.04 LTS桌面版安装中的3种分区方案,包括单根分区、独立/home分区和移动系统方案,并提供了实战脚本和性能测试数据。独立/home分区在系统升级和数据管理方面表现优异,适合开发者使用。文章还包含移动系统安装的特殊配置技巧和常见问题解决方法。

weixin_34387468的博客 385

Linux 7.2内核slab分配器延迟构建freelist优化解析与验证

这次我们来看一个 Linux 内核层面的重要性能优化。Linux 7.2 版本在内核的 slab 内存分配器上动了一次“大手术”,核心改动是“延迟构建 freelist”。这个改动听起来很底层,但带来的效果却很直接:在某些场景下,能让内存分配操作最高提速 70%。对于追求极致性能的服务器、数据库、嵌入式系统和高并发应用来说,这无疑是一个值得关注的底层重构。 slab 分配器是 Linux 内核中管理小块内存的核心机制,很多我们熟悉的 kmalloc 、 kzalloc 等函数都依赖它。它的性能直接影响到整个

weixin_33796205的博客 306

Ubuntu

2 echo "deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse 3 deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse 4 deb http:/...

145

VMware实现新版本的Linux(>2.6.36)与Windows共享

这几天因工作需要,需要使用VMware(7.1.3)以及ubuntu 32bit,使用ubuntu11.04的32bit版本,在安装完成后,设置VMware中的Shared Folders后,在/mnt/hgfs下面竟然打不到共享目录!     在命令行下输入vmware-hg

1605
上一篇: Ubuntu 内核编译详解 (ubuntu 10.04 内核 2.6.32-36 升级内核 2.6.38.8 )
下一篇: windows 7 80端口被NT kernel & System 占用 pid 4
jinble03
博客等级 码龄17年 38粉丝 12原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值