- 浏览: 128800 次
- 性别:
- 来自: 北京
-
最新评论
-
yangtaoxf126.com:
public class SimpleJDBC {
publ ...
oracle的sys用户怎么通过jdbc连接
SRC_TREE :=./
HEADER_PATH :=arch/arm/boot/compressed
BOOT_PATH :=arch/arm/boot/
KERNEL_PATH :=arch/arm/kernel
-----------------------------------------------------------------------------------------------------------------------
1 SRC_TREE 目录下的vmlinux经过objcoy后生成二进制文件Image,Image在经过gzip压缩后生成piggy.o
piggy.o是真正的内核镜像文件
2 HEADER_PATH/head.o ,head-xscal.o ,misc.o 的作用就是把piggy.o解压到指定的位置,然后执行piggy.o解压后的代码
HEADER_PATH/zImage
^
|[objcopy]
|
HEADER_PATH/vmlinux
^
|[ld]
|
+-<--HEADER_PATH/head.o
|
+-<--HEADER_PATH/head-xscal.o
|
+-<--HEADER_PATH/misc.o
|
+-<--HEADER_PATH/piggy.o <-- HEADER_PATH/piggy.gz <--[gzip]-- BOOT_PATH/Image <--[objcopy]--SRC_TREE/vmlinux
-----------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------
SRC_TREE目录下的vmlinux是由一下三部分组成的:
$(vmlinux-init)
$(vmlinux-main)
kallsyms.o
vmlinux
^
|
+-<--$(vmlinux-init)
| ^
| |
| +--<--KERNEL_PATH/head.S
| |
| +--<--KERNEL_PATH/init_task.o
| |
| +--<--SRC_TREE/init/build-in.o
|
+--< $(vmlinux-main)
| ^
| |$(cory-y)
| +--<--SRC_TREE/driver/built-in.o
| |
| +--<--SRC_TREE/mm/built-in.o
| |
| +--<--SRC_TREE/usr/built-in.o
| |
| +--<--SRC_TREE/kernel/built-in.o
| |
| +--<--SRC_TREE/mm/built-in.o
| |
| +--<--SRC_TREE/fs/built-in.o
| |
| +--<--SRC_TREE/ipc/built-in.o
| |
| +--<--SRC_TREE/securiy/built-in.o
| |
| +--<--SRC_TREE/crypto/built-in.o
| |
| +--<--SRC_TREE/block/built-in.o
| |
| +--<--arch/arm/kernel/built-in.o
| |
| +--<--arch/arm/mm/built-in.o
| |
| +--<--arch/arm/common/built-in.o
| |
| +--<--arch/arm/mach-pxa/built-in.o
| |
| +--<--arch/arm/nwfpe/buit-in.o
| |
| |$(lib-y)
| +--<--SRC_TREE/lib/built-in.o
| |
| +--<--arch/arm/lib/built-in.o
| |
| |$(drivers-y)
| +--<--SRC_TREE/drivers/buit-in.o
| |
| +--<--SRC_TREE/sound/buit-in.o
| |
| |$(net-y)
| +--<--SRC_TREE/net/buit-in.o
|
+--< kallsyms.o
HEADER_PATH :=arch/arm/boot/compressed
BOOT_PATH :=arch/arm/boot/
KERNEL_PATH :=arch/arm/kernel
-----------------------------------------------------------------------------------------------------------------------
1 SRC_TREE 目录下的vmlinux经过objcoy后生成二进制文件Image,Image在经过gzip压缩后生成piggy.o
piggy.o是真正的内核镜像文件
2 HEADER_PATH/head.o ,head-xscal.o ,misc.o 的作用就是把piggy.o解压到指定的位置,然后执行piggy.o解压后的代码
HEADER_PATH/zImage
^
|[objcopy]
|
HEADER_PATH/vmlinux
^
|[ld]
|
+-<--HEADER_PATH/head.o
|
+-<--HEADER_PATH/head-xscal.o
|
+-<--HEADER_PATH/misc.o
|
+-<--HEADER_PATH/piggy.o <-- HEADER_PATH/piggy.gz <--[gzip]-- BOOT_PATH/Image <--[objcopy]--SRC_TREE/vmlinux
-----------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------
SRC_TREE目录下的vmlinux是由一下三部分组成的:
$(vmlinux-init)
$(vmlinux-main)
kallsyms.o
vmlinux
^
|
+-<--$(vmlinux-init)
| ^
| |
| +--<--KERNEL_PATH/head.S
| |
| +--<--KERNEL_PATH/init_task.o
| |
| +--<--SRC_TREE/init/build-in.o
|
+--< $(vmlinux-main)
| ^
| |$(cory-y)
| +--<--SRC_TREE/driver/built-in.o
| |
| +--<--SRC_TREE/mm/built-in.o
| |
| +--<--SRC_TREE/usr/built-in.o
| |
| +--<--SRC_TREE/kernel/built-in.o
| |
| +--<--SRC_TREE/mm/built-in.o
| |
| +--<--SRC_TREE/fs/built-in.o
| |
| +--<--SRC_TREE/ipc/built-in.o
| |
| +--<--SRC_TREE/securiy/built-in.o
| |
| +--<--SRC_TREE/crypto/built-in.o
| |
| +--<--SRC_TREE/block/built-in.o
| |
| +--<--arch/arm/kernel/built-in.o
| |
| +--<--arch/arm/mm/built-in.o
| |
| +--<--arch/arm/common/built-in.o
| |
| +--<--arch/arm/mach-pxa/built-in.o
| |
| +--<--arch/arm/nwfpe/buit-in.o
| |
| |$(lib-y)
| +--<--SRC_TREE/lib/built-in.o
| |
| +--<--arch/arm/lib/built-in.o
| |
| |$(drivers-y)
| +--<--SRC_TREE/drivers/buit-in.o
| |
| +--<--SRC_TREE/sound/buit-in.o
| |
| |$(net-y)
| +--<--SRC_TREE/net/buit-in.o
|
+--< kallsyms.o
发表评论
-
__define_initcall 作用
2010-11-25 19:26 1258前言 宏定义__define_initcall ... -
转载--Linux 2.6内核I/O端口资源管理
2010-11-02 15:39 855申明:本文章是对“Linux对I/O端口资源的管理”该文章进行 ... -
linux 2.6线程创建源码分析
2010-11-02 15:09 1134上章讲到线程,现在对线程创建的代码流程分析下。来一步一步揭开她 ... -
linux 2.6进程与线程
2010-11-02 15:09 12431 > 线程和进程的 ... -
linux中ELF加载过程分析
2010-10-19 11:16 1960linux中ELF加载过程分析 - 博青港湾-技术空间 - ... -
Linux设备模型 学习总结
2010-10-13 21:21 961看LDD3中设备模型一章,觉得思维有些混乱。这里从整体的角度来 ... -
linux软中断的实现
2010-10-13 21:12 1121中断服务程序往往都是在CPU关中断的条件下执行的,以避免中断 ... -
执行程序时内存管理的情景
2010-10-13 21:07 1471do_execve ->open_exec->de ... -
Linux Kernel 2.6进程调度的分析(揭示了几乎所有2.6调度的东西)
2010-10-13 20:16 1921第一章 Kernel 2.4存在的 ... -
ibm developer blog
2010-10-10 10:05 888Linux slab 分配器剖析 http://www.ibm ... -
linux2.6.29 启动过程详细分析
2010-08-12 16:02 1374突然心血来潮,想自己写个模块,于是就把linux2.6.29的 ... -
Linux内存:内存管理的实质
2010-08-04 21:22 711<转 http://linux.chinaunix. ... -
container_of 解析
2010-07-29 22:50 986在学习Linux驱动的过程中,遇到一个宏叫做container ... -
高级IO操作——ioctl
2010-07-23 20:48 1464_IO, _IOR, _IOW, _IOWR 宏的用法与解析 ... -
主设备号、次设备号
2010-07-23 16:13 933主设备号、次设备号分 ... -
Linux在控制台下不同类型文件显示不同颜色
2010-07-20 23:47 2580# ~/.bashrc: executed by bash(1 ... -
linux 编译内核 选项出错 综合
2010-07-20 23:24 1015具体错误提示见最后面 ... -
ARM SDT下汇编到GNU汇编的转换
2010-07-16 08:52 897将ARM SDT下的汇编码移植到GCC for ARM编译器时 ... -
GNU ARM 汇编指令(转)
2010-07-16 08:50 1675第一部分 Linux下ARM汇编语法尽管在Linux下使用C或 ... -
arm 嵌入式LINUX启动过程
2010-07-11 00:44 3912一位大师级的人物写的,不看要后悔的哟!! ...
相关推荐
### 内核地址的确定与vmlinux生成详解 #### 一、引言 Linux内核的构建过程中涉及多个步骤,其中包括编译、链接等环节。对于基于ARM架构的系统而言,内核链接过程尤为关键,它直接决定了内核如何在内存中布局,以及...
在`arch/arm/boot/Makefile`中,`$(obj)/Image`是`vmlinux`的目标,这意味着`vmlinux`被转换为一个非压缩的ELF格式的内核映像。接着,`$(obj)/compressed/vmlinux`从`$(obj)/Image`构建,这涉及到内核的压缩过程。...
3. **链接生成zImage**:最后,使用链接工具将vmlinux与解压缩代码(通常位于`arch/arm/boot/compressed/`目录下)链接生成zImage。 具体步骤如下: - 在`arch/arm/boot/Makefile`中定义了zImage的生成规则。 - `...
linux2.6内核,可以直接下载到开发板的通过编译的linux2.6内核。
接下来,我们关注`zImage`的构建规则,从第212行开始,这些规则定义了如何从`vmlinux`生成`zImage`。 `build`和`boot`变量在`scripts/Kbuild.include`和`arch/arm/Makefile`中分别被定义。`MACHINE`变量则根据`...
随着Linux内核版本的不断演进,从3.14版本开始,在进行ARM架构下内核编译时,常常会遇到一个特定的要求:需要将编译生成的zImage文件转换为uImage格式。本文将详细介绍这一转换过程的原因、具体操作步骤以及背后的...
zImage的入口是由arch/arm/boot/compressed/vmlinux.lds文件决定的。 三、MMU的设置 在zImage自解压过程中,MMU的设置是非常重要的。MMU必须关闭,指令Cache可以打开也可以关闭,数据Cache必须关闭。ARMv7架构下的...
3. **piggy.gz**:使用gzip -9压缩arch/arm/boot/Image生成,压缩后的大小为1.55M。 4. **piggy.o**:编译arch/arm/boot/compressed/piggy.S,将piggy.gz包含到piggy.o中。 5. **/compressed/vmlinux**:通过arch/...
这个文件是由`vmlinux-armv.lds.in`根据编译选项的不同生成的,还可能由`vmlinux-armo.lds.in`或`vmlinux-armv-xip.lds.in`生成。 2. **生成过程**:在`kernel/arch/arm/Makefile`中有生成vmlinux.lds的指令: ```...
该工具允许从vmlinux / vmlinuz / bzImage / zImage内核映像(原始二进制Blob或已存在但已剥离的.ELF文件)中获取具有可恢复功能和可变符号的完全可分析的.ELF文件。 为此,它将在内核中扫描内核符号表( ),这是...
首先,通过编译链接vmlinux生成内核对象文件,然后使用链接脚本`vmlinux.lds`将它们链接成zImage。这个过程在`arch/arm/boot/Makefile`中进行。值得注意的是,zImage实际上是一个elf格式的文件,由`arch/arm/boot/...
首先,通过编译链接vmlinux生成vmlinux.lds链接脚本,然后链接生成zImage。这个过程在`arch/arm/boot/Makefile`中被定义,zImage实际上是elf格式,由`arch/arm/boot/compressed/vmlinux`二进制化得到。在这个目录下...
### 内核链接vmlinux.lds.doc:深入解析 #### 一、内核布局概述 内核布局涉及两个主要方面:特定于体系结构的部分和与体系结构无关的部分。特定于体系结构的部分负责硬件初始化、内存配置等工作,之后将控制权交给...
- **vmlinux生成**:根据`arch/arm/kernel/vmlinux.lds`链接脚本,将各个子目录下的`.o`文件链接成一个完整的内核映像`vmlinux`,包含调试信息和符号表,大约23MB。 - **去除冗余信息**:使用`arm-linux-gnu-...
- **压缩**:使用`gzip`工具对非压缩内核二进制映像`arch/arm/boot/Image`进行压缩,生成`arch/arm/boot/compressed/piggy.gz`文件。 - **构建自解压功能**: - `piggy.s`文件定义了一个包含`./piggy.gz`的数据段。...
- 编译完成后会生成两个重要的文件:`vmlinux` 和 `zImage`。 - `vmlinux` 是未压缩的内核ELF文件。 - `zImage` 是压缩后的内核映像文件。 - 编译过程涉及多个步骤,包括链接、复制、压缩等操作: - `LD vmlinux`...
2. **格式转换**:使用`arm-linux-objcopy`命令将vmlinux转换为二进制格式映象`arch/arm/boot/Image`,以便于加载到硬件上执行。 ##### 压缩内核映像 压缩内核映像的生成过程相对复杂: 1. **数据压缩**:首先,...
通过分析 zImage 的自解压过程和 start 代码,我们可以了解 Linux 内核启动流程的详细过程,并且了解到 zImage 的编译过程和自解压机制。 Linux 内核启动流程分析是 Linux 系统启动的关键步骤之一,理解这个过程...
在生成`vmlinux`之后,通常还会对其进行压缩以形成`zImage`文件。压缩过程发生在`kernel/arch/arm/boot`目录下。`zImage`文件由压缩后的`vmlinux`和解压缩代码两部分组成。最终被写入到Flash中供系统启动使用。 ###...