# 内核编译与安装

URL: https://caijiao.org/gentoo/kernel-build
Source: docs/gentoo/kernel-build.md
Description: 本章介绍如何在 Gentoo 中配置、编译并安装 Linux 内核，确保系统能够正常启动和运行。

在完成 Stage3 安装、chroot 配置和 Portage 同步后，下一步是 **配置、编译和安装 Linux 内核**。内核是操作系统的核心，正确的配置和编译能够提升性能并支持所需硬件。

## 一、选择内核版本

Gentoo 提供多种内核版本：

- **稳定内核（Stable）**：适合生产环境  
- **长期支持内核（LTS）**：长期维护，适合服务器  
- **实验/最新内核（Testing/Vanilla）**：包含最新功能，但不够稳定

安装内核源码包：

```bash
emerge sys-kernel/gentoo-sources
````

查看可用版本：

```bash
equery list sys-kernel/gentoo-sources
```

## 二、内核配置

进入内核源码目录：

```bash
cd /usr/src/linux
```

常用配置方法：

1. **默认配置**（基于当前硬件）：

```bash
make defconfig
```

2. **交互式配置**（图形界面）：

```bash
make menuconfig
```

> 💡 在 `menuconfig` 中，可选择启用或禁用模块、文件系统支持、驱动等。
> 建议只启用必要功能，减少编译时间。

## 三、编译内核

编译内核及模块：

```bash
make -j$(nproc)
make modules_install
```

- `-j$(nproc)` 使用所有 CPU 核心加速编译
- `modules_install` 安装内核模块到 `/lib/modules`

安装内核映像：

```bash
make install
```

这会生成 `/boot/vmlinuz-<version>` 内核文件。

## 四、配置引导程序

1. **GRUB2 配置**：

```bash
grub-install /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg
```

2. 确认 `/boot/grub/grub.cfg` 包含新编译内核条目。

## 五、重启并验证

退出 chroot，重启系统：

```bash
exit
reboot
```

启动后查看内核版本：

```bash
uname -r
```

确保显示为刚才编译的版本。

## 六、建议操作

- 编译前备份配置文件（`.config`）
- 对关键硬件启用必要驱动，如网卡和文件系统
- 保留旧内核以便回滚
