编译Linux内核(kernel)

学习Linux就从内核编译开始,现在就让我们迈出第一步,下面记录编译过程(以下操作均在root下完成)。


1、准备工作

我安装的是Ubuntu10.04,为完成内核编译,还需要安装一下包:

# apt-get install gcc
# apt-get install make

# apt-get install bzip2

# apt-get install libc6-dev
# apt-get install ncurse-dev
# apt-get install initrd-tools ####为了使用mkinitrd命令生成initrd.img-XXX

2、下载源码

可以在官网www.kernel.org下载响应的源码(下载完整版F),也可以wgethttp://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.39.tar.bz2命令获取。

#wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.39.tar.bz2

#tar xjf linux-2.6.39.tar.bz2 -C /usr/src

3、配置文件

根据自己机器的硬件情况,选择内核编译配置选项,在这里我使用的是默认配置(make menuconfig后直接保存退出,生成.config文件);具体配置可以参考金步国先生翻译的资料:点击这里下载Linux 2.6.19.x 内核编译配置选项。

#cd /usr/src/linux-2.6.39

#make menuconfig

4、编译内核

   #make clean          ####第一次编译可以省略

   #make mrproper    ####第一次编译可以省略

   #make

5、编译和安装模块

#make modules

 # make modules_install

6、生成内核镜像文件

 #makinitramfs -o /boot/initrd-2.6.39.img /lib/modules/2.6.39   ##启动、加载模块
  # cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.39   ##可引导的、压缩的内核
  # cp System.map /boot/System.map-2.6.39            ##kernel 索引
  # cp .config /boot/config-2.6.39                             #内核配置文件


7、设置启动项
启动项是/boot/grub/grub.cfg文件,我们需要修改该文件,具体如下:

首先,复制下面内容。
menuentry 'Ubuntu, with Linux 2.6.32-32-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd0,4)'
search --no-floppy --fs-uuid --set 8450af8f-090b-4eae-a123-6f1e3604fa9e
linux /boot/vmlinuz-2.6.32-32-generic root=UUID=8450af8f-090b-4eae-a123-6f1e3604fa9e ro quiet splash
initrd /boot/initrd.img-2.6.32-32-generic
}

  然后,对上面内容进行响应的修改,红色部分。
menuentry 'Ubuntu_Test, with Linux 2.6.39' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd0,4)'
search --no-floppy --fs-uuid --set 8450af8f-090b-4eae-a123-6f1e3604fa9e
linux /boot/vmlinuz-2.6.39 root=UUID=8450af8f-090b-4eae-a123-6f1e3604fa9e ro quiet splash
initrd /boot/initrd.img-2.6.39
}

8、测试
重启,选择Ubuntu_Test, with Linux 2.6.39进入ubuntu系统,最后通过命令uname -a查看系统的内核信息。

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Ubuntu编译Linux内核的步骤如下: 1. 下载内核源码 首先需要从官网下载Linux内核源码,并解压缩到一个目录中。可以使用以下命令下载最新版的内核源码: ``` wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.14.tar.xz ``` 然后解压缩: ``` tar xvf linux-5.14.tar.xz ``` 2. 安装编译工具 Ubuntu默认不包含内核编译所需的工具,需要先安装以下依赖包: ``` sudo apt-get install build-essential libncurses-dev bison flex libssl-dev libelf-dev ``` 3. 配置内核 进入内核源码目录,执行以下命令进行内核配置: ``` make menuconfig ``` 这个命令会打开一个配置界面,可以根据需要进行配置,比如选择需要编译的驱动、文件系统等。如果不需要进行配置,可以跳过这一步。 4. 编译内核 配置完成后,执行以下命令进行内核编译: ``` make -j8 ``` 这个命令会使用默认的配置进行编译,其中-j8表示使用8个线程并行编译。如果想使用之前配置过的选项,可以执行以下命令: ``` make oldconfig ``` 5. 安装内核 编译完成后,执行以下命令安装内核: ``` sudo make modules_install sudo make install ``` 这个命令会把编译好的内核镜像和模块安装到系统中。 6. 更新引导程序 安装完成后,需要更新引导程序,以便系统能够启动新的内核。具体方法可以根据不同的引导程序进行操作,一般来说,可以执行以下命令: ``` sudo update-grub ``` 7. 重启系统 更新引导程序完成后,重启系统即可启动新的内核

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值