[Linux] Linux内核编译安装过程,及Linux源码目录结构

本文详细介绍了在Ubuntu10.04环境下,使用虚拟机编译和安装LinuxKernel2.6.32.1的具体步骤,包括下载、配置、编译、安装内核及更新grub,同时提供了Linux源码目录结构解析。

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

从源代码编译和安装Linux kernel 2.6内核,及Linux源码目录结构

环境

主机:MacBook Pro (Retina, 13-inch, Early 2015) 10.14.3

虚拟机软件:VMware fusion 11

虚拟机里安装:Ubuntu 10.04

内核版本:Linux Kernel 2.6.32.1

备注

1、为什么选择 2.6.32.1 版本?

大多数书籍讲的是2.6版本,便于学习。我尝试编译2.6.11版本,遇到一些编译错误不能解决,最后选择和Ubuntu相近的版本。

2、为什么使用Ubuntu 10.04版本?

Ubuntu10.04使用的是3.6.32.38-generic版本,比较接近学习的内核版本,编译环境接近,省去很多配置编译环境的麻烦,我尝试过Ubuntu14.04和Ubuntu18.04来编译,在编译或者安装中遇到一些问题,没能解决。

3、为什么要使用虚拟机?

虚拟机可以快照,遇到无法进入系统时可以快速恢复,记得在很重要的步骤前进行快照,比如更新grub时。

步骤

1、下载Ubuntu历史版本(http://old-releases.ubuntu.com/releases/10.04.0/),选择下载64-bit PC(AMD64)desktop CD,并安装进虚拟机。

2、下载Linux Kernel (https://mirrors.edge.kernel.org/pub/linux/kernel/v2.6/),保存并且解压到 Ubuntu 中,我保存在桌面上。

3、配置编译选项

编译前必须先配置编译选项,内核提供了很多功能,可以编译决定哪些功能编译进内核。建议你使用cp命令复制现有的配置文件。

$ cd linux-2.6.32.1
$ cp -v /boot/config-$(uname -r) .config

## 验证和更新配置 ##
$ make oldconfig

4、编译

$ make

或者通过 -j 指定核心数,加快编译速度,我在虚拟机分配了两个核心。

## 使用2个核心 ##
$ make -j 2
## 使用 nproc 命令获取核心数 ##
$ make -j $(nproc)

5、安装内核模块

$ sudo make modules_install

6、安装内核

$ sudo make install

7、更新grub,更新前用虚拟机先快照一下,可能会重启进不了系统。

## 没有这步会导致重启黑屏 ##
$ sudo update-initramfs -c -k 2.6.32.1

$ sudo update-grub

8、重启,重启前可以执行第9步看一下当前内核版本。

# reboot

9、验证内核是否安装成功

$ uname -a

参考:

https://www.cyberciti.biz/tips/compiling-linux-kernel-26.html

http://manpages.ubuntu.com/manpages/cosmic/en/man8/live-update-initramfs.8.html

Linux源码目录结构

目录描述
arch特定体系结构的源码
block块设备I/O层
crypto加密API
Documentation内核源码文档
drivers设备驱动程序
firmware使用某些驱动程序而需要的设备固件VFS和各种文件系统
include内核头文件
init内核引导和初始化
ipc进程间通信代码
kernel像调度程序这样的核心子系统
lib通用内核函数
mm内存管理子系统和VM
net网络子系统
samples示例,示范代码
scripts编译内核所用的脚本
securityLinux安全模块
sound语音子系统
usr早期用户空间代码(所谓的initramfs)
tools在Linux开发中有用的工具
virt虚拟化基础结构
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值