linux的启动过程有几个阶段
“linux的启动过程有几个阶段”相关的资料有哪些?“linux的启动过程有几个阶段”相关的范文有哪些?怎么写?下面是小编为您精心整理的“linux的启动过程有几个阶段”相关范文大全或资料大全,欢迎大家分享。
Linux启动过程综述
http://www.lampbrother.net
Linux启动过程综述
本文以Redhat 6.0 Linux 2.2.19 for Alpha/AXP为平台,描述了从开机到登录的 Linux 启动全过程。该文对i386平台同样适用。 Bootloader
在Alpha/AXP平台上引导Linux通常有两种方法,一种是由MILO及其他类似的引导程序引导,另一种是由Firmware直接引导。MILO功能与i386平台的LILO相近,但内置有基本的磁盘驱动程序(如IDE、SCSI等),以及常见的文件系统驱动程序(如ext2,iso9660等), firmware有ARC、SRM两种形式,ARC具有类BIOS界面,甚至还有多重引导的设置;而SRM则具有功能强大的命令行界面,用户可以在控制台上使用boot等命令引导系统。ARC有分区(Partition)的概念,因此可以访问到分区的首扇区;而SRM只能将控制转给磁盘的首扇区。两种firmware都可以通过引导MILO来引导Linux,也可以直接引导Linux的引导代码。
“arch/alpha/boot”下就是制作Linux Bootloader的文件。“head.S”文件提供了对 OSF
VxWorks引导启动过程
VxWorks引导启动过程
一.引导过程
1.bootstrap/bootloader/bootrom
bootstrap是固化在CPU的ROM中的一小段指令系列,它是最初级的引导,旨在初始化CPU、时钟、堆栈,目标是让CPU正常运作起来。
引导加载程序(bootloader)是系统上电后运行的第一段软件代码。广义的bootloader可以认为是BootstrapProgram+Boot Image,不过一般就是指Boot Image。Boot Image的地位和作用可类比PC中位于BIOS固件程序(firmware)+硬盘MBR中的OS BootLoader(比如LILO和GRUB 等),它完成系统从上电后的硬件检测和资源分配,并将内核映象加载到RAM中,然后跳转到内核的入口点去运行启动操作系统。
bootrom通常是用来存储BootLoader的ROM/FLASH芯片,在VxWorks文档中的bootrom区是指Boot Image存放的位置。bootrom 完成VxWorks启动前的基本引导工作,如最简初始化硬件,下载映象文件并解压到RAM中等操作。 2.引导流程
CPU从没有电到上电状态,经过自复位的过程后,指令指针指向一个固定的地址
P2020启动过程
系统上电到执行第一条指令前,需要经过配置PLL、Local Bus控制器、LAW、MMU等操作,这些配置完全是由Cpu根据芯片的默认值和芯片外部配置引脚的输入状态自动完成的。如:
1) Cpu根据cfg_sys_pll[0:2]的输入状态决定当前CPU的BBC对SYS_CLK的倍频参数;
2) Cpu根据cfg_ddr_pll[0:2] 的输入状态决定DDR的时钟频率(DDR2和DDR3不同);
3) Cpu根据cfg_core0_pll[0:2]/cfg_core1_pll[0:2]的输入状态决定当前CPU的cor0/cor1对CCB的倍频参数;
4) Cpu根据cfg_cpu0_boot和cfg_cpu1_boot的输入状态决定复位时执行boot代码的Core,如下图所示:
5) Cpu根据cfg_rom_loc[0:3]的输入状态决定Boot ROM的位置。 6) 其它根据外部输入状态决定的配置。
以上,对软件来说最重要的配置是Boot ROM位置的配置。Boot ROM位置与cfg_rom_loc[0:3]输入状态的关系如下图所示:
在硬件连接无误的情况下,P2020启动的配置为: cfg_cpu0
U-boot启动过程
U-Boot 1.1.6 (Nov 26 2010 - 08:49:16)
DRAM: 64 MB Flash: 2 MB NAND: 256 MiB
*** Warning - bad CRC or NAND, using default environment
In: serial Out: serial Err: serial
UPLLVal [M:38h,P:2h,S:2h] MPLLVal [M:5ch,P:1h,S:1h] CLKDIVN:5h
+---------------------------------------------+
| S3C2440A USB Downloader ver R0.03 2004 Jan | +---------------------------------------------+ USB: IN_ENDPOINT:1 OUT_ENDPOINT:3
FORMAT: +
计算机启动过程详解
计算机启动过程详解
打开电源启动机器几乎是电脑爱好者每天必做的事情,面对屏幕上出现的一幅幅启动画面,我们一点儿也不会感到陌生,但是,计算机在显示这些启动画面时都做了些什么工作呢?相信有的朋友还不是很清楚,本文就来介绍一下从打开电源到出现Windows的蓝天白云时,计算机到底都干了些
什么事情。
首先让我们来了解一些基本概念。第一个是大家非常熟悉的BIOS(基本输入输出系统),BIOS是直接与硬件打交道的底层代码,它为操作系统提供了控制硬件设备的基本功能。BIOS包括有系统BIOS(即常说的主板BIOS)、显卡BIOS和其它设备(例如IDE控制器、SCSI卡或网卡等)的BIOS,其中系统BIOS是本文要讨论的主角,因为计算机的启动过程正是在它的控制下进行的。BIOS一般被存放在ROM(只读存储芯片)之中,即使在关机或掉电以后,这些代码也不会消失。 第二个基本概念是内存的地址,我们的机器中一般安装有32MB、64MB或128MB内存,这些内存的每一个字节都被赋予了一个地址,以便CPU访问内存。32MB的地址范围用十六进制数表示就是0~1FFFFFFH,其中0~FFFFFH的低端1MB内存非常特殊,因为最初的8086处理器能够访问的内存最大只有1MB
Android系统Activity窗口启动过程
在Android系统中,一个Activity对应一个应用程序窗口,任何一个Activity的启动都是由AMS服务和应用程序进程相互配合来完成的。AMS服务统一调度系统中所有进程的Activity启动,而每个Activity的启动过程则由其所属进程来完成。AMS服务通过realStartActivityLocked函数来通知应用程序进程启动某个Activity: frameworks/base/services/java/com/android/server/am/ ActivityStack.java
final boolean realStartActivityLocked(ActivityRecord r, ProcessRecord app, boolean andResume, boolean checkConfig) throws RemoteException { ... //系统参数发送变化,通知Activity if (checkConfig) { ①Configuration config = mService.mWindowManager.updateOrientationFromAppTokens(mSer
计算机启动过程详解
计算机启动过程详解
打开电源启动机器几乎是电脑爱好者每天必做的事情,面对屏幕上出现的一幅幅启动画面,我们一点儿也不会感到陌生,但是,计算机在显示这些启动画面时都做了些什么工作呢?相信有的朋友还不是很清楚,本文就来介绍一下从打开电源到出现Windows的蓝天白云时,计算机到底都干了些
什么事情。
首先让我们来了解一些基本概念。第一个是大家非常熟悉的BIOS(基本输入输出系统),BIOS是直接与硬件打交道的底层代码,它为操作系统提供了控制硬件设备的基本功能。BIOS包括有系统BIOS(即常说的主板BIOS)、显卡BIOS和其它设备(例如IDE控制器、SCSI卡或网卡等)的BIOS,其中系统BIOS是本文要讨论的主角,因为计算机的启动过程正是在它的控制下进行的。BIOS一般被存放在ROM(只读存储芯片)之中,即使在关机或掉电以后,这些代码也不会消失。 第二个基本概念是内存的地址,我们的机器中一般安装有32MB、64MB或128MB内存,这些内存的每一个字节都被赋予了一个地址,以便CPU访问内存。32MB的地址范围用十六进制数表示就是0~1FFFFFFH,其中0~FFFFFH的低端1MB内存非常特殊,因为最初的8086处理器能够访问的内存最大只有1MB
U-Boot启动过程完全分析
1.1U-Boot工作过程
U-Boot启动内核的过程可以分为两个阶段,两个阶段的功能如下:
(1)第一阶段的功能
?硬件设备初始化
?加载U-Boot第二阶段代码到RAM空间 ?设置好栈
?跳转到第二阶段代码入口
(2)第二阶段的功能
?初始化本阶段使用的硬件设备 ?检测系统内存映射
?将内核从Flash读取到RAM中 ?为内核设置启动参数 ?调用内核
1.1.1U-Boot启动第一阶段代码分析
第一阶段对应的文件是cpu/arm920t/start.S和
board/samsung/mini2440/lowlevel_init.S。
U-Boot启动第一阶段流程如下:
图 2.1 U-Boot启动第一阶段流程
根据cpu/arm920t/u-boot.lds中指定的连接方式:
ENTRY(_start) SECTIONS { }
. = 0x00000000; . = ALIGN(4); .text : { } ? ?
cpu/arm920t/start.o (.text)
board/samsung/mini2440/lowlevel_init.o (.text) board/samsung/mini244
GRUB2及启动过程详解
GRUB2及启动过程详解
作者: 南瓜剪子 2016年7月28日
1. 概述 ............................................................................................................................................ 2 2. CentOS7中GRUB2 ..................................................................................................................... 2 3. GRUB2 的 bootstrap image文件 .............................................................................................. 3
3.1. boot.img .....................................................................
GRUB2及启动过程详解
GRUB2及启动过程详解
作者: 南瓜剪子 2016年7月28日
1. 概述 ............................................................................................................................................ 2 2. CentOS7中GRUB2 ..................................................................................................................... 2 3. GRUB2 的 bootstrap image文件 .............................................................................................. 3
3.1. boot.img .....................................................................