Linux内核的编译(Ubuntu为例
1、获取linux内核源代码
在下载目录打开终端,输入命令
sudo tar -xvf linux*.tar.xz -C /usr/src
解压到/usr/src
文件夹中
2、选择和启动内核配置程序
打开终端,输入命令cd /usr/src/linux-5.0
(最后一项为你所下载的linux内核源代码文件夹的名称)
准备安装环境,输入命令
sudo apt-get install kernel-package build-essential libncurses5-dev fakeroot
输入命令,sudo make menuconfig
(文本选择界面,字符终端)
(ps:请提前安装好make,gcc,bison,flex,libncurses-dev
。
安装方式为,sudo apt-get install make
(换成对应的名字 即可)
打开后如图
3.根据需要配置内核模块和参数(默认即可)
如需修改, 可参考如下
1 、Loadable module support 设置对可加载模块支持。
Enable loadable module support(y)
Set version info on all module symbols (n)
Kernel module loader(y)
2、 Processor type and features
设置CPU的类型
Processor family
选择CPU类型
High Memory Support (n)
Math emulation (n)
MTTR support: (n)
Symmetric multi-processing support (n)
3 General setup
对普通的一些属性进行设置。
Networking support:(y)
PCI support(y)
PCI access mode PCI卡存取模式: BIOS、Direct和Any
Support for hot-pluggable devices (n)
PCMCIA/CardBus support (n)
4 Parallel port support 并口支持 (y)
5 Plug and Play configuration:即插即用配置(y)
6 Block devices 块设备支持的选项
Normal PC floppy disk support 软盘支持(y)
Network block device support 网络块设备支持(y)
7 Networking options 选取TCP/IP networking选项
8 Network device support 网络设备支持的选项
例如:使用Realtek 8139网卡
Ethernet(10 or 100Mbit) (y)
RealTeck RTL-8139 PCI Fast Ethernet Adapter support (y)
9 Mice 鼠标设置选项:串口、PS/2等类型鼠标
10 File systems 文件系统类型。
DOS FAT fs 选项:FAT16, FAT32
NTFS file system support
/proc file system support: (y)
11.Sound 声卡驱动,选项:声卡型号
12.USB support USB接口的支持,根据需要选择。
4、重新编译新的内核
sudo make clean (清除旧的编译结果
sudo make bzImage . (/arch/i386/boot/bzImage
5、编译和安装模块
sudo make modules
sudo make modules_install
(模块被编译且安装到 /usr/lib/<内核版本号> 目录下。
6、启动新内核
配置grub,更新grub启动信息
sudo update-grub
如下配置默认也可
cp bzImage /boot/bzImage
LILO
配置/etc/lilo.conf
image=/boot/bzImage
label=newLinux build by Zhang San Feb.28, 2012
命令 #lilo
使配置生效
GRUB (与发行版本有关)
配置/boot/grub/grub.conf
title newLinux build by Zhang San Feb.28, 2012
root (hd0,1)
kernel /boot/bzImage ro root=/dev/hda2