linux内核编译

本文详细介绍了如何在Debian 6环境下编译Linux内核2.6.32.59。首先安装必要的编译工具,如gcc和binutils,然后从官方网站下载内核源码并解压。接着进行内核配置,使用`make menuconfig`进行裁剪。编译内核和模块后,通过`make install`和`make install_modules`进行安装。最后,更新初始化文件系统、grub启动项,完成内核的编译和安装。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文记录了debian-6环境下初次编译内核的过程。

一、编译环境准备

1、首先是binutils、gcc、ncurses库的安装,

#apt-get install gcc
#apt-get install binutils
#apt-get install libncurses*

二、下载源码

当然是从官网http://www.kernel.org/下载了,我用的版本是2.6.32.59,:)

三、配置&编译内核

1、建立编译工程

#PROJECT_ROOT=/home/kernel

#mkdir  $PROJECT_ROOT

解压代码

#cd $PROJECT_ROOT && tar -xjvf linux-2.6.32.59.tar.bz2

#cd linux-2.6.32.59

2、配置

根据目标机的硬件情况,和自己的功能要求开始裁剪内核

#make clean && make menuconfig

3、编译

#make && make modules

编译成功之后,会在CPU架构子目录下生成内核镜像

四、验证

1、安装内核

#make install && make install_modules

2、生成初始化文件系统

#mkinitramfs -o /boot/initrd.img-2.6.32.59 && update-initramfs -u -k 2.6.32.59 -t

3、生成grub启动项

#update-grub

经过重启,成功了!

五、附件

#!/bin/sh 

WORK_HOME=/home/stone/samba_home/linux-2.6.32.59 
BOOT_DIRECTORY=/boot/
KERNEL_IMAGE=$WORK_HOME/arch/x86/boot/bzImage
KERNEL_MAP=$WORK_HOME/System.map

# 1. build our new kernel
make dep
make clean

make -C $WORK_HOME && make modules

# 2. install it
make install && make modules_install
mkinitramfs -o /boot/initrd.img-2.6.32.59
update-initramfs -u -k 2.6.32.59 -t
update-grub

# check whether we build successfully
if [ -e $KERNEL_IMAGE -a -e $KERNEL_MAP ]; then
	echo $KERNEL_IMAGE
	echo $KERNEL_MAP
#cp $KERNEL_IMAGE /boot/ && cp $KERNEL_MAP /boot
else
	echo "building failed!"
fi 

PS:如果重启之后grub启动菜单有乱码,需要进入系统之后再以root用户更新grub,重启--大招:-)

#update-grub



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值