cpio-initrd启动流程
时间: 2023-10-10 09:15:25 浏览: 86
cpio-initrd启动流程主要包括以下步骤:
1. BIOS启动
计算机通电后,BIOS会检查硬件并加载引导程序(bootloader)。
2. 引导程序加载
引导程序会从硬盘或其他存储设备中加载操作系统内核和initrd文件系统。
3. 内核初始化
操作系统内核会初始化系统硬件并加载驱动程序。
4. 初始化ramdisk
操作系统内核会将initrd文件系统挂载到根文件系统,并初始化ramdisk。
5. 启动init程序
操作系统内核会启动init程序,init程序会读取initrd文件系统中的init脚本并执行。
6. 系统初始化
init程序会初始化系统进程、启动系统服务、加载驱动程序等。
7. 用户登录
系统初始化完成后,用户可以登录系统并使用各种应用程序。
相关问题
cpio-initrd 启动流程
cpio-initrd 启动流程如下:
1. BIOS 将系统引导到引导设备的 MBR,MBR 加载 GRUB。
2. GRUB 加载内核镜像和 cpio-initrd 镜像。
3. 内核启动,将 cpio-initrd 镜像加载到 RAM 中,并将其挂载为根文件系统。
4. 内核执行 init 程序,init 程序读取 cpio-initrd 中的 init 脚本,执行其中的命令。
5. init 脚本进行系统初始化,包括加载驱动、挂载文件系统、设置系统参数等。
6. init 程序启动系统服务,如网络服务、终端服务等。
7. 用户登录系统,执行操作。
总体来说,cpio-initrd 启动流程和普通的 Linux 启动流程基本相同,只是在根文件系统的加载上使用了 cpio-initrd 镜像。
嵌入式 cpio-initrd启动流程
嵌入式 cpio-initrd 启动流程如下:
1. 在编译内核时,将 initramfs.cpio.gz 文件嵌入到内核中。这个文件包含了 root 文件系统所需的所有文件和目录。
2. 在启动内核时,内核会在 initrd 中寻找 init 程序。这个程序是系统的第一个进程,它负责完成初始化工作。
3. init 程序首先要挂载 root 文件系统。在这个过程中,它会加载驱动程序和文件系统模块,以便能够正确地挂载文件系统。
4. 一旦 root 文件系统被挂载,init 程序会启动其他系统进程,如 syslogd、klogd 等。这些进程会初始化系统并提供日志记录功能。
5. 最后,init 程序会启动 /sbin/init 程序,这是用户空间的第一个进程。它会创建其他用户进程,并负责运行系统的各个服务和应用程序。
总之,在嵌入式 cpio-initrd 启动流程中,init 程序是非常重要的。它负责初始化系统并启动其他进程。如果 init 程序出现问题,整个系统都会受到影响。因此,开发者需要仔细编写 init 程序,确保它能够正确地初始化系统并启动其他进程。
阅读全文