易截截图软件、单文件、免安装、纯绿色、仅160KB

linux内核启动过程——基于S3C2410

(1)zImage自解压
本文以流行的Samsung公司的S3C2410,mini2440平台和linux-2.6.29为例,介绍如何在ZIX嵌入式开发环境下探索linux内核启动过程。
Linux内核启动一般由外部的bootloader引导,也可以在内核头部嵌入一个loader,实际的应用中这两种方式都会经常遇到。所以要了解内核启动最开始的过程,必须对bootloader如何引导内核有所熟悉。下面我们从u-boot加载linux内核的代码开始分析(关于u-boot 自身的启动流程,请参考
u-boot 启动过程 —— 基于S3C2410
)。
1.处理器内核加载代码
在u-boot的
do_bootm_linux函数
里,实现了处理器架构相关的linux内核加载代码,特别是tags传递。
该函数中,在(u-boot-1.6)lib_arm/armlinux.c的
90行
调用了getenv将bootargs环境变量保存在commandline
    char *commandline = 
getenv
("bootargs");
然后解析uImage文件头,并且按照头中的定义分解和加载uImage。所以这部分代码的运行取决于uImage文件是如何生成的,本文不做过多叙述,可参考另文了解u-boot使用。接下来进行tags设置工作,分别调用了
setup_start_tag() 
setup_memory_tag() 
setup_commandline_tag() 
setup_initrd_tag() 
setup_end_tag() 
然后对TLB、cache等进行invalid操作,这是通过在lib_arm/armlinux.c的
268行
调用
cleanup_before_linux()
(cpu/arm920t/108)实现,然后即可跳入从uImage中分解出来的内核Image或zImage入口
    cleanup_before_linux ();
    theKernel (0, machid, bd->bi_boot_params);
    /* does not return */
    return;
在s3c2410平台上,该入口theKernel一般是物理地址0x30008000。如果我们使用zImage自解压内核映像,对应的代码正是自解压头,位置在内核源码linux-2.6.29的arch/arm/boot/compressed/head.S第 114行的start符号
     start:
                .type   start,#function
                .rept   8
                mov     r0, r0
                .endr
&


相关文档:

Linux学习笔记


Linux的目录结构    etc: 配置文件,如inittab
    proc: proc文件系统,系统运行过程映射,进程映射
    设备驱动的两种方式: 直接编译进内核;以module插入
PC的Linux启动:BIOS->GRUB->KERNEL
SHELL编程
   相当于DOS的批处理,可 ......

打造Linux命令行下的“回收站”

Linux下也有回收站功能,但只在Gnome等桌面环境下面。在终端下面是用rm命令来删除文件,就是直接从硬盘上删除了。要是你一不小心删错了文件,
只能采用一些极其复杂的数据恢复工具来补救,而且还不一定有效。我就有过这样的经历,一不小心删错了文件,以致几天的工作成果立马灰飞烟灭。这样的事情发
生一次都太多了。我们 ......

linux 2.6.23时钟中断与调度分析(4)

TIMER_INITIALIZER():
1):TIMER_INITIALIZER()用来声明一个定时器,它的定义如下:
#define TIMER_INITIALIZER(_function, _expires, _data) {         \
                .function = (_fun ......

[转]虚拟 Linux 虚拟化方法、架构和实现概述

级别: 中级 M. Tim Jones, 顾问工程师, Emulex 2007 年 1 月 15 日 虚拟化的含义丰富,应用广泛。目前虚拟化技术主要关注于服务器虚拟化,即在一个宿主计算机上提供多个独立操作系统。本文将探索虚拟化背后的思想,然后讨论实现虚拟化的一些技术。我们还将了解现有的其他一些虚拟化技术,例如 Linux 上操作系统的虚拟化 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号