210学习日记(9)_成功启动内核
来源:互联网 发布:手机自动挂机赚钱软件 编辑:程序博客网 时间:2024/06/04 23:22
210学习日记(9)
--成功启动内核
要成功启动Linux内核,无非就是要真确的传入函数theKernel(int zero, int arch, uint params)的参数,和跳到正确的地址去执行而已。(这些知识在韦东山自己写bootloader的相关视频中已经讲得非常的详细了)。
我就从三个参数入手吧:
参数一:必须为0,这就没有什么好讲解的了;
参数二:机器ID,该参数很重要,往往不能成功启动内核,就是该参数捣的鬼。
接下来我就讲讲如何一步一步找到自己内核的机器ID的:(也许对于很多人来说,接下来说的都是废话,但是为了顾及少部分人,再加上这章没有什么可以说的(韦老大把什么都说了),就请允许我把废话说完吧)
步骤如下(以S5PV210为例):
1).进入装有官方提供的配置文件的目录:cd arch/arm/configs/;
2).找到官方为S5PV210提供的配置文件,将其拷贝到要编译的内核的更目录下:
cp s5pv210_defconfig ../../..
3).将配置文件拷贝成.config文件:
cd ../../..
cp s5pv210_defconfig ./.config
4).make menuconfig
5).make uImage
6).当编译完成后,查看/arch/arm目录下面的哪个开发板被编译成为了.o文件,当然查找是要更具名字,看哪个像,然后进入该文件确认,我最终发现mach-s5pv210目录有点像,进去发现mach-smdkv210.c被编译成为了.o文件;
7).打开程序mach-smdkv210.c,发现:
MACHINE_START(SMDKV210, "SMDKV210")
这只是一个宏,他的参数一SMDKV210就和我们的机器ID密切相关,那么该是多少呢?
8).打开\arch\arm\tools\mach-types,在该文件下收索SMDKV210,发现如下:
smdkv210 MACH_SMDKV210 SMDKV210 2456
从而说明此时的机器ID是2456。
注意:
这个过程说得有点绕和啰嗦,再次抱歉。
参数三:
一句话,实在是没有什么可以说的,韦老大的视频里面讲得太详细了!!
大家直接看视频和我上传的关于这章的代码吧,放在了"Tiny210学习日记_代码"目录下了,名为"9_bootm"。
注意:
本章写的代码,只能通过bootm命令来启动内核,延时自动启动内核,我会在后面章节讲到。
注:
如有问题,请到韦东山LINUX视频讨论群里面,我们一起讨论学习,或者加我QQ:317312379
- 210学习日记(9)_成功启动内核
- 210学习日记(3)_支持串口
- 210学习日记(6)_独立日
- 210学习日记(7)_支持NAND
- 210学习日记(8)_支持DDR
- 210学习日记(10)_支持LCD
- 210学习日记(11)_中断
- 210学习日记(14)_支持声卡
- 210学习日记(15)_移植DM9000
- 210学习日记_特别篇
- 转载_内核启动详解
- 210学习日记(5)_简单命令的实现.doc
- 210学习日记(13)_定时器和修改工具
- 210学习日记(16)_移植一线触摸
- 黑马程序员--Java学习日记9_基础加强
- 黑马程序员_Java学习日记9_泛型
- 黑马程序员_日记9_Java学习感言
- 内核启动学习笔记
- Java中的Date、Calendar、Logger、Annotation
- 210学习日记(7)_支持NAND
- java 队列
- 210学习日记(8)_支持DDR
- 机房收费系统——建表
- 210学习日记(9)_成功启动内核
- 210学习日记(10)_支持LCD
- mac如何安装软件
- 单播、多播(组播)和广播的区别
- 评选优秀
- Cookie小结
- el表达式与jstl
- 红黑树代码
- 210学习日记(11)_中断