本篇内容主要讲解“Linux initrd系统怎么掌握”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux initrd系统怎么掌握”吧!定义主目录(root)的路径mkrootdev指令是nash这一支shell所提供的功能,主要就是在要转换之前先行将主目录定义清楚,默认会将GRUB中kernel command line所设置root=xxx中的xxx路径先建立好。将root 路径mount到/sysro开发云主机域名ot下将刚刚找到的root 路径mount到Linux initrd中的/sysroot下,但要注意,这时的/sysroot就好像rescue mode的/mnt/sysimage目录,是一样的意思,都只是先将实体操作系统存在的实体路径mount到一个虚拟操作系统(在这里是initrd)的暂存目录中,再通过切换的方式转为实体的主目录。不同的是,在rescue mode中用的是chroot;但在Linux initrd用的则是switchroot指令,之所以会有这样的差异,是因为rescue mode直接使用了操作系统的指令,而initrd在加载时,并没有操作系统的指令可用,因此是通过nash内置的指令。或许有人会问,rescue mode不也是以Linux initrd的方式加载的吗?是的,但要在此补充说明的是,虽然都是Linux initrd,但rescue mode中的initrd是光盘直接提供的,而这里所说的Linux initrd则是安装操作系统后由操作系统直接产生的,两者有很多不同之处。您若有兴趣,不妨将光盘的initrd文件打开来看(如图4-45所示),将会发现该Linux initrd中的init文件并不是一个脚本文件,而是一个真正可以在操作系统下执行的程序。当然,存放在CD或DVD中的Linux initrd文件是为用户安装操作系统所使用的,会遇到许多软、硬件的不同需求,因此,initrd的文件所需存放的资料(像module)远比操作系统开机所需加载的Linux initrd文件多得多。像图4-46 中Fedora Core 6安装光盘中的initrd文件几乎是操作系统下initrd文件的4倍之多。建立其他的文件系统在主目录(在initrd阶段为/sysroot)建好之后,setuproot指令开始运行,将Linux initrd通过init建立好的/proc、/sys、/de目录中所有资料转移到/sysroot,以方便转换到新的实体操作系统,这也是nash内置的功能,但笔者在nash的使用手册竟无法找到任何有关setuproot的描述,不知为何独漏这一支。切换到新的root目录,并开始执行实体系统下的init文件
switchroot是nash在2.6版kernel以后的版本才可使用的新功能,刚刚setuproot把所有和操作系统有关的目录都建立在/sysroot后,setuproot会将/sysroot切换为实体操作系统下的主目录(/),完成后会顺便将所有之前Linux initrd存在内存中的资料清空,如同所有在虚拟文件系统(包括/sys、/proc或/dev等)中的资料,因此,当switchroot执行完成时,内存中就不会再有Linux initrd所建的任何目录及文件,完全由实体操作系统来运行。到此,相信大家对“Linux initrd系统怎么掌握”有了更深的了解,不妨来实际操作一番吧!这里是开发云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
相关推荐: Kubernetes进阶之PersistentVolumeClaim 动态供给实现NFS网络存储
K8s进阶之PersistentVolumeClaim 动态供给先来简单看一下这张图实现的过程,然后我们再来研究一下举个例子更好去理解话不多说上图其实它是一个基于NFS实现的一个pv供给,它大概流程是这样的,我们可能会创建一个statefulset有状态的应用…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。