易截截图软件、单文件、免安装、纯绿色、仅160KB

关于linux的启动流程的笔记

 一、从哪里到哪里
本文旨在描述linux中内核如何调用启动,然后如何从img的文件系统切换到硬盘的过程。
描述起于:linux-2.6.11/init/main.c中函数 static int init(void * unused)
描述止于:/etc/rc.d/rc.sysinit文件的被调用
二、描写流程
在linux代码linux-2.6.11/init/main.c中init这个函数被调用时,初始启动的文件
系统镜像:/boot/initrd-2.6.11.12.img(以2.6.11.12内核为例)已被grub加载到
内存中,并已挂载到根目录上("/")。
1、我们先来看看initrd-2.6.11.12.img到底是个什么东西:
[root@wj-server1 tmp]# cd /tmp
[root@wj-server1 tmp]# cp /boot/initrd-2.6.11.12.img /tmp/initrd-2.6.11.12.gz
[root@wj-server1 tmp]# gunzip initrd-2.6.11.12.gz
解压缩后的文件为:
[root@wj-server1 tmp]# ls -l initrd-2.6.11.12
-rw-r--r-- 1 root root 846848 7月 31 17:01 initrd-2.6.11.12
是一个CPIO格式的文件,该文件格式是种文件镜像让我们将它解开到一个目录中看看
其中的具体内容:
[root@wj-server1 tmp]# mkdir initrd
[root@wj-server1 tmp]# cd initrd
[root@wj-server1 initrd]# cpio -i < ../initrd-2.6.11.12
1654 blocks
[root@wj-server1 initrd]# ls
bin bootsplash dev etc init lib loopfs proc sbin sys sysroot
[root@wj-server1 initrd]# find .
.
./lib
./bin
./bin/nash
./bin/insmod
./bin/modprobe
./bin/hotplug
./etc
./dev
./dev/console
./dev/null
./dev/ram
./dev/systty
./dev/tty1
./dev/tty2
./dev/tty3
./dev/tty4
./loopfs
./proc
./sys
./sysroot
./sbin
./init
./bootsplash
可见该镜像文件目录中包括:
/bin 目录下的四个用于启动和切换到硬盘上的程序:
nash(用于处理根目录下的/init脚本)、insmod和modprobe来加载内核驱动、hotplug用
于外设的拔插处理。
/dev 目录下的八个设备文件
/init 是个nash的启动脚本文件
/bootsplash 是内核打了bootsplash补丁后,会在对该文件进行读取操作,然后将该文件
中包含的图片文件在启动时显示。
[root@wj-server1 initrd]# dmesg | grep -i bootsplash
bootsplash 3.1.6-2004/03/31: looking for picture... silentjpeg size 36270 bytes,
...found (1024x768, 19600 bytes, v3).
内核的这个装载信息就是在处理该文件。�


相关文档:

解决Red Hat Enterprise Linux AS 4 中文乱码问题

 解决Red Hat Enterprise Linux AS 4 中文乱码问题
我用的系统是Red Hat Enterprise Linux AS 4,在X-windows桌面环境下的“终端”窗口操作是能正确显示汉字,但是在用SSH登陆Linux操作系统,我用的是putty远程管理Linux,发现返回中文提示信息全都是乱码,简单的解决办法就是在SSH端执行:
export LC_ALL ......

Linux makefile 教程 非常详细,且易懂

 最近在学习Linux下的C编程,买了一本叫《Linux环境下的C编程指南》读到makefile就越看越迷糊,可能是我的理解能不行。
            于是google到了以下这篇文章。通俗易懂。然后把它贴出来,方便学习。
        & ......

使用sha256(512)算法加密linux密码

Linux帐户的密码加密后存放于/etc/shadow文件中。对于Redhat Enterprise版本,默认使用MD5算法,这个算法已经很不安全。很多经典的黑客教程都是教人拿到shadow文件后回去破解出root的密码,如果能用更难破解的sha算法加密密码无疑可以提高服务器的安全性。以下内容是综合了http://www.cyberciti.biz/faq/rhel-centos-fedora ......

深入理解linux内核笔记六:linux系统调用

一般情况下,进程不能存取系统内核的,只有系统调用是一个例外,在intel结构的计算机中,是通过中断0x80实现的
进程可以可以跳转到内核中的位置是system_call。在此检查系统调用号,它告诉内核进程请求何种服务,然后查找系统调用表sys_call_table,找到希望调用的内核地址函数,调用此函数,然后返回。
  &nbs ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号