说明:这里先给出一个比较的结果,作为记录,后续会给出内核配置差异的详细解释. [root@xiaolyu linux-4.7.2]# diff .config .config_bak  3c3< # Linux/x86_64 3.10.0-327.el7.x86_64 Kernel Configuration---> # Linux/x86 4.7.2 Kernel Configuration13d12< CONFIG_HAVE_LATENCYTOP_SUPPORT=y14a14,17&…
了解了LFS的内容后,至于内核的更新就一目了然了 http://www.cnblogs.com/2018/p/3979305.html http://www.cnblogs.com/2018/p/3981399.html 不过有些资料LFS上也没有,如下是概要的汇总了相关的资料 内核更新 http://jingyan.baidu.com/article/08b6a591f187ff14a809228a.html 1.内核版本显示命令uname  -r       (uname查看操作系统信息,r…
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私募机构九鼎控股打造,九鼎投资是在全国股份转让系统挂牌的公众公司,股票代码为430719,为“中国PE第一股”,市值超1000亿元.  -----------------------------------------------------------------------------------…
Linux内核更新超级频繁,可是有必要时刻升级吗?个人感觉没有必要,可是你要时刻关注新特性列表,然后把自己的内核升级到离最新版本号差一两个月公布的版本号而不是最新版本号.以保证稳定性,由于一两个月的时间足够多的慧眼会发现足够多的问题,既然自己不是Alan Cox那个梯队的大牛,最好不要在自己的生产版本号上使用最新内核.当然,做试验或者Just play例外.       为什么要升级内核?是的,非常多人并不允许这样的观点.可能他们觉得使用内核提供的最持久最稳定的接口就已经足够,多数的定制特性须要…
之前一直使用centos 7系统进行开发,centos 7.0 系统自带的linux内核版本为 linx 3.10,最近开发需要使用到socket的reuse port特性,该特性在linux 3.9及以上才被支持,因此需要将系统升级到linux的3.9及以上版本. 从网上查找了升级内核的教程,发现主要有两种: 一.使用 elrepo 的rpm包升级 查看当前系统内核版本 uname -r 1. 导入key rpm --import https://www.elrepo.org/RPM-GPG-…
什么是Initrd initrd的英文含义是 boot loader initialized RAM disk,就是由boot loader初始化的内存盘.在 linux内核启动前, boot loader 会将存储介质中的 initrd 文件加载到内存,内核启动时会在访问真正的根文件系统前先访问该内存中的 initrd 文件系统. 在 boot loader 配置了 initrd 的情况下,内核启动被分成了两个阶段,第一阶段先执行 initrd文件系统中的"某个文件",完成加载驱动模…
如何更新远程主机上的 Linux 内核 http://blog.csdn.net/robertsong2004/article/details/47277121 转载至:http://www.tinylab.org/how-to-update-the-linux-kernel-of-a-remote-machine/ 注:最近在 linuxsir.org 看到有一篇<能否不重新起動而使用新遍譯好的內核>的帖子,最近楼主自己发了一个解决办法的帖子,叫<用 kexec 迅速切换内核>,…
转自:http://blog.csdn.net/lee244868149/article/details/44302819 Linux内核的更新非常的快,如何快速的了解这些更新呢?最一般的办法就是把新旧版本的内核源码下载下来,然后利用BCompare或别的什么工具进行源码对比,但这明显比较费力耗时,而本文将介绍一种更快捷简单的方法. 在官方http://git.kernel.org/网站可以找到linux的各种git更新记录,比如virt/kvm/kvm.git,通过这个链接,可以看到kvm的各…
说明:为了安装Docker,当前虚拟机不满足要求,版本如下: [root@localhost116 ~]# uname -r -.el6.x86_64 [root@localhost116 ~]# cat /etc/issue Red Hat Enterprise Linux Server release 6.7 (Santiago) Kernel \r on an \m [root@localhost116 ~]# 安装docker,先要升级linux内核到3.10.步骤如下: 1.下载安装包…
注意:对于可以用好几条命令实现的,第一条命令已经验证,其他的命令参考自网上,没有进行验证. 查看Linux系统内核的命令有下面几条 dpkg --get-selections | grep linux-image dpkg --get-selections | grep linxu-headers dpkg --list | grep linux-image dpkg --list | grep linux-headers ls /boot/ linux内核镜像包含的包 linux-image…
LTP--linux稳定性测试 linux性能测试 ltp压力测试 zhangzj1030关注14人评论33721人阅读2011-12-09 12:07:45   说明:在写这篇文章之前,本人也不曾了解LTP是干嘛的,直到参加一次技术沙龙才了解到它是用来对linux系统进行稳定性测试的一个开源工具,演讲人是世纪佳缘运维部门的技术老总!平时我们这些做运维朋友们都很少涉及到系统的测试,因为觉得linux本生就很稳定,因此就没有必要去做测试,但是系统是更新的,同样linux的内核是也在更新的,那新系统…
第一节 - 一般性问题 1. 为什么有些时候使用“GNU/Linux"而另一些时候使用“Linux”? 答:在这个FAQ中,我们尝试使用“linux”或者“linux kernel”来表示内核,而GNU/Linux用于表示整个GNU/GPL的操作系统软件.我们需要分清:) FAQ的目的是提供linux内核更多的信息并避免语义上的歧义.更多GNU软件和linux关系的讨论可以在http://www.gnu.org/gnu/linux-and-gnu.html获取.看上去很多人都忽视了linux内核…
Linux系统由什么组成? 由用户空间(应用程序+GNU C标准库)和内核空间(系统调用接口+内核+内核架构代码)组成. Linux内核到底是什么?以及组成. ARM的七种操作级别? 内核网络协议栈(Network Stack)的作用? 为Linux提供了丰富的网络协议(TCP/IP.PPPOE)实现.将网络协议栈放在内核中为了提高网络性能,减少CPU开销. 虚拟文件系统的作用? 为了支持多种文件系统,并为它们提供统一的操作接口. Linux内核源代码结构 关于每个文件夹中的具体内容分析:参考h…
<Linux内核设计与实现>CHAPTER1,2阅读梳理 [学习时间:2.5hours] [学习内容:Linux内核简介——历史与现今版本:Linux内核源代码以及编译] CHAPTER1 Linux内核简介 1.Unix内核特点 十分简洁:仅提供几百个系统调用并且有明确的目的: 在Unix中,大部分东西都被(或者正致力于)被当做文件对待: Unix内核即相关系统工具软件都是用C语言编写的,这使得系统有着强大的可移植性: Unix进程创建非常迅速,目标在于一次执行保质保量地完成一个任务 2.L…
本文转载自:http://blog.csdn.net/coding__madman/article/details/51291316 1. Linux体系结构 从整体上来分,linux可以分为User Space和Kernel Space构成,即用户空间和内核空间 用户空间:应用程序 C库 系统配置文件等 内核空间:在内存中,用户一般不能直接接触到(系统调用接口,体系结构相关的一些代码等等) 这样划分的的好处: 其实内核空间与用户空间是程序执行的两种不同的状态,通过系统调用和硬件中断能够完成从用…
一.获取内核源码 1. Git git实际上是一种开源的分布式版本控制工具. Linux作为一个开源的内核,其源代码也可以用git下载和管理 - 获取最新提交到版本树的一个副本 - $ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git - 下载代码后,更新自己的分支到最新分支 - $ git pull 2.安装内核源代码 压缩形式为bzip2:$ tar xvjf linux-x.y.z.…
--译自Linux3.9.5 Kernel Makefiles(内核目录documention/kbuild/makefiles.txt) kbuild(kernel build) 内核编译器 This document describes the Linux kernel Makefiles 本文档介绍了Linux内核的Makefile === Table of Contents === 目录 === 1 Overview === 1 概述 === 2 Who does what === 2…
1.前言  编译linux内核失败的原因很多时候就是驱动选错,适合自己本机的驱动没编译进去.面对特殊平台(或者有些洁癖者,我就是^_^),要编译精简内核,只要本机驱动,其他都不需要.面对内核里面这么多驱动,不懂硬件的我们,看到都头大.本人第一次安装gentoo的时候,内核编译了5次,前4次主要失败原因是以太网卡驱动.无线网卡驱动.显卡驱动.声卡驱动都没一次性配置正确.虽然gentoo提供了genkernel命令,可以自动帮你编译内核,但还是想自己手工尝试下. 2.获取本机驱动信息 既然跟内核挂钩…
第一章 Linux内核简介 1.1 Unix的历史 1971年,Unix被移植到PDP-11型机中. 1973年,Unix操作系统用C语言改写——为Unix系统的广泛移植铺平了道路. 1977年,伯克利推出1BSD系统 1994年,伯克利推出Unix系统的最终官方版——4.4BSD unix强大的根本原因 (1)简洁:仅提供系统调用并有一个非常明确的设计目的 (2)抽象:所有东西都被当做文件对待 (3)可移植性:使用C语言编写,可移植能力强 (4)进程:创建迅速,独特的fork系统调用 : (5…
本文转载自:http://www.codexiu.cn/linux/blog/34801/ 前面我们介绍模块编程的时候介绍了驱动进入内核有两种方式:模块和直接编译进内核,并介绍了模块的一种编译方式——在一个独立的文件夹通过makefile配合内核源码路径完成   那么如何将驱动直接编译进内核呢?     在我们实际内核的移植配置过程中经常听说的内核裁剪又是怎么麽回事呢? 我们在进行linux内核配置的时候经常会执行make menuconfig这个命令,然后屏幕上会出现以下界面: 这个界面是怎么…
转自:http://my.oschina.net/fgq611/blog/113249 内核开发比用户空间开发更难的一个因素就是内核调试艰难.内核错误往往会导致系统宕机,很难保留出错时的现场.调试内核的关键在于你的对内核的深刻理解. 一  调试前的准备 在调试一个bug之前,我们所要做的准备工作有: 有一个被确认的bug. 包含这个bug的内核版本号,需要分析出这个bug在哪一个版本被引入,这个对于解决问题有极大的帮助.可以采用二分查找法来逐步锁定bug引入版本号. 对内核代码理解越深刻越好,同…
from:http://blog.csdn.net/jiang_dlut/article/details/8163731 中文版维护者: 张乐 Zhang Le <r0bertz@gentoo.org> 中文版翻译者: 张乐 Zhang Le <r0bertz@gentoo.org> 中文版校译者: 王聪 Wang Cong <xiyou.wangcong@gmail.com>                wheelz <kernel.zeng@gmail.co…
linux内核调试指南 一些前言 作者前言 知识从哪里来 为什么撰写本文档 为什么需要汇编级调试 ***第一部分:基础知识*** 总纲:内核世界的陷阱 源码阅读的陷阱 代码调试的陷阱 原理理解的陷阱 建立调试环境 发行版的选择和安装 安装交叉编译工具 bin工具集的使用 qemu的使用 initrd.img的原理与制作 x86虚拟调试环境的建立 arm虚拟调试环境的建立 arm开发板调试环境的建立 gdb基础 基本命令 gdb之gui gdb技巧 gdb宏 汇编基础--X86篇 用户手册 AT&…
准备工作 物理主机:win8(32位) 虚拟机工具:VirtualBox_4.3.16_Win32 虚拟主机:xubuntu-12.04.4 安装virtualBox功能增强包 设置好虚拟机与主机的共享文件夹 进入内核所在文件夹并解压,由于内核代码一般安装在/usr/src下,因此将内核代码解压到/usr/src下 配置内核 2.1 查看gcc信息 在配置内核之前查看系统是否已安装gcc 2.2 使用make gconfig进行配置 2.2.1 错误1 然而使用这个配置模式,出现了错误: 错误提…
http://blog.chinaunix.net/uid-20940095-id-66148.html 一 linux内核源码阅读工具 windows下当然首选source insight, 但是linux下就没有source insight这么优秀的工具了,但是也有不少的替代品,但觉绝对部分人会选择vim+ctags+cscope的组合,还有部分人或选择wine中的source insight或选择navigatror,当然对于代码阅读来说vim+ctags+cscope的组合还是比较好的一…
一.运行在TQ2440开发板上的linux内核编译 1.获取源码并解压 直接使用天嵌移植好的“linux-2.6.30.4_20100531.tar.bz2”源码包. 解压(天嵌默认解压到/opt/EmbedSky/linux-2.6.30.4/中) tar xvjf linux-.4_20100531.tar.bz2 -C / 2.获取默认配置文件 可以使用“config_EmbedSky_W43”作为默认配置文件 cp config_EmbedSky_W43 .config 3.配置(根据需…
在linux内核学习系列的第一课中讲述了搭建学习环境的过程(http://www.cnblogs.com/xiongyuanxiong/p/3523306.html),环境搭好后,马上就进入到下一环节--编译内核.linux的内核是整个系统最核心的部分,内核的功能基本上决定了系统的能力. linux的内核代码使用的是GPL授权,允许自由下载,修改并重新发布内核,只要求发布修改后的内核的同时提供源代码.各种各样的内核版本众多,几乎所有的linux发行版都会对内核进行或多或少的修改,debian也不…
目录[-] 一  调试前的准备 二  内核中的bug 三  内核调试配置选项 1  内核配置 2  调试原子操作 四  引发bug并打印信息 1  BUG()和BUG_ON() 2  dump_stack() 五  printk() 1  printk函数的健壮性 2  printk函数脆弱之处 3  LOG等级 4  记录缓冲区 5  syslogd/klogd 6  dmesg 7 注意 8 内核printk和日志系统的总体结构 9  动态调试 六  内存调试工具 1  MEMWATCH 2…
原文:十天学Linux内核之第七天---电源开和关时都发生了什么 说实话感觉自己快写不下去了,其一是有些勉强跟不上来,其二是感觉自己越写越差,刚开始可能是新鲜感以及很多读者的鼓励,现在就是想快点完成自己制定的任务,不过总有几个读者给自己鼓励,很欣慰的事情,不多感慨了,加紧时间多多去探索吧,今天要去描述的是电源开和关时都发生了什么,一起去看看吧~~ bootloader引导装入程序将内核映像加载到内存并处理控制权传送到内核后在内核引导时每个子系统都必须要初始化,我们根据实际执行的线性顺序跟踪内核的…
转自:http://www.cnblogs.com/amanlikethis/p/3675486.html <请阅读原文> 一.概述 1.本文的意义 众多的资料(<嵌入式Linux应用开发完全手册>.Documentation/kbuild/makefiles.txt)已经向我们展示了一个初级Linux用户者应该懂得的知识--怎样添加需要编译的文件.添加编译的规则.多个源文件构成一个目标文件的情况等. 但是,一种"找到真相"的冲动迫使我想了解Linux内核编译的…