`
yuanyu5237
  • 浏览: 162814 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ubuntu10.10下编译linux内核,升级内核到2.6.38.2

阅读更多

我的环境是在虚拟机中安装的ubuntu10.10系统,内存1024,2个处理器,20G硬盘(SCSI), i686(32位系统) 当前内核版本2.6.35-22-generic,我的电脑很旧,是宏碁aspire4720G,core2双核1.5GHZ主频,3G内存,虚拟机版本,7.1.3 build-324285。

现在要把它升级到最新的稳定版内核,2.6.38.2,首先从www.kernel.org下载最新版本的内核2.6.38.2(stable, full source),(建议安装vm tools方便在虚拟机和主机之间传送文件)

 

1, 因为我们之后要进行make menuconfig,所以需要在ubuntu中安装一个ncurses,执行命令:

sudo apt-get install libncurses*

2, 将内核文件放到主目录(/home/yourname)下,其实放在哪儿没关系,只不过习惯放在home目录下,然后解压:

sudo tar -jxvf linux-2.6.38.2.tar.bz2

(注意也有人喜欢解压到/usr/src目录下,那么久请执行

sudo tar -jxvf linux-2.6.38.2.tar.bz2 -C /usr/src

)

3, 进入到内核源代码目录,需要配置内核,但是配置内核前,可能有一些清理工作需要做(因为是新下载的内核,所以通常可不必此步骤)

make clean remove most generated files but keep the config

make mrproper remove all generated files + config+ vaious backup files

 

4, 配置内核,有几个选项可以选择:

make config是基于文本的传统配置界面

make menuconfig是基于文本的选单式配置界面,是最为灵活的内核配置工具

make xconfig是基于图形窗口模式的配置界面,需要xWindow图形环境的支持

make oldconfig用于在原来内核配置的基础上作修改

但通常我们都是用第二种方式(需要libncurses)

make menuconfig

在这里,进入到文本选单,当然可以做一些选择,但通常如果不是实际应用,只是练习内核编译,那么选择general setup就可以了,然后退出,并保存内核配置

 

5、sudo make dep 建立模块间的依赖信息
6、sudo make clean 删除配置时留下的一些不用的文件

(5、6两步可能对于一些PC没有作用,的确这里对我的虚拟机是没用的,执行命令后并没有做任何事情)

 

7, 编译内核和模块,注意这里是编译内核和模块,在网上很多地方都没将此处叙述清除,这里有3个命令可供选择:

make 编译内核和模块,相当于make bzImage 加 make modules; 3个多小时

make zImage 编译长生压缩形式的内核文件,30分钟左右

make bzImage 编译产生高压缩形式的内核文件,30分钟左右

 

如果你执行了make,就没必要执行make modules,前一个在30分钟,后一个在3小时时间,如果执行make bzImage则需要make modules,前者编译内核,后者编译模块,如果是第一次编译内核则通常两个都需要,但如果是后来编程需要,只是修改了内核源码,则重新编译内核时并不需要重新编译内核。

在此,我先执行

make -j2 bzImage

再执行make modules

 

注意,在编译内核时,可以添加-j选项,来加快内核编译速度,单核使用-j2,双核使用-j4

 

8, 安装内核模块 sudo make modules_install

9, 安装内核 sudo make install,

该步骤,会为我们安装内核,它执行了下列命令:

#sudo cp /usr/src/linux-2.6.38.2/arch/i386/boot/bzImage /boot/vmlinuz-2.6.38.2
#sudo cp System.map /boot/System.map-2.6.38.2
#sudo ln -s /boot/System.map-2.6.38.2 /boot/System.map

即,把内核映象和System.map拷贝到/boot/下

同时,建立内核的config文件config-2.6.38.2

 

10, 在之前的内核和模块编译完成后,会在/lib/modules/目录下生成2.6.38.2的模块文件(包括内核头文件等),我们需要将它与/boot目录下关联,生成initrd映像,到/lib/modules/目录下(不在该目录下也行),执行命令:

sudo mkinitramfs 2.6.38.2 -o /boot/initrd.img-2.6.38.2

 

11, 至此,内核编译完成,更新grub文件:

sudo update-grub 或 sudo update-grub2(后者会生成一个old-内核文件的启动选项)

 

12,重启系统,如果没有错误,则查看uname -a会看到内核版本已经变成2.6.38.2

 

**中间可能会出现问题,大都是重启后不能进入系统,kernel panic或者没有grub选项,但这一次都没有遇到,有人说scsi的硬盘不能成功,但我的成功了,之前我也出现了kernel pani,然后找不到root fs,当时我使用的是2.6.35.12的内核,没有找到原因,换了最新内核之后就没有出现问题了,还有编译的时间很长,大家一定要有耐性。

分享到:
评论

相关推荐

    ubuntu10.10编译内核3.0.8实验报告

    本实验报告旨在指导用户在 Ubuntu 10.10 操作系统环境下编译 Linux 3.0.8 内核版本。实验的主要步骤包括安装 Ubuntu 10.10 操作系统、下载和解压 Linux 3.0.8 内核文件、配置编译环境、编译内核、配置内核文件和修改...

    ubuntu下linux内核编译详细说明、借鉴.pdf

    Ubuntu 下 Linux 内核编译详细说明、借鉴 本文讲解的是在 Ubuntu 环境下重新编译 Linux 内核的详细过程,实验的目的是学习重新编译 Linux 内核,理解掌握 Linux 内核和发行版本的区别。 一、Experiment Purpose ...

    ubuntu下编译linux kernel 2.6.38

    在Ubuntu 10.10环境下编译Linux内核2.6.38涉及一系列步骤,需要对操作系统、内核版本、编译工具和配置选项有深入理解。以下是详细的编译流程和注意事项: 首先,确保你的环境是Pentium 4架构的Ubuntu 10.10(内核...

    Ubuntu10.10下kgdb环境搭建

    ### Ubuntu10.10下kgdb环境搭建详解 #### 前言 随着Linux操作系统在嵌入式领域的广泛应用,内核级别的调试成为了许多开发者必须掌握的一项技能。不同于用户空间的应用程序,内核级别的调试更加复杂,因为它发生在...

    ubuntu10.10编译内核步骤

    经过个人实践,包括内核下载和安装gcc,make等工具的介绍,以及从内核的下载到编译到安装过程,不错的教程哦

    Ubuntu10.10下tftp服务器配置笔记

    本文档介绍了在 Ubuntu 10.10 操作系统下如何配置 TFTP 服务器,从虚拟机网络配置到 TFTP 服务器的搭建,旨在帮助读者快速搭建 TFTP 服务器。 一、虚拟机网络配置 在 Ubuntu 10.10 操作系统下,虚拟机网络配置是必...

    ubuntu下linux内核编译详细说明、.pdf

    在Ubuntu环境下,重新编译Linux内核是一项深入理解操作系统核心机制的重要实践。本文将详细阐述这一过程,包括从下载内核源代码到配置、编译、安装以及验证新内核的全部步骤。 一、实验准备 首先,你需要了解Linux...

    ubuntu-10.10镜像文件下载链接

    Ubuntu 10.10基于Linux内核2.6.35,提供了一个稳定且功能丰富的操作系统平台,适用于个人电脑和服务器。 #### 二、Ubuntu 10.10 的新特性与改进 1. **启动速度提升**:Ubuntu 10.10 在启动时间方面做了优化,提高...

    Ubuntu10.10下嵌入式开发环境的配置.doc

    注意:如果是使用笔记本电脑并通过USB接口连接开发板,则在Ubuntu下的端口通常为`ttyUSB0`,而在Windows系统下则是`COM4`。 #### 四、配置NFS服务 为了方便在宿主机与目标机之间共享文件,可以配置NFS(Network ...

    ubuntu下linux内核编译详细说明、.docx

    ### Ubuntu 下 Linux 内核编译详解 #### 实验目的 - 学习重新编译 Linux 内核,深入理解 Linux 内核与发行版之间的区别。 #### 实验内容 在 Linux 操作系统环境中重新编译内核。具体内容包括: 1. **查找并下载...

    新手XP下硬盘安装ubuntu10.10图文教程

    Ubuntu 10.10在2010年10月正式发布,让众多Ubuntu用户都对这款全新的系统充满期望。毕竟,Ubuntu 10.10是Canonical公司推出的最为用户友好的系统,而且为它添加了很多新的功能。  熟悉Ubuntu系统的用户了解,在...

    Ubuntu10.10

    ### Ubuntu 10.10 在 Windows XP 下的安装指南及关键知识点 #### 安装环境与准备 - **操作系统**: Windows XP - **硬盘需求**: 至少 40GB 的空闲空间,用于安装 Ubuntu 10.10 和相关文件。 - **所需文件**: - **...

    ubuntu下linux内核编译详细说明、[文].pdf

    实验环境为 Ubuntu 10.10,Linux 内核 2.6.35,待编译内核为 Linux 2.6.36。 二、实验内容 实验主要内容包括: 1. 查找并下载一份内核源代码,本实验使用最新的 Linux 内核 2.6.36。 2. 配置内核,包括使用 make ...

    实验2 Linux内核编译及系统调用添加.doc

    实验所需的环境为Linux 2.6.26或以上版本,推荐使用Ubuntu 10.10或Redhat作为实验平台。实验步骤涵盖了从下载内核源代码、配置、编译到最终测试的全过程,每一步都需仔细操作,确保内核的稳定性和功能完整性。 通过...

    26个版本linux内核的性能对比测试借鉴.pdf

    Linux 内核的发展历程可以追溯到 2005 年年中的 2.6.12 版本,从那时起,Linux 内核经历了 26 个版本的演变。Phoronix.com 对这 26 个版本进行了性能测试,包括对系统文件以及系统中各种应用的测试。通过这项测试,...

    ubuntu安装及内核编译

    ubuntu安装及内核编译是指将ubuntu操作系统安装到计算机硬盘上,并编译 Linux 内核的过程。该过程需要选择合适的硬件环境、设置启动项、分区硬盘、安装ubuntu系统、软件升级、截图等步骤。同时,内核编译也需要下载...

    用Ubuntu10.10 dvd版本作为本地源,Ubuntu 10.10 DVD ISO挂载的方式来更新软件

    ### 使用Ubuntu 10.10 DVD ISO作为本地源更新软件的方法 在本文中,我们将详细介绍如何使用Ubuntu 10.10 DVD ISO文件作为本地软件仓库来更新系统中的软件包。这种方法对于网络不稳定或者带宽有限的环境非常有用,...

    Ubuntu10.10安装指南

    Ubuntu 10.10,代号"Maverick Meerkat",是一款备受赞誉的开源操作系统,基于Debian并采用Linux内核。它以其用户友好、稳定可靠的特点,赢得了全球无数用户的青睐。本文将基于提供的文件信息,深入解析Ubuntu 10.10...

Global site tag (gtag.js) - Google Analytics