在线咨询 开启辅助访问 切换到宽版
eetop公众号 创芯大讲堂 创芯人才网

ET创芯网(EETOP)

找回密码

  登录   注册  

快捷导航
搜帖子
分享 Linux 初始 RAM 磁盘(initrd)概述
yiffer 2011-5-6 23:59
什么是初始 RAM 磁盘? 初始 RAM 磁盘(initrd) 是在实际根文件系统可用之前挂载到系统中的一个初始根文件系统。initrd 与内核绑定在一起,并作为内核引导过程的一部分进行加载。内核然后会将这个 initrd 文件作为其两阶段引导过程的一部分来加载模块,这样才能稍后使用真正的文件系统,并挂载实际的根文件系 ...
个人分类: Linux移植|515 次阅读|0 个评论
分享 ln: creating symbolic link `asm' to `asm-arm'
yiffer 2010-10-8 22:27
在编译u-boot的时候出现了这样的错误: Configuring for smdk2410 board... ln: creating symbolic link `asm' to `asm-arm': Operation not supported make: *** Error 1 在网上查找原因得: 出现这类问题,主要是由于在编译的时候,要用ln去建立一些软链接, 而这些文件是从Windows中, ...
个人分类: Linux移植|3290 次阅读|1 个评论
分享 arm linux 从入口到start_kernel 代码详细分析7
yiffer 2010-10-7 15:41
arm linux 从入口到start_kernel 代码详细分析7 6. 切换数据 在 arch/arm/kernel/head-common.S 中: 00014: .type __switch_data, %object 00015: __switch_data: 00016: .long __mmap_switched 00017: .long __data_loc @ r4 00018: .long __data_start @ r5 00019: .long __bss_start @ r6 00020: .long ...
个人分类: Linux移植|860 次阅读|0 个评论
分享 arm linux 从入口到start_kernel 代码详细分析6
yiffer 2010-10-7 15:40
5. 开启mmu 开启mmu是又函数 __enable_mmu 实现的. 在进入 __enable_mmu 的时候, r0中已经存放了控制寄存器c1的一些配置(在上一步中进行的设置), 但是并没有真正的打开mmu, &n ...
个人分类: Linux移植|1082 次阅读|0 个评论
分享 arm linux 从入口到start_kernel 代码详细分析5
yiffer 2010-10-7 15:39
4. 调用平台特定的 __cpu_flush 函数 当 __create_page_tables 返回之后 此时,一些特定寄存器的值如下所示: r4 = pgtbl (page table 的物理基地址) r8 = machine info (struct machine_desc的基地址) r9 = cpu id (通过cp15协处理器获得的cpu id) r10 = procinfo (struct proc_info_list的基地址) 在我们 ...
个人分类: Linux移植|1017 次阅读|0 个评论
分享 arm linux 从入口到start_kernel 代码详细分析4
yiffer 2010-10-7 15:38
3. 创建页表 通过前面的两步,我们已经确定了processor type 和 machine type. 此时,一些特定寄存器的值如下所示: r8 = machine info (struct machine_desc的基地址) r9 = cpu id (通过cp15协处理器获得 ...
个人分类: Linux移植|820 次阅读|0 个评论
分享 arm linux 从入口到start_kernel 代码详细分析2
yiffer 2010-10-7 15:33
1. 确定 processor type arch/arm/kernel/head.S中: 00075: mrc p15, 0, r9, c0, c0 @ get processor id 00076: bl __lookup_processor_type @ r5=procinfo r9=cpuid 00077: movs r10, r5  ...
个人分类: Linux移植|1756 次阅读|0 个评论
分享 arm linux 从入口到start_kernel 代码详细分析-1
yiffer 2010-10-7 15:32
arm linux 从入口到start_kernel 代码详细分析针对arm linux, 从kernel的第一条指令开始分析,一直分析到进入start_kernel()函数. 我们当前以linux-2.6.19内核版本作为范例来分析,本文中所有的代码,前面都会加上行号以便于和源码进行对照. 例: 在文件init/main.c中: 00478: asmlinkage void __init start_kernel(void) 前面 ...
个人分类: Linux移植|2041 次阅读|0 个评论
分享 arm linux 从入口到start_kernel 代码详细分析3
yiffer 2010-10-7 15:31
2. 确定 machine type arch/arm/kernel/head.S中: 00079: bl __lookup_machine_type @ r5=machinfo 00080: movs r8, r5 @ invalid machine (r5=0)? 00081: beq __error_a @ yes, error 'a' 79行: 跳转到__lookup_machine_type函数,在__lookup_machine_type中,会把struct machine_desc的基地址(machine type)存 ...
个人分类: Linux移植|678 次阅读|1 个评论
分享 arm linux 从入口到start_kernel 代码详细分析3
yiffer 2010-10-7 15:31
2. 确定 machine type arch/arm/kernel/head.S中: 00079: bl __lookup_machine_type @ r5=machinfo 00080: movs r8, r5 @ invalid machine (r5=0)? 00081: beq __error_a @ yes, error 'a' 79行: 跳转到__lookup_machine_type函数,在__lookup_machine_type中,会把struct machine_desc的基地址(machine type)存 ...
个人分类: Linux移植|568 次阅读|1 个评论
12345下一页

关于我们| 小黑屋| 手机版| Archiver| 在线咨询 |  ET创芯网(EETOP) ( 京ICP备15035084号 京公网安备:11010502037710 )

GMT+8, 2021-10-21 07:15 , Processed in 0.039175 second(s), 3 queries , Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部