一 加电 系统(x86)加电后,有一个特殊的硬件电路在cpu的一个引脚上产生一个RESET逻辑值,设置寄存器的值,cpu开始执行一特定的物理地址上的代码(即BIOS) 二 BIOS启动 BIOS进行设备初始化, 设置CMOS里的各项参数,启动自举程序, 查找主引导设备读取第一扇区的主引导记录(MBR),将MBR拷贝到内存的0x7c00处(CPU跳转到此处开始执行载入的代码) 三 运行BootLoader Cpu执行MBR程序,检查磁盘分区列表,运行嵌入在MBR中的bootloader(stage1阶...
by cdy_0 - HP文档中心 - 2007-07-09 00:41:23 阅读(2997) 回复(0)
我的开发板是ixp425芯片,flash 16MB,sdram 128MB kernel/arch/arm/Makefile中的TEXTADDR定义为: ifeq ($(CONFIG_CPU_32),y) PROCESSOR = armv TEXTADDR = 0xc0000000 LDSCRIPT = arch/arm/vmlinux-armv.lds.in endif kernel/arch/arm/boot/Makefile中定义的内核地址为: ifeq ($(CONFIG_ARCH_IXP425),y) ZTEXTADDR = 0x1d600000 ZRELADDR = 0x00008000 PARAMS_PHYS = 0x0000...
在自己的笔记本上装了个AS4.0,原本打算尝尝鲜,没想到新编译了一个2.6.11的内核,在AS3.0的版本下完全可以正常使用,但在4.0下就是不能启动,启动到了一行 mount root filesystem readonly unable to open initial console 就没有反应了,反复试了好几次,都是这样,折腾了3天了,已经没招了,估计4.0的init修改了,对内核配置有要求,哪位达人有类似的经验,帮帮忙解决一下。 附件是kernel配置文件。 thanks
在linux的启动部分有这样一段代码 SETUPSEG = 0x9020 setup 程序从这里开始; SYSSEG = 0x1000 system 模块加载到0x10000(64 kB)处; ENDSEG = SYSSEG + SYSSIZE mov ax,#BOOTSEG 将ds 段寄存器置为0x7C0; mov ds,ax mov ax,#INITSEG 将es 段寄存器置为0x9000; mov es,ax mov cx,#256 移动计数值=256 字; sub si,si 源地址 ds:si = 0x07C0:0x0000...
开机流程分析 开机不是只要按一下电源钮而关机只要关掉电源钮就可以了吗?有何大学问?话是这样没错啦,但是由于 linux 是一套多人多任务的操作 系统 ,你难保你在关机时没有人在线上,如果你关机的时候碰巧一大群人在线上工作,那会让当时在线上工作的人马上断线的!那不是害死人了!一些资料可以无价之宝哩!另外,与 DOS 环境不同的是, linux 在执行的时候,虽然你在画面上只会看到黑压压的一片,完全没有任何画面,但其...