Linux内核分析 03
2016-03-12 16:36
357 查看
一,构造一个简单的Linux系统MenuOS
1、Linux内核源代码简介
回顾一下前面的三大法宝和两把宝剑。arch/x86目录下的代码需要重点关注
阅读代码的时候把除了x86以外的都删掉会有利于代码的阅读和理解。其他目录下的基本对我们的学习没有什么用处。
根目录下除了arch外还有几个比较重要的:Documentation、drivers、init
内核启动的相关代码基本上都在init目录下
整个Linux内核启动的起点,main.c start_kernel 相当于普通C语言程序中的main函数。
习惯:打开什么都先找 readme,基本上都可以自行理解了。
make mrproper 清理中间程序的指令。
不同的配置方法、各种make。
2、构造一个简单的Linux系统
构建一个简单的Linux系统MenuOS,下载安装启动的过程还真是有点慢。。。。
实验楼卡爆!!!!我的网费啊。。
3、使用gdb跟踪调试内核(实验楼的实验卡掉了 截图未能导出。。)
file linux-3.18.6/vmlinuxtarget remote:1234
break start_kernel
reat_init
kernel_thread
kernel_init
run_init_process
当系统没有进程需要执行时就调用idle调度。
进程的0、1、2创建
学到了什么:
qemu相当于打开一个虚拟机kernel启动一个内核,位置由其后的文件名指定。如果在当前目录下,可以直接输入文件名,如果不是,则需要输入该内核的全路径。
initrd指令是挂了一个ramdisk虚拟硬盘,是内核的重要补充,rootfs.img就是这个虚拟硬盘,内有分区,然后启动的其实是其中的init文件,这个文件是由之前的menuOS编译而成,gcc -o命名为init。
为什么make会花费那么长的时间?
相关文章推荐
- Linux内核分析第三周学习博客——跟踪分析Linux内核的启动过程
- 【转】Linux常用命令大全
- 20135323符运锦----第三周:构建一个简单的Linux系统MenuOS
- 跟踪分析Linux内核的启动过程小解
- 跟踪分析Linux内核的启动过程
- Linux--01入门
- linux splice使用示例 (使用socket服务于单用户的回射服务器)
- 分布式-在win7上安装linux操作系统
- 在嵌入式linux下搭建Boa Webserver
- linux sendfile示例
- Linux的文本编辑命令除了vi(vim),还有哪些?
- linux vmplice 示例
- Linux内核分析 笔记三 构造一个简单的Linux系统MenuOS ——by王玥
- Linux进程调度原理
- 《Linux内核分析》课程第三周学习总结
- 在CentOS下安装配置MySQL(转)
- Linux笔记(24)——用于与用户组的概念
- Centos 6.5下安装ftp
- Linux内核实验
- CentOS6.5下编译安装MySQL 5.6.16【详细教程】