![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux kernel
豆腐干0123
这个作者很懒,什么都没留下…
展开
-
ubuntu编译内核
第一步:准备工作 打开终端获得root权限:sudo su 然后安装编译内核时需要的工具: apt-get install build-essential kernel-package libncurses5-dev libqt3-headers build-essential (基本的编程库(gcc, make等) kernel-package (D转载 2015-10-19 22:06:29 · 377 阅读 · 0 评论 -
linux_2.6.30.4_Makefile_4--make zImage流程
转自:http://blog.chinaunix.net/uid-26009923-id-3194580.html 分析一下make zImage的流程,具体的操作是:首先将linux-2.6.30.4/config_EmbedSky_W35_256MB改名为.config,然后make zImage.看一下make zImage之后发生了什么事情。转载 2015-10-13 18:01:02 · 445 阅读 · 0 评论 -
Linux Kernel系列一:开篇和Kernel启动概要
前言 最近几个月将Linux Kernel的大概研究了一下,下面需要进行深入详细的分析。主要将以S3C2440的一块开发板为硬件实体。大概包括如下内容: 1 bootloader分析,以uboot为主,结合具体开发板的情况。我的目标是解释清楚uboot的工作原理(说实话,分析过程中不太想被硬件绑架,但是需要以一个实际的例子 来做分析) 2 kernel部分,这就很多内容了。转载 2015-10-13 21:53:15 · 243 阅读 · 0 评论 -
Linux下逻辑地址-线性地址-物理地址图解
转载:http://blog.csdn.net/wxzking/article/details/5905214 一、逻辑地址转线性地址 机器语言指令中出现的内存地址,都是逻辑地址,需要转换成线性地址,再经过MMU(CPU中的内存管理单元)转换成物理地址才能够被访问到。 我们写个最简单的hello world程序,用gccs编译,再反编译后会看到以下指令: mov转载 2015-10-13 21:30:40 · 320 阅读 · 0 评论 -
linux kernel系列四:嵌入式系统中的文件系统以及MTD
本节介绍File System和MTD技术 一 FS 熟知的FS有ext2,3,4.但是这些都是针对磁盘设备的。而ES中一般的存储设备为Flash,由于Flash的特殊性: Flash存储按照Block size进行划分,而一个BLS一般有几十K。(对比磁盘的一个簇才512个字节)。这么大的BLS有什么坏处呢?很明显,擦除一个BL就需要花费很长的时间了。另外,FLASH操作,一次必须针对转载 2015-10-13 22:08:00 · 290 阅读 · 0 评论 -
Linux Kernel 系列2:用户空间的初始化
上篇我们知道,kernel初始化后将启动init进程,那么这个进程将干些什么呢?除此之外,kernel还需要做些什么事情呢?(想想文件系统、根存储设备是在什么时候初始化的呢?) 先从文件系统初始化说起。以前一直不明白,有了kernel为何还需要一个文件系统?经过反复琢磨,明白一个道理,kernel加载到内存后,kernel运行起来是没有问题的,但是如果没有Root FS,就好像PC上没有硬盘..转载 2015-10-13 22:01:33 · 287 阅读 · 0 评论 -
Linux Kernel系列三:Kernel编译和链接中的linker script语法详解
先要讲讲这个问题是怎么来的。(咱们在分析一个技术的时候,先要考虑它是想解决什么问题,或者学习新知识的时候,要清楚这个知识的目的是什么)。 我在编译内核的时候,发现arch/arm/kernel目录下有一个这样的文件:vmlinux.lds.S。第一眼看上去,想想是不是汇编文件呢?打开一看,好像不是。那它是干嘛的?而且前面已经说过,make V=1的时候,发现这个文件的用处在ld命令中,即ld转载 2015-10-13 22:05:37 · 380 阅读 · 0 评论 -
linux zImage生成过程详解
http://blog.csdn.net/BoySKung/archive/2008/12/26/3616211.aspx 可以看到,在顶层makefile的第278行,包含了scripts/Kbuild.include文件,在这里定义了大量的函数和变量,供顶层makefile和其他makefile文件使用。 在顶层makefile文件的第412行,包含了arch/ar转载 2015-10-13 18:12:25 · 258 阅读 · 0 评论 -
linux源码分析之cpu初始化 kernel/head.s
来自:http://blog.csdn.net/BoySKung/archive/2008/12/09/3486026.aspx linux-2.6.20.6/arch/arm/kernel/head.S 这是解压内核后内核入口所在的文件,完成内核解压后将控制权将转移到这里的入口。 先看一下 arch/arm/kernel/vmlinux.lds 这个链接脚本,在开头转载 2015-10-13 18:04:24 · 375 阅读 · 0 评论 -
make menuconfig的执行详情
menuconfig 在茫茫的编译的目标中,是谁唤醒了这个沉睡着的menuconfig? 那就让我来找一找吧。 首先我想到的就是搜这个关键字,总有个target叫这个名字吧。恩,终于皇天不负有心人,被我找到了。 在scripts/kconfig/Makefile,有这么个目标。 menuconfig: $(obj)/mconf转载 2015-10-14 11:10:42 · 376 阅读 · 0 评论