内核编译步骤
第二步 然后解压linux*对应版本的软件包到到当前目录,当前本人所在目录为用户家目录
tar xvf linux-4.12.tar.xz
第三步 cd切换进解压后的目录中,如cd linux-4.12,并之后的编译安装等操作都只能在此目录下执行
第四步 复制系统本身的内核模块功能文本配置文件并重命名为.config
cp /boot/config-$(uname -r) .config
第五步 安装开发包组
yum -y groupinstall "Development Tools"
第六步 执行编译,使用菜单配置内核选项,若编译报错,则根据报错提示安装对应的软件包
make menuconfig
第七步 编译内核,编译过程有点长,请耐心等待,请勿终止操作
make -j 2 使用2个CPU多线程同时编译
第八步 根据错误提示安装软件包,如下图
提示安装openssl-devel软件包
yum -y install openssl-devel 根据错误提示安装相应的软件开发包
第九步 然后继续编译 make -j 2
第十步 在编译完成之后,更新数据库,然后就可以查看我们编译进内核的模块是否成功
updatedb 更新数据库 locate ntfs.ko 查看我们编译进内核的ntfs模块是否存在于内核中
第十一步 安装复制模块文件,安装过程有点长,请耐心等待
make modules_install
第十二步 将内核拷贝到/boot目录下并修改grub文件,make执行报错,若报错,则根据提示安装对应的软件包
make install 将内核拷贝到/boot目录下并修改grub文件 报错信息如下
yum -y install elfutils-libelf-devel 安装elfutils-libelf-devel包 make install 继续执行
第十三步 查看/boot目录下已生成vmlinuz-4.12.0-danran内核文件和grub.cfg或grub.conf文件是否改变
/boot/vmlinuz-4.12.0-danran cat /boot/grub2/grub.cfg 查看grub配置文件,里面多了一个新内核菜单
第十四步 reboot 重启系统选择新内核启动
清理内核编译产生的文件
cd linux-4.12 make clean:清理大多数编译生成的文件,但会保留config文件等; make mrproper:清理所有编译生成的文件、config及某些备份文件 make distclen:mrproper、patches以及编辑器备份文件
内核编译操作流程如下
下载linux*相应软件包
tar xvf linux-4.12.tar.xz 解压内核到当前目录
cd linux-4.12
cp /boot/config-3.10.0-514.el7.x86_6 .config 复制系统本身的功能配置文件到内核解压目录下并命名为.config
ls .config
yum -y groupinstall "Development Tools" 安装Development Tools开发包组
make menuconfig 打开图形功能配置界面
如果上一步骤报错,则按照报错提示安装相应的软件包,eg ncurses-devel软件包
修改内核的版本号为danran
添加内核的支持ntfs功能
vim .config 查看配置文件,确认ntfs功能是否开启,内核版本号是否改变
lscpu 查看cpu信息,和cpu核数
make -j 2 编辑内核
根据编译报错提示安装相应的软件包
上图所示,提示安装openssl-devel软件包yum -y install openssl-devel 根据错误提示安装相应的软件开发包
yum -y install elfutils-libelf-devel
make -j 2 继续编译,编译时间有点长,请耐心等待,请勿终止
updatedb 更新数据库
locate ntfs.ko 查看我们编译进内核的ntfs模块是否存在于内核中
make modules_install 安装复制模块文件,请耐心等待复制过程
cd /lib/modules
find 4.12..danran/ -name ".ko" 查看新编译内核中的所有ko模块文件
cd /root/linux-4.12
make install 将内核拷贝到/boot目录下并修改grub文件,make执行报错,根据提示安装相应软件包
yum -y install elfutils-libelf-devel 安装elfutils-libelf-devel包
ll /boot/vmlinuz-4.12.0-danran 查看/boot目录下已生成vmlinuz-4.12.0-danran内核文件
cat /boot/grub2/grub.cfg 查看grub配置文件,里面多了一个新内核菜单
reboot 重启系统选择新内核启动
ls linux-4.12/fs/ntfs/ntfs.ko 查看ntfs模块是否安装
单独编译ntfs.ko模块文件
cd linux-4.12 进入内核目录
make fs/ntfs/ntfs.ko 重新编译ntfs.ko模块文件
ll fs/ntfs/ntfs.ko 查看ntfs.ko模块文件是否编译生成
cp fs/ntfs/ntfs.ko /lib/modules 单独拷贝模块文件到/lib/modules中
内核的相关知识点请点击链接
以上就是内核编译步骤的详细内容,更多请关注其它相关文章!
上一篇: PHP实现SSL加密解密、验证及签名
下一篇: mysql默认端口是多少?
推荐阅读
-
spring boot + POI 导出和导入Excel表格详细步骤
-
Cpp 对象模型探索 -- 编译器为对象创建缺省析构函数的条件
-
完整java开发中JDBC连接数据库代码和步骤 博客分类: JDBC jdbc
-
Django项目步骤 django
-
Myeclipse修改Java文件后tomcat不能自动编译 博客分类: java tomcatmyeclipsejava
-
linux下源码编译安装postgreSQL11.7
-
centos6.5编译R源码 博客分类: linuxR Rlinux
-
fedora 21vmware 虚拟机 vmnet编译失败的问题 博客分类: linux,centoslinux cnetosvmware
-
fedora 21vmware 虚拟机 vmnet编译失败的问题 博客分类: linux,centoslinux cnetosvmware
-
eclipse忽略svn目录文件编译 博客分类: j2ee