现在开源如此火爆.以至于张口闭口不提到都仿佛不是搞IT 的.那么怎样拥抱开源?本文适合刚開始学习的人,如有大神至此,goto exit ! 一.怎样增加开源 以Linux 为例,这么一个成功的开源项目须要做哪些工作?一个开源项目.研发人员都是时间以及空间上分散的,那么怎样联系怎样相互讨论成为一个非常重要非常重要的问题! Linux 或者说更早的开源都是基于邮件列表以及IRC 这两个核心的联系方式: 邮件列表(Mailing List)的起源能够追溯到1975年,是互联网上最早的社区形式之中的一个…
第一节 - 一般性问题 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内核…
http://www.wowotech.net/sort/linux_application/lkml.html https://kernelnewbies.org/ML https://lkml.org/ http://www.arm.linux.org.uk/developer/patches/ http://vger.kernel.org/vger-lists.html#linux-modules 订阅的方法: 1)发送订阅邮件,格式如下 收件人:majordomo@vger.kernel…
1.使用的内容格式为[纯文本],这个在国内的客户端已经没有了,大公司只有微软的outlook. 2.回复引用时,使用符号[>]作为标记,且回复的内容不能在最顶部,应该在最下面.参考:http://www.juliantec.info/mlist/mail-lists.html#mlist-post-example 3.既然已经现在支持纯文本的客户端很少,那么使用HTML的时候,也可以使用符号[>]作为引用标记,如jenkins的邮件:…
转自:http://www.cppblog.com/flyonok/archive/2011/04/15/144316.html 如何进行Linux Kernel 开发? (Take 3) 译者序:这是一篇很重要的文档,它介绍了内核开发的方方面面.这篇文档已被加入到内核源码树的Documentation文档里(名字为HOWTO),你可以在最新的内核树里找到它.尽管已经有网友翻译过这篇文档,但是我还是决定自己再翻译一遍.翻译完之后,我的感触是如果依靠翻译来进行学习,速度太慢了.以后的技术文档直接看…
1.发送订阅邮件 注意:一定不要使用像Foxmail这样的第三方邮件客户端,因为发送的邮件会转码,导致订阅不成功,推荐使用Gmail,直接登录进去发送. 发送邮件内容: 接收人:majordomo@vger.kernel.org 主题:hello 内容:subscribe linux-kernel 2.接收到回复的邮件 收到这封邮件表示成功找到了订阅方法,还没真正订阅,接下来就要再发送一封按照上面所说的确认订阅邮件 3.确认订阅 注意:不要直接回复邮件,而是重新发送 4.得到回复的邮件通知,表示…
转:http://blog.163.com/sunshine_linting/blog/static/44893323201282114012845/ 1.google"linux kernel maillist"就知道了,方法很多 2.比较简单的方法:http://vger.kernel.org/vger-lists.html列出了linux内核的邮件列表,点击"subscribe / unsubscribe",你要的应该是http://vger.kernel.o…
漏洞版本: Linux Kernel 3.11-rc4 漏洞描述: Linux Kernel是一款开源的操作系统 Linux Kernel 'perf_event.c'存在一个安全漏洞,允许本地攻击者利用漏洞提升权限 <* 参考 http://cxsecurity.com/issue/WLB-2013080128 http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=7809/1 https://lkml.org/lkml/…
[Linux开发]如何查看Linux kernel的内置模块驱动列表和进程ID 标签:[Linux开发] 命令: cat /lib/modules/$(uname -r)/modules.builtin 列举出的列表如下: kernel/kernel/configs.ko kernel/fs/binfmt_misc.ko kernel/fs/binfmt_script.ko kernel/fs/mbcache.ko kernel/fs/cramfs/cramfs.ko kernel/fs/ext…
http://blog.csdn.net/blizmax6/article/details/6747601 linux内核调试指南 一些前言 作者前言 知识从哪里来 为什么撰写本文档 为什么需要汇编级调试 ***第一部分:基础知识*** 总纲:内核世界的陷阱 源码阅读的陷阱 代码调试的陷阱 原理理解的陷阱 建立调试环境 发行版的选择和安装 安装交叉编译工具 bin工具集的使用 qemu的使用 initrd.img的原理与制作 x86虚拟调试环境的建立 arm虚拟调试环境的建立 arm开发板调试环…
大神Linus Torvalds于今天发布了Linux Kernel 5.1内核正式版,在对现有功能进行改进的同时还带来了很多重要的改进.本次版本更新历时一个半月,不过值得注意的是它并非是长期支持版本,因此用户最好还是选择现有的LTS版本. Linus Torvalds在邮件列表公告中说道:“过去一周的开发工作非常顺畅,基于RC6的最终正式版调整并不是很多.总体来说,Linux Kernel 5.1是常规更新,只有超过13k条commit(如果算上窗口合并期再加上1K).这对于我们来说真的是比较…
1. 订阅 linux 邮件列表 linux 邮件列表 Kernel Mailing Lists 是所有 linux kernel 开源贡献者协同工作的平台,可以通过向 VGER.KERNEL.ORG 发邮件的方式来加入到对应的 Mailing List 中. 订阅/取消 Mailing Lists 的方法: Send request in email to address <majordomo@vger.kernel.org> To subscribe a list (``linux-ker…
前言 作为全球最大的开放源代码托管平台,Github在上周迎来了它的十岁生日.自从2008年正式上线以来,Github上面汇聚了数以千万计的开发人员和各种项目,它几乎成为了开源的代名词和风向标,各大软件巨头都纷纷支持,在广大程序员心目中,也更是精神图腾一般的存在,坊间戏言它是最大的同性交友平台. 我自己对开源了解不多,并且能力也有限,一直没有在这方面有所贡献,但我肯定和大家一样都是Github的受益者.今天这篇文章一方面是希望借此为Github庆生(本来是上周想写,但一直没有时间),另外也是因为…
6月27日,全球首屈一指的开源盛会 2018 LinuxCon + ContainerCon + CloudOpen China (LC3)在中国北京国家会议中心落下帷幕.二度落地中国的LC3大会热度不减,标志着中国的开发人员和企业对开源技术的关注和需求不断增长. 持续三天的会议中,100多家国内外开源技术领先企业.300多位技术大咖及几千名IT相关从业者汇聚一堂,就Linux.容器.云技术.网络和微服务等当今流行的开源技术话题进行了深度的交流. 作为中国推动开源容器技术产品化和项目广泛应用的领…
10月10日,微软在博客中宣布正式加入开放创新网络(Open Invention Network, 简称“OIN”),向所有开源专利联盟的成员开放其专利组合. 微软的加入意味着,旗下60000多项专利将免费开源给Linux系统,帮助其发展.这60000多项已授权的宝贵专利产品组合(Windows和桌面应用程序代码的遗留例外)几乎是微软所拥有的一切了,这也意味着微软基本上同意向其他所有OIN成员授予其整个专利组合的免版税和不受限制的许可. 关于OIN OIN是由IBM.Red Hat等公司在200…
作者:JHJ(jianghuijun211@gmail.com)日期:2012/08/24 欢迎转载,请注明出处 引子 现在android智能手机市场异常火热,硬件升级非常迅猛,arm cortex A9 + 1GB DDR似乎已经跟不上主流配置了.虽说硬件是王道,可我们还是不禁还怀疑这么强大的硬件配置得到充分利用了吗?因此以后我都会正对ARM平台分析kernel的内容.  正文 在linux内存管理中,有两个资源非常重要,一个是虚拟地址,一个是物理地址.听起来似乎是废话,实际上内存管理主要就是…
0x01 漏洞前言 Google Project Zero的网络安全研究人员发布了详细信息,并针对自内核版本3.16到4.18.8以来Linux内核中存在的高严重性漏洞的概念验证(PoC)漏洞利用.由白帽黑客Jann Horn发现,内核漏洞(CVE-2018-17182)是Linux内存管理子系统中的缓存失效错误,导致释放后使用漏洞,如果被利用,可能允许攻击者获得根权限目标系统上的特权.免费使用后(UAF)漏洞是一类内存损坏错误,非特权用户可利用这些错误来破坏或更改内存中的数据,从而导致拒绝服务…
转自:http://www.wowotech.net/linux_kenrel/request_threaded_irq.html 一.前言 本文主要的议题是作为一个普通的驱动工程师,在撰写自己负责的驱动的时候,如何向Linux Kernel中的中断子系统注册中断处理函数?为了理解注册中断的接口,必须了解一些中断线程化(threaded interrupt handler)的基础知识,这些在第二章描述.第三章主要描述了驱动申请 interrupt line接口API request_thread…
http://en.wikipedia.org/wiki/Linux_kernel Development model The current development model of the Linux kernel is such that Linus Torvalds makes the releases of new versions, also called the "vanilla" or "mainline" kernels, meaning that…
看了下各位大神的推荐路线,总结如下: 0. 跟着项目走: 1. 学会用.熟练用linux系统: 2. Linux Kernel Development. 3. Understanding the Linux Kernel. 4. Linux Device Driver. 5. 找一个感兴趣的子系统研究,认真研究代码,这里的建议是可以看提交的每个change.比如网络子系统:Understanding linux network internels. “严谨而细致的仔细分析它的代码,不懂的地方就通…
============================================================================== 深入linux kernel内核配置选项 ============================================================================== 如果自己不亲自实践配置的话,你永远也体会不到内核的真实所在. 使用过linux的发行版之一gentoo的话,你应该知道这是一个彻头彻尾的自定义…
Linux 内核学习笔记整理. Unix unix 已有40历史,但计算机科学家仍认为其是现存操作系统中最大和最优秀的系统,它已成为一种传奇的存在,历经时间的考验却依然声名不坠. 1973 年,在用 C 语言重写了 Unix 系统后,大量的Unix衍生版本开始出现,许多公司把 unix 移植到新的机型上,开发者们都按照自己的方式不断增强系统的功能.Unix 系统设计简洁并在发布时提供源代码,所以许多团体都对其进行了进一步的开发.加州大学伯克利分校便是其中影响最大的一个.在BSD基础上,很多厂商也…
本系列文章主要写我在阅读Linux内核过程中,关注的比较难以理解但又设计巧妙的代码片段(不关注OS的各个模块的设计思想,此部分我准备写在“深入理解Linux Kernel” 系列文章中),一来通过内核代码复习一下C语言及汇编语言的语法,二来学习内核开发大牛们书写代码的风格及思路. 在内核文件 include/linux/bug.h中,有下面两行的宏定义: 1 2 3 4 5 6   /* Force a compilation error if condition is true, but al…
有关Linux kernel 字符设备分析: 参考:http://blog.jobbole.com/86531/ 一.linux kernel 将设备分为3大类,字符设备,块设备,网络设备. 字符设备是指只能一个字节一个字节读写的设备, 常见的外设基本上都是字符设备. 块设备:常见的存储设备,硬盘,SD卡都归为块设备,块设备是按一块一块读取的. 网络设备:linux 将对外通信的一个机制抽象成一个设备, 通过套接字对其进行相关的操作. 每一个字符设备或块设备都在/dev目录下对应一个设备文件.l…
导读 Linux Kernel 4.8正式版于10月2日由Linus Torvalds发布,带来了包括AMDGPU OverDrive支持.NVIDIA Pascal支持.AMDGPU PowerPlay改善.树莓派3的Broadcom BCM2837新品和微软Surface 3 Touch主控等支持. 拥有极高声望的Linux Kernel维护工程师Greg Kroah-Hartman于今天推出了Linux Kernel 4.8分支的首个维护版本. Greg Kroah-Hartman说道:"…
相信有很多人用 SourceInsight 查看 Linux Kernel 源码,但导入源码时会遇到一些问题.1.如果把整个源码树都导入进去,查看符号定义的时候,会发现有大量重复定义,很难找到正确的位置2.如果手动导入只和该硬件平台相关的源码,工作量太大本帖提供了一个方法,可用脚本生成只和该硬件平台相关的源码的文件列表,然后通过该文件列表,将相应文件导入 SourceInsight .以下是步骤,共4步:1.新建 SourceInsight 项目     先不要导入文件,停在如下界面:    …
Linux kernel 一直以其开源著称,可以自己编译选择合适的模块,针对特定的系统可以有不同的编译选项 来源 此次编译的内核版本为3.10.94,从官网www.kernel.org下载而来,自己虚拟机centOS原有版本为3.10.0 解压 xz -d linux-3.10.94.tar.xz tar -xvf linux-3.10.94.tar 备份(其实不需要做,但是以后做开发驱动之类的需要改系统的东西这就很重要了) #备份内核和启动文件(/boot)boot.tar.gz #备份系统函…
声明: 本笔记内容并非本人原创,90%来自网络资料的整合.同时,由于自己是刚刚接触qemu & gdbserver remote debug,本文也就算不得教程,仅供有缘人参考而已. ------------------------------------------------------------------------------------------------分割线-----------------------------------------------------------…
如果能给linux kernel打log,如果能单步运行,如果能像普通应用程序那样,step by step的查看程序跑哪里了.. 该多好?这是一个梦想,但从未实现过:因为那是kernel,不是应用程序.kernel一闪而过,我有什么能力让它驻足停留,为自己看个够?虽然,也知道kernel是人写的(废话),但那是全世界顶尖级黑客的产物---他们怎么把kernel写出来,然后怎么debug,无从知道... 曾经有这样的猜想:这些人可能都是有两台机器在开发,一台机器编码,然后把新的kernel拿到另…
参考资料: <ARM体系结构与编程> <嵌入式Linux应用开发完全手册> Linux_Memory_Address_Mapping http://www.chinaunix.net/old_jh/4/1021226.html 更多文档参见:http://pan.baidu.com/s/1mg3DbHQ 本文针对arm linux, 从kernel的第一条指令开始分析,一直分析到进入start_kernel()函数. 我们当前以linux-2.6.19内核版本作为范例来分析,本文中…