程序员开发实例大全宝库

网站首页 > 编程文章 正文

编译Linux内核(入门)(编译linux内核的意义)

zazugpt 2024-08-09 12:16:26 编程文章 157 ℃ 0 评论

编译内核往往是Linux系统初学者望尘莫及的事情,但是小编通过自身实际操作的经历给大家简单说下,以提高大家学习Linux的动力。当然也是只是带大家简单的了解下,其实内核是很高深莫测的。

编译内核步骤

  1. 编译准备,我们要准备一台稍微好点的Linux系统机器(虚拟机也可以), 用yum命令安装编译过程中需要的工具和库文件等等。

    操作命令:yum install *curses* gcc bc make -y

  2. 通过https://www.kernel.org/下载内核源代码包,可根据自己的情况下载,不需要下载最新的内核包,稍微新的包就可以了,我是以3.19的内核包的。在拷贝或者解压源代码到/usr/src/kernels

    操作命令: tar zxvf linux-3.19.tar.gz -C /usr/src/kernels/

  3. 编译选择相应的选项make menuconfig,这个选项里面 我们不需要进行太多的配置修改,因为现在的Linux系统默认不支持NTFS系统,我们可以通过编译内核,让系统识别到NTFS系统。

  4. 编译make (漫长的等待过程,小编是最喜欢看这种界面刷新的)

  5. 模块安装

    操作命令:make modules_install

  6. 拷贝编译生成的bzImage和System.map文件到 /boot目录下

    操作命令:

    cp /usr/src/kernels/linux-3.19/arch/x86_64/boot/bzImage /boot/vmlinuz-3.19.0 cp /usr/src/kernels/linux-3.19/System.map /boot/System.map-3.19.0

  7. mkinitrd /boot/initrd.img-3.19.0.img 3.19.0 //可能需要多等一会

  8. 修改grub配置文件 在修改/etc/grub.conf的时候,请不要忘记备份/etc/grub.conf了。

    示例如下图

    default=1

    timeout=5

    splashimage=(hd0,0)/grub/splash.xpm.gz

    hiddenmenu

    title CentOS (2.6.32-220.el6.x86_64)

    root (hd0,0)

    kernel /vmlinuz-2.6.32-220.el6.x86_64 ro root=/dev/mapper/vg_kernel-lv_root rd_NO_LUKS rd_LVM_LV=vg_kernel/lv_swap rd_LVM_LV=vg_kernel/lv_root rd_NO_MD quiet rhgb crashkernel=auto.UTF-8 KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM

    initrd /initramfs-2.6.32-220.el6.x86_64.img

    title CentOS (3.19.0)

    root (hd0,0)

    kernel /vmlinuz-3.19.0 ro root=/dev/mapper/vg_kernel-lv_root rd_NO_LUKS rd_LVM_LV=vg_kernel/lv_swap rd_LVM_LV=vg_kernel/lv_root rd_NO_MD quiet rhgb crashkernel=auto.UTF-8 KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM

    initrd /initrd-3.19.0.img

  9. 重启机器 启用新内核。

  10. 如有错误之处,敬请谅解。欢迎大家指教。谢谢。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表