内核配置:

make config:基于文本模式的交互式配置

make menuconfig:基于文本模式的菜单型配置





<*>文件经过编译由.c文件到.o文件,最后链接压缩为内核镜像,它存放在内存。

<M>内核模块,同上经过编译后会把.o文件安装到硬盘。

< >表示不选择该功能





配置结果文件是隐藏文件,可以用ls -a 在内核文件下查看.config version





linux内核提供了一系列可供参考的内核配置文件,位于Arch/cpu/configs





接下来,我们利用虚拟机上的linux系统的配置文件来创建自己的升级版内核,并在虚拟机上运行该内核。





3、编译内核(编译内核、编译内核模块、制作ramdisk)





3.1、编译内核





make zImage只能编译小于512K的内核





make bzImage我们一般会使用这种方法编译内核





如需获取详细编译信息,可使用:





make zImage V=1





make bzImage V=1





编译好的内核位于arch/cpu/boot/目录下***





3.2编译内核模块





make modules 编译内核模块





make modules_install 将编译好的内核模块,从内核源代码目录复制到/lib/modules下**,为打包做好准备





经过第一步编译后,散落在各个文件下的.ko文件为内存模块。需要集中移动到/lib/modules这个就由make modules_install来完成





3.3制作init ramdisk





方法:mkinitrd initrd-$version $version





例如:mkinitrd initrd-2.6.32 2.6.32





通过uname -r 获得正在运行的内核版本





*$version可以通过查询/lib/modules下的目录得到





4、安装内核





1、cp arch/x86/boot/bzImage





/boot/vmlinuz-$version





2、cp initrd-$version /boot/





3、修改/etc/grub.conf的后四行





5、清理内核





make clean 清理编译内核生产的.o文件





make distclean 清理编译内核生产的.o文件和.config $version





记忆几个命令





rpm -qa | grep kernel 找到内核包信息





rpm -e kernel-内核包名

makemenuconfig学习的更多相关文章

  1. 从直播编程到直播教育:LiveEdu.tv开启多元化的在线学习直播时代

    2015年9月,一个叫Livecoding.tv的网站在互联网上引起了编程界的注意.缘于Pingwest品玩的一位编辑在上网时无意中发现了这个网站,并写了一篇文章<一个比直播睡觉更奇怪的网站:直 ...

  2. Angular2学习笔记(1)

    Angular2学习笔记(1) 1. 写在前面 之前基于Electron写过一个Markdown编辑器.就其功能而言,主要功能已经实现,一些小的不影响使用的功能由于时间关系还没有完成:但就代码而言,之 ...

  3. ABP入门系列(1)——学习Abp框架之实操演练

    作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...

  4. 消息队列——RabbitMQ学习笔记

    消息队列--RabbitMQ学习笔记 1. 写在前面 昨天简单学习了一个消息队列项目--RabbitMQ,今天趁热打铁,将学到的东西记录下来. 学习的资料主要是官网给出的6个基本的消息发送/接收模型, ...

  5. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  6. Unity3d学习 制作地形

    这周学习了如何在unity中制作地形,就是在一个Terrain的对象上盖几座小山,在山底种几棵树,那就讲一下如何完成上述内容. 1.在新键得项目的游戏的Hierarchy目录中新键一个Terrain对 ...

  7. 《Django By Example》第四章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:祝大家新年快乐,这次带来<D ...

  8. 菜鸟Python学习笔记第一天:关于一些函数库的使用

    2017年1月3日 星期二 大一学习一门新的计算机语言真的很难,有时候连函数拼写出错查错都能查半天,没办法,谁让我英语太渣. 关于计算机语言的学习我想还是从C语言学习开始为好,Python有很多语言的 ...

  9. 多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类)

    前言:刚学习了一段机器学习,最近需要重构一个java项目,又赶过来看java.大多是线程代码,没办法,那时候总觉得多线程是个很难的部分很少用到,所以一直没下决定去啃,那些年留下的坑,总是得自己跳进去填 ...

随机推荐

  1. 3.关于QT中的MainWindow窗口,MenuBar,ToolBar,QuickTip等方面的知识点

     1 新建一个空Qt项目 编写12MainWindow.pro HEADERS += \ MyMainWindow.h \ MyView.h SOURCES += \ MyMainWindow.c ...

  2. 【移动开发】自定义ProgressBar

    <ProgressBar android:layout_centerInParent="true" android:layout_width="30dp" ...

  3. ROS_Kinetic_25 在ubuntu16.04使用Leap_motion并作为手势输入控制Gazebo中的机器人

    ROS_Kinetic_25 在ubuntu16.04使用Leap_motion并作为手势输入控制Gazebo中的机器人 先附上资料网址: 1.  https://developer.leapmoti ...

  4. Cocos2Dv3.4在AppDelegate中不返回的情况及解决

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 我们通常想在app启动的早期做一些事情,可能放在AppDeleg ...

  5. Ubuntu 12.04: How to enable root login

    1. vi /etc/lightdm/lightdm.conf and add following modifications. greeter-show-manual-login=true allo ...

  6. 打Patch实践

    一.找到相应PATCH 确认系统已安装模块版本. SELECTapp.application_short_name, app.application_name, pi.patch_level   FR ...

  7. Android的原始资源Raw和Assert资源的使用-android学习之旅(五十七)

    代码示例 public class MainActivity extends Activity{ MediaPlayer mediaPlayer1,mediaPlayer2; @Override pr ...

  8. 网站开发进阶(三十八)Web前端开发规范文档你需要知道的事

    Web前端开发规范文档你需要知道的事 规范目的 为提高团队协作效率, 便于后台人员添加功能及前端后期优化维护, 输出高质量的文档, 特制订此文档. 本规范文档一经确认, 前端开发人员必须按本文档规范进 ...

  9. react-native版本升级

    时刻将React Native更新到最新的版本,可以获得更多API.视图.开发者工具以及其他一些好东西(译注:官方开发任务繁重,人手紧缺,几乎不会对旧版本提供维护支持,所以即便更新可能带来一些兼容上的 ...

  10. HTML5 input 类型: email及url

    原文地址:HTML5′s "email" and "url" Input Types 原文日期: 2010年09月15日 翻译日期: 2013年08月13日 在 ...