当前位置:硬件测评 > 编译Linux内核的四个简单步骤

编译Linux内核的四个简单步骤

  • 发布:2023-09-30 11:47

本文简单介绍了Linux内核编译的四个步骤,从安装编译环境到最后修改内核启动选项,简单明了。本文使用的环境是基于Debian的Ubuntu,可以简单地从Ubuntu源码安装,也可以从内核官网下载。 下面介绍编译Linux内核的四个步骤: 1.需要先安装编译环境 输入root账户: > 苏 输入密码 安装必要的工具: > apt-get install build-essential (安装gcc、make等) > apt-get 安装 libncurses-dev (安装make menuconfig时需要库文件) > apt-get 安装内核包、fakeroot (Debian系统中生成kernel-image的一些配置文件和工具) > apt-get 安装 initramfs-tools、module-init-tools 2. 安装内核源码: 它可以从 Ubuntu 源安装。优点是简单,安装的内核是基于Debian的。缺点是内核不是最新的内核。 > apt-get 安装 linux 源 您还可以从 www.sychzs.cn 下载内核安装。 www.sychzs.cn的镜像应该很多,选择最快的下载,因为下载的文件比较大。我这里介绍的是安装2.6.24内核并添加ck补丁。 下载www.sychzs.cn2和www.sychzs.cn2并将其存放在/usr/src目录下。 > tar xvjf www.sychzs.cn2 > ln -s linux-2.6.24 linux (如果已有linux目录,请先删除) > 光盘Linux > bzcat ../www.sychzs.cn2 |补丁-p1 至此,内核源文件和补丁就安装完成了。 3.编译内核 将源码包解压到/usr/src/linux-2.6.24,然后在/usr/src/下创建一个名为linux的链接,指向/usr/src/linux-2.6.24。在外壳中输入 root@FE2000:~# cd .. root@FE2000:/# cd /usr/src/linux root@FE2000:/usr/src/linux# make mrproper root@FE2000:/usr/src/linux# make menuconfig 或者进行gconfig 此时qconf已经读取了默认配置,你也可以这样做: 点击File->Load in qconf,读取其他配置文件。 例如/boot/config-2.6.18-23-686 接下来在 qconf 中配置 .config 文件。选择“Y”(勾选)将其编译到内核中,选择“M”(点)将其编译成模块供内核动态调用。选择“N”不安装。您也可以保留默认选项... 这里仅仅是少数: 一般设置 优化大小(注意损坏的编译器!)爱好者可以选择 Y 以获得更小的内核。 处理器类型和功能 对称多处理支持如果没有多线程处理器,可以选择N 根据您的 CPU 选择处理器系列。 高内存支持 如果您的内存超过 1G,请选择“4GB”。如果您的内存小于 1G 并且将来不打算升级到 1G,请选择“关闭”。 总线选项(PCI、PCMCIA、EISA、MCA、ISA) PCI支持 PCI Express 支持 如果较旧的机器没有 PCI-E 设备,则可以选择 N。 ISA支持 较新的机器没有ISA设备,可以选择N MCA支持一般选择N NatSemi SCx200支持一般选择N PCI 热插拔支持 支持 PCI 热插拔(实验) 如果没有 PCI 热插拔设备,请选择 N 设备驱动程序 块设备 在 CD/DVD 介质上写入数据包启用写入缓存(实验) 如果您有录音机并且想要启用写入缓存功能,请选择 Y ATA/ATAPI/MFM/RLL 支持 包含 IDE/ATA-2 DISK 支持 如果你的 /boot 放在 IDE 硬盘上,这里即使选择 M,也必须选择 Y。否则,启动时会出现“等待根文件系统”提示,系统将会停滞。 SCSI 设备支持 如果您有 SATA 硬盘,请选择 Y SCSI 磁盘支持 如果您的 /boot 放置在 SATA 硬盘上,请务必选择 Y。 字符设备 I2C支持一般可以选择Y或M 图形支持不建议将图形驱动程序编译到内核中。 ,选择M编译成模块,方便以后驱动升级。 支持帧缓冲设备 VESA VGA显卡支持可以选择Y 标志配置 启动徽标 如果您想看到 Linux 启动徽标,请选择 Y 声音 声卡支持 选择Y,除非你没有声卡 可以根据需要添加和删除其他驱动程序。根据机器配置删除不需要的驱动可以缩短编译时间。您可以在命令行中输入lspci或dmesg来查看硬件信息。 文件系统 CD-ROM/DVD 文件系统 ISO 9660 CDROM 文件系统支持 一般选择 Y DOS/FAT/NT 文件系统 VFAT (Windows-95) fs 支持 如果您有 FAT32 分区,请选择 Y。 NTFS 文件系统支持 如果您有 NTFS 分区,请选择 Y。 NTFS写入支持 如果要写入NTFS分区,请选择Y 母语支持 简体中文字符集(CP936、GB2312) 选择Y或M,避免读取FAT分区时出现中文乱码。设置完成后,点击保存按钮。无论最初加载哪个配置文件,qconfig 都会将设置保存到隐藏文件/usr/src/linux/.config 中。 下面输入make开始编译。这个过程大约需要 40-100 分钟,具体取决于您机器的速度...... root@FE2000:/usr/src/linux# make 安装内核 root@FE2000:/usr/src/linux# make install 编译模块 root@FE2000:/usr/src/linux# 制作模块 安装模块 root@FE2000:/usr/src/linux# make module_install 然后 root@FE2000:/usr/src/linux# cd / root@FE2000:/usr/src/linux# /usr/sbin/mkinitramfs -o /boot/initrd.img-2.6.24 2.6.24 如果出现错误信息,可能是因为没有安装 initramfs-tools。首先安装它。 如果不执行此步骤,启动时会出现提示 …… initrd /initrd.img-2.6.24 错误 15:找不到文件 4.修改内核启动选项 最后打开/boot/grub/menu.lst 添加类似于下面的两段## ## End Default Options ## 标题 Ubuntu,内核 2.6.24 根(hd0,4) 内核 /vmlinuz-2.6.24 root=/dev/hdd6 initrd /initrd.img-2.6.24 保存默认值 启动 标题 Ubuntu,内核 2.6.24(恢复模式) 根(hd0,4) 内核 /vmlinuz-2.6.24 root=/dev/hdd6 ro single initrd /initrd.img-2.6.24 启动 请注意,根字段和内核字段必须模仿 menu.lst 下面的现有内容进行编写。下面是(hd0,4),那么你也写(hd0,4),下面写root=/dev/hdd6,你也写root=/dev/hdd6,但是内核版本号改为当前编译的版本号。 然后删除下面重复的savedefault。 重新启动计算机并在 GRUB 中选择要启动的新内核。 【编辑精选】 如何在2.6内核中编译内核模块 Linux 2.6.31 内核优化指南 Ubuntu 9.10基于Linux 2.6.31.1内核

相关文章

热门推荐