摘要: 在上节制作busybox后(位于/work/nfs_root/mini_fs), 然后根据以下5个来构建最小根文件系统: (1)/dev/console(终端控制台, 提供标准输入、标准输出以及标准错误) (2)init进程的程序(也就是busybox,因为init程序位于busybox中,已经完成 阅读全文
posted @ 2017-08-21 19:44 诺谦 阅读(5447) 评论(0) 推荐(1) 编辑
摘要: 在上一节分析出制作一个最小的根文件系统至少需要: (1)/dev/console(终端控制台, 提供标准输入、标准输出以及标准错误) (2)init进程的程序(也就是busybox,因为init程序位于busybox中) (3)/etc/inittab(用于init进程读取配置, 然后执行initt 阅读全文
posted @ 2017-08-21 19:26 诺谦 阅读(6228) 评论(0) 推荐(0) 编辑
摘要: 本节目标: (1) 了解busybox(init进程和命令都放在busybox中) (2) 创建SI工程,分析busybox源码来知道init进程做了哪些事情 (3) 分析busybox中init进程 init_main() (3.1)熟悉init进程的inittab配置文件(位于/etc/init 阅读全文
posted @ 2017-08-21 19:14 诺谦 阅读(3322) 评论(1) 推荐(2) 编辑
摘要: 本章学习如何启动第一个应用程序 1.在前面的分析中我们了解到,在init进程中内核挂接到根文件系统之后,会开始启动第一个应用程序: kernel_init函数代码如下: 2.接下来开始分析init_post()如何启动应用程序的,代码如下: 当我们删除根文件系统的内容再启动内核,发现串口就会打印上面 阅读全文
posted @ 2017-08-21 17:52 诺谦 阅读(2982) 评论(0) 推荐(0) 编辑
摘要: 编译C 首先,程序编译过程有: 1.预处理(展开宏,头文件,检查代码是否有误) 2.编译(将.c转为汇编代码.s) 3.汇编(将汇编代码.s转为机器代码.o) 4.链接(将所有机器代码.o和库文件链接成一个可执行程序) 一般编译常常包括了:预处理,编译,汇编 在linux系统中,编译c使用gcc编译 阅读全文
posted @ 2017-08-21 15:09 诺谦 阅读(12020) 评论(0) 推荐(1) 编辑