- 博客(12)
- 资源 (3)
- 收藏
- 关注
原创 03-busybox构建根文件系统之最小根文件系统
查看busybox的INSTALL文件,里面都有详细的安装说明 tar xjf busybox-1.7.0.tar.bz2 cd busybox-1.7.0 make menuconfig 修改配置项 make mkdir /work/nfs_root/first_fs make CONFIG_PREFIX=/work/nfs_root/first_fs install root# ls b...
2019-10-21 10:52:14 228
原创 02-busybox构建根文件系统之init进程分析
busybox构建根文件系统之init进程分析 /sbin/init应用程序是内核启动的第一个应用程序 /sbin/init是到busybox的链接 linux最终是要运行自用户的应用程序的, /sbin/init进程回去读取用来启动用户程序的配置文件, 然后解析配置文件, 根据配置文件启动用户的应用程序 查看busybox源码/init/init.c文件分析init进程: int in...
2019-10-21 10:51:15 372
原创 01-busybox构建根文件系统之启动第一个程序
busybox构建根文件系统之启动第一个程序 uboot目的是启动kernel kernel的目的是启动应用程序 而应用程序是在根文件系统上的 分析内核启动流程在start_kernel函数中可以看出最终调用init_post函数 在调用init_post函数之前kernel的启动初始化(包括挂接根文件系统等)已经基本完成, init_post函数启动用户模式,开始运行应用程序 下面分析i...
2019-10-17 20:23:35 266
原创 01-kernel打补丁,配置,编译流程
kernel打补丁,编译流程 内核源码包: linux-2.6.22.6.tar.bz2 补丁文件: linux-2.6.22.6_jz2440_v2v3.patch 1. 解压 tar xjf linux-2.6.22.6.tar.bz2 2. 打补丁 cd linux-2.6.22.6 // 先进入源码顶层目录 ...
2019-10-17 17:20:55 715
原创 03-kernel启动流程之内核启动
kernel启动流程之内核启动 内核最终目的: 挂接根文件系统, 运行应用程序(在根文件系统) 因为kernel是由uboot来引导的, 而uboot将控制权交给kernel前在约定地址设置了TAG参数, kernel启动首先使要去处理uboot传来的参数 从arch/arm/kernel/head.S开始分析: 根据链接脚本vmlinux.lds可以知道, 内核vmlinux首先放所有文件...
2019-10-17 17:18:39 320
原创 02-kernel启动流程分析之Makefile
kernel启动流程分析之Makefile 顶层目录Makefile 架构相关的 arch/$(ARCH)/Makefile 脚本相关的 scripts/Makefile 各级子目录下的Makefile Makefile的帮助文档可以查看: Documentation/kbuild/makefiles.txt 下面分析子目录下的Makefile: obj-y 后面跟的.o文件会被编译链接进内核 o...
2019-10-17 17:10:21 238 1
原创 06-uboot分析之uboot启动内核
分析uboot启动内核命令 从uboot的终端执行print命令可以看到以下命令 bootcmd=nand read.jffs2 0x30007FC0 kernel; bootm 0x30007FC0 这就是读出内核,启动内核的命令 nand read.jffs2 0x30007FC0 kernel; bootm 0x30007FC0 从哪里读: 从nandflash 的kernel分区读出内核,...
2019-10-17 17:08:36 378
原创 05-uboot分析之uboot命令实现
uboot分析之uboot命令实现 // md.w 0 命令打印0地址的内容 OpenJTAG> md.w 0 00000000: 00ff ea00 f014 e59f f014 e59f f014 e59f ................ 00000010: f014 e59f f014 e59f f014 e59f f014 e59f ................ 0...
2019-10-17 17:07:55 218
原创 04-uboot分析之uboot第二阶段
uboot第二阶段 uboot的目标是启动内核 1. 从flash读出内核 2. 启动内核 需要从flash中读内核,就需初始化flash,使之能读写 start_armboot --> flash_init (); /* norflash初始化*/ --> mem_malloc_init (_armboot_start - CFG_MALLOC_LEN); /*堆初始...
2019-10-17 17:07:16 170
原创 03-uboot启动文件分析之uboot第一阶段
uboot启动文件分析cpu/arm920t/start.S uboot第一阶段 .globl _start _start: b reset @首先调到reset ldr pc, _undefined_instruction ldr pc, _software_interrupt ldr pc, _prefetch_abort ...
2019-10-17 17:05:45 158
原创 02-分析uboot编译过程
分析uboot编译过程 make 查看顶层Makefile include $(OBJTREE)/include/config.mk 包含的就是配置时生成的config.mk文件 export ARCH CPU BOARD VENDOR SOC 从include/config.mk得到以下几个参数的值 ARCH = arm CPU = arm920t BOARD = 100a...
2019-10-17 17:04:51 199
原创 01-分析uboot配置过程
韦东山jz2440配套光盘uboot及视频学习笔记 分析uboot配置过程 make 100ask24x0_config 100ask24x0_config : unconfig @$(MKCONFIG) $(@:_config=) arm arm920t 100ask24x0 NULL s3c24x0 $(MKCONFIG)解释: 在顶层Makefile查找 MKC...
2019-10-17 09:05:38 182
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人