1. BIOS自检 2. 启动GRUB/LILO 3. 运行linux的系统内核并检测硬件 4. 运行系统的第一个进程init 5. init读取系统引导配置文件/etc/inittab中的信息进行初始化 /etc/rc.d/rc.sysinit--------系统初始化脚本 l 挂接/proc文件系统 l 设置系统时钟 l 系统一般的环境变量设置(如主机名等) l 初始化USB和HID设备 l 设置PnP l 加载键盘映射 l 加载系统字体 l 加载系统模块(如声音模块等) l 初始化RAID l 检查文件系统 l 挂接文件系统...
关于linux启动过程的一些疑问。 1 Shell什么时候执行 shell是用户和内核的接口,所有的命令都是在shell的解释下进行。可是,shell什么时候执行? 我们的第一个进程是init[1],它是在shell下的么?有进程就有了shell? 系统的初始化(如果可以这么说),比如mount root file system,那么mount在什么shell下执行,KSH、CSH、BASH?这些命令应当是由SHELL解释的吧,什么SHELL? 2 关于rc.local 如果我们希望在系统启动的时候就执行一些...
1.从CMOS中加载BIOS,硬件检查 2.BIOS执行MBR(master boot record)上的引导程序 3.加linux kernel 4.执行/sbin/init 5.执行 /etc/rc.d/rc.sysinit 中脚本 6.执行 /etc/inittab 中脚本 7.由init 执行默认Run level目录中的脚本 8.执行/etc/rc.d/rc.local中的脚本 9./bin/login登录界面 我们的自动启动的脚本可以在 /etc/rc.d/rc.local 中添加 例如oss的声卡驱动可以在该文件中加入,这样就免得每次启动系统时在命令行敲入 soundon了...
linux启动过程中文件系统的加载 前言:我觉得我的文章相对来说都是比较浅显的。一些初学者可以看看,这也是我不在嵌入式那个版上发文的原因。对于高手来说,如果你们不吝啬时间的话,希望也能帮我看看,指点一下其中的错误。这也是我到这里来和大家交流的目的。 在完成了模块驱动后,就要挂载文件系统了。我一直以为: 我编译的内核是采用了initrd的模式,设备是在RAM DISK文件系统下的/linuxrc脚本程序加载的,因此在这上面...
1.root filesystem是什么?有什么用? 2. 为什么要先以只读方式挂载根文件系统?后来在init执行的最后又以r/w方式挂载? 为什么不一次挂载为 r/w? 3. 启动过程中使用到了ramdisk了吗? 我看到的文档都说tmpfs比ramdisk要好,linux为什么不取而代之? 4. 标准的linux启动过程是怎样的,哪位大虾讲一下好吗?
本文以RedHat9.0和i386平台为例,剖析了从用户打开电源直到屏幕出现命令行提示符的整个linux启动过程。并且介绍了启动中涉及到的各种文件。 阅读linux源代码,无疑是深入学习linux的最好方法。在本文对linux启动过程的介绍中,我们也尝试从源代码的视角来更深入的剖析linux的启动过程,所以其中也简单涉及到部分相关的linux源代码,linux启动这部分的源码主要使用的是C语言,也涉及到了少量的汇编。而启动过程中也执行了大量的...