数码资讯
如何initramfs切入现实的Linux文件系统
initramfs切成真正的Linux文件系统 的initramfs访问真正的Linux文件系统主要使用的switch_root命令。 通常,initramfs是准备最终的根文件系统。最后一步是安装最终根文件系统,然后切换到新的根文件系统。 以往基于切换到新的initrd ramdisk根文件系统使
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
initramfs切成真正的Linux文件系统
的initramfs访问真正的Linux文件系统主要使用的switch_root命令。
通常,initramfs是准备最终的根文件系统。最后一步是安装最终根文件系统,然后切换到新的根文件系统。
以往基于切换到新的initrd ramdisk根文件系统使用pivot_root命令,然后卸载内存。但initramfs是rootfs,并不是pivot_root也就卸载。
BusyBox的解决方案是完成整个过程提供switch_root命令,使用起来非常方便。
该switch_root命令的格式:
switch_root { C / dev /控制台new_root new_init arguments_to_init } { }
new_root是加载目录的根文件系统,需要安装到系统执行switch_root命令之前。
new_init是实际的根文件系统初始化程序的路径,这是一般/ sbin /初始化;
-控制台是一个可选参数,用于重定向根文件系统的实际设备文件,我们一般不使用这些文件;
arguments_to_init是init程序,通过对实际的根文件系统的参数,并且是可选的。
特别注意
的switch_root命令必须由PID = 1,这是过程调用,它必须直接由initramfs init程序调用时,它不能受到来自其他进程调用init,否则这将是错误的。提示:switch_root:不可以。
同样的原因是init脚本调用switch_root命令被调用exec命令,否则就会出错,提示:switch_root:不可以
样品
下面是一个由个人成员编写的init文件,它将分区写入命令。You can read kernel parameters from ldquo, /proc/cmdline, and find the partition to toggle.
# /斌/ SH!
# { }表达表达真实的返回true,否则返回false。D文件存在并且是一个目录
# | |或手术,假手术前。
#经过一段时间的含义,没有相应的目录创建。
{ - D / dev } | | mkdir m 0755 / dev
{ - D /根} | | mkdir m 0700 /根
{ - D /系统/系统| | } mkdir
{ - D / proc mkdir / proc | | }
{ - D / /甲氧苄啶TMP } mkdir | |
# -----------------------------------
mkdir -p /无功/锁
回声山- T sysfs O则nodev,noexec,nosuid将没有 /系统
山- T sysfs O则nodev,noexec,nosuid将没有 /系统
回声山- T触发O则nodev,noexec,nosuid将没有 /proc
安装程序- T O则nodev,noexec,nosuid将没有 / proc
这就#笔记/ dev的真实文件系统如果udev的脚本
#使用它们将;但是,值得指出的
如果!山不devtmpfs O模式= 0755无/ dev;然后
安装-t tmpfs -o模式= 0755无/ dev
#回声mknod - m 0600 / dev /控制台C 51
# mknod - m 0600 / dev /控制台C 51
# mknod / dev /空C 13
#做出一些基本设备首先让udev处理剩下的
mknod / dev /空C 13
mknod / dev / ptmx C 52
mknod / dev /控制台C 51
mknod / dev / kmsg C 111
FI
mkdir / dev /分
山不devpts -o noexec,nosuid将,GID = 5,模式= 0620 / dev /没有真正的| | PTS
mdev的
回声山 / / / dev sda3根
安装 / / /根sda3 dev
回声switch_root / / /根sbin init
执行switch_root / / /根sbin init
的initramfs访问真正的Linux文件系统主要使用的switch_root命令。
通常,initramfs是准备最终的根文件系统。最后一步是安装最终根文件系统,然后切换到新的根文件系统。
以往基于切换到新的initrd ramdisk根文件系统使用pivot_root命令,然后卸载内存。但initramfs是rootfs,并不是pivot_root也就卸载。
BusyBox的解决方案是完成整个过程提供switch_root命令,使用起来非常方便。
该switch_root命令的格式:
switch_root { C / dev /控制台new_root new_init arguments_to_init } { }
new_root是加载目录的根文件系统,需要安装到系统执行switch_root命令之前。
new_init是实际的根文件系统初始化程序的路径,这是一般/ sbin /初始化;
-控制台是一个可选参数,用于重定向根文件系统的实际设备文件,我们一般不使用这些文件;
arguments_to_init是init程序,通过对实际的根文件系统的参数,并且是可选的。
特别注意
的switch_root命令必须由PID = 1,这是过程调用,它必须直接由initramfs init程序调用时,它不能受到来自其他进程调用init,否则这将是错误的。提示:switch_root:不可以。
同样的原因是init脚本调用switch_root命令被调用exec命令,否则就会出错,提示:switch_root:不可以
样品
下面是一个由个人成员编写的init文件,它将分区写入命令。You can read kernel parameters from ldquo, /proc/cmdline, and find the partition to toggle.
# /斌/ SH!
# { }表达表达真实的返回true,否则返回false。D文件存在并且是一个目录
# | |或手术,假手术前。
#经过一段时间的含义,没有相应的目录创建。
{ - D / dev } | | mkdir m 0755 / dev
{ - D /根} | | mkdir m 0700 /根
{ - D /系统/系统| | } mkdir
{ - D / proc mkdir / proc | | }
{ - D / /甲氧苄啶TMP } mkdir | |
# -----------------------------------
mkdir -p /无功/锁
回声山- T sysfs O则nodev,noexec,nosuid将没有 /系统
山- T sysfs O则nodev,noexec,nosuid将没有 /系统
回声山- T触发O则nodev,noexec,nosuid将没有 /proc
安装程序- T O则nodev,noexec,nosuid将没有 / proc
这就#笔记/ dev的真实文件系统如果udev的脚本
#使用它们将;但是,值得指出的
如果!山不devtmpfs O模式= 0755无/ dev;然后
安装-t tmpfs -o模式= 0755无/ dev
#回声mknod - m 0600 / dev /控制台C 51
# mknod - m 0600 / dev /控制台C 51
# mknod / dev /空C 13
#做出一些基本设备首先让udev处理剩下的
mknod / dev /空C 13
mknod / dev / ptmx C 52
mknod / dev /控制台C 51
mknod / dev / kmsg C 111
FI
mkdir / dev /分
山不devpts -o noexec,nosuid将,GID = 5,模式= 0620 / dev /没有真正的| | PTS
mdev的
回声山 / / / dev sda3根
安装 / / /根sda3 dev
回声switch_root / / /根sbin init
执行switch_root / / /根sbin init
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。