Gentoo安装详解(二)-- 编译内核
编译内核
可选 安装firmware
emerge --ask sys-kernel/linux-firmware
package.license
sys-kernel/linux-firmware linux-fw-redistributable no-source-code
安装内核源码
选择内核:如gentoo-sources
emerge --ask sys-kernel/gentoo-sources
eselect kernel list
eselect kernel set x
ls -l /usr/src/linux
手动编译内核
Most information can be gathered by emerging sys-apps/pciutils which contains the
lspci
command
配置内核
cd /usr/src/linux
make menuconfig
[Configuring the Linux kernel - Gentoo Wiki](%3Ca href="https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Kernel"%3EConfiguring the Linux kernel - Gentoo Wiki%3C/a%3E)
-
必须启用的选项:
-
声卡:ALSA
-
网卡:根据具体网卡芯片型号,查看wiki。
-
无线网卡芯片驱动查询:Linux Wireless
其他选项根据需要添加,不了解保持默认即可.
编译内核与模块
make && make modules_install
安装内核到启动分区
make install
cp arch/x86_64/boot/bzImage /boot/kernel-3.10.10-gentoo
This will copy the kernel image into /boot together with the System.map file and the kernel configuration file.
可选 安装initramfs
To install an initramfs, install sys-kernel/genkernel first, then have it generate an initramfs:
emerge --ask sys-kernel/genkernel
genkernel --install --kernel-config=/path/to/used/kernel.config initramfs
The initramfs will be stored in /boot/. The resulting file can be found by simply listing the files starting with initramfs:
ls /boot/initramfs*
可选 使用发行版内核
Distribution Kernels are ebuilds that cover the complete process of unpacking, configuring, compiling, and installing the kernel. The primary advantage of this method is that the kernels are upgraded to new versions as part of @world
upgrade without a need for manual action. Distribution kernels default to a configuration supporting the majority of hardware but they can be customized via /etc/portage/savedconfig
.
emerge --ask sys-kernel/installkernel-gentoo
emerge --ask sys-kernel/gentoo-kernel
System administrators who want to avoid compiling the kernel sources locally can instead use precompiled kernel images:
emerge --ask sys-kernel/gentoo-kernel-bin
可选 使用genkernel编译内核
emerge genkernel
- 可选:复制安装光盘上的内核配置文件:
zcat /proc/config.gz > /usr/share/genkernel/arch/x86_64/kernel-config
- 编译:
genkernel --menuconfig all
一旦genkernel运行完成,一个包括全部模块和initrd的内核将被建立。在后面配置引导程序时我们将会用到这个内核和initrd。请记下内核和initrd的名字,因为您将在配置引导程序的时候用到他们(Grub Legacy使用)。initrd将会在启动真正的系统前自动识别硬件(如同安装光盘一样)。
ls /boot/kernel* /boot/initramfs*