Linux kernel在自身初始化完成之后,需要能够找到并运行第一个用户程序(这个程序通常叫做“init”程序)。用户程序存在于文件系统之中,因此,内核必须找到并挂载一个文件系统才可以成功完成系统的引导过程。 在grub中提供了一个选项“root=”用来指定第一个文件系统,但随着硬件的发展,很多情况下这个文件系统也许是存放在USB设备,SCSI设备等等多种多样的设备之上,如果需要正确引导,USB或者SCSI驱动模块首先需要运行起来,...
by opennewlife - Linux文档专区 - 2010-11-24 10:36:50 阅读(2543) 回复(1)
Linux kernel在自身初始化完成之后,需要能够找到并运行第一个用户程序(这个程序通常叫做“init”程序)。用户程序存在于文件系统之中,因此,内核必须找到并挂载一个文件系统才可以成功完成系统的引导过程。 在grub中提供了一个选项“root=”用来指定第一个文件系统,但随着硬件的发展,很多情况下这个文件系统也许是存放在USB设备,SCSI设备等等多种多样的设备之上,如果需要正确引导,USB或者SCSI驱动模块首先需要运行起来,...
Linux kernel在自身初始化完成之后,需要能够找到并运行第一个用户程序(这个程序通常叫做“init”程序)。用户程序存在于文件系统之中,因此,内核必须找到并挂载一个文件系统才可以成功完成系统的引导过程。 在grub中提供了一个选项“root=”用来指定第一个文件系统,但随着硬件的发展,很多情况下这个文件系统也许是存放在USB设备,SCSI设备等等多种多样的设备之上,如果需要正确引导,USB或者SCSI驱动模块首先需...
Linux kernel在自身初始化完成之后,需要能够找到并运行第一个用户程序(这个程序通常叫做“init”程序)。用户程序存在于文件系统之中,因此,内核必须找到并挂载一个文件系统才可以成功完成系统的引导过程。 在grub中提供了一个选项“root=”用来指定第一个文件系统,但随着硬件的发展,很多情况下这个文件系统也许是存放在USB设备,SCSI设备等等多种多样的设备之上,如果需要正确引导,USB或者SCSI驱动模块首先需要运...
Linus 本人在 Linux 2.6 时代所提出的 "initramfs" 是一种更好的 "root=" 做法。简单來说,initramfs 就是「kernel 2.6 的 initrd」。Initrd(initial ramdisk)即 /dev/ram0,是一种普遍使用在 embedded Linux 的观念;embedded Linux 利用 initrd 来载入 root filesystem(或是 bootstrap root filesystem 后再以 NFS 挂载完整 RFS)。 下面介绍制作 Linux 2.6 的 initramfs 简单方法。假设 RFS 的目录为 /home/rootfs,則制作 i...
initramfs usage 使用initramfs可以实现内核和文件系统在一个映像文件中,不过会增大内核体积,同时占用较多内存。 (1)准备根文件系统先准备好根文件系统,放到某个目录,不过为了方便和内核一起打包,可以放到内核源代码的usr/目录下,我的做法是在usr目录下建立了image目录,然后将可用的根文件系统的内容全部复制到image目录下:[chenxibing@localhost linux-2.6.27.8-smartarm3250]$ ls usr/imagebin dev hello.c h...
========initramfs和initrd的区别================= boot loader装入kernel, 然后kernel需要执行/sbin/init, 读取 这个文件就必须先mount根文件系统, 早期是通过启动时的root= 参数告诉内核根文件系统在哪个设备上, 随着硬件和技术的发展, 现在根文件系统可能位于一个网络存储如NFS上, 可能由于RAID而 散布于多个设备上, 可能位于一个加密设备上需要提供用户名和密码, 这时root=参数就显得不够了. 为了应付这种局面, 先后出...
我想把initramfs作为root filesystem,但是出了个问题,在最后输出的时候,会说:please press enter to activate this console。 但是我的硬件不是直接通过串口与PC机相连,而是直接将生成的zImage通过USB下载到硬件上,所以根本就不可能按ENTER键。所以 我想问一下,有没有哪位高手可以帮我解决下这个问题? PS: 我看网上说是因为inittab里的action参数不对,但是我将askfirst改成respwan还是没有解决这个问题,仍然会出现上述语...
本帖最后由 asuka2001 于 2013-06-01 11:42 编辑 绿色代表initramfs依赖项不满足则为空函数,红色代表initrd依赖项不满足则为空函数 相关代码位于 init/ initramfs initrd 依赖项 BLK_DEV_INITRD BLK_DEV_INITRD && BLK_DEV_RAM 源文件 initramfs.c initramfs.c do_mounts_initrd.c do_mounts_initrd.c ...
我现在的硬盘分区1(sda1)上有一个文件 这个文件是一个完整的硬盘镜像文件 里面有装好的linux系统 这个文件的格式其实是 虚拟机生成的vmdk文件。现在需要修改initramfs 来达到系统启动的时候把我的这个文件当做根文件系统来启动。我已经写了一个 块驱动把这个文件模拟为一个硬盘 但是前提是sda1首先被mount上,我的驱动才能读取和写入vmdk文件。谁能给点思路么 如何编写我的initramfs中的init脚本 才能达到把这个文件当做根文件系...
http://dieken-qfz.spaces.live.com/blog/cns!586D665C0DEB512D!397.entry boot loader装入kernel, 然后kernel需要执行/sbin/init, 读取 这个文件就必须先mount根文件系统, 早期是通过启动时的root= 参数告诉内核根文件系统在哪个设备上, 随着硬件和技术的发展, 现在根文件系统可能位于一个网络存储如NFS上, 可能由于RAID而 散布于多个设备上, 可能位于一个加密设备上需要提供用户名和密码, 这时root=参数就显得不够了. 为了应付...