https://blog.csdn.net/chenweicheer/article/details/104459550
在开发过程中遇到这样的需求:在当前linux系统中切换到另外一个linux系统,不能借助额外的磁盘,因此学习linux系统的安装原理,写下这篇bolg备忘。
本文先介绍centos8安装过程,然后再一步一步找到我们主角anconda系统安装程序,做到知其然并知其所以然。
centos8安装步骤
到centos官网下载iso镜像 有两个版本CentOS Stream和CentOS Linux 这里我们选择CentOS Stream滚动发行版本iso有8G多主要有下面几个文件:centos8 iso 目录
使用工具制作UltraISO将iso刻录到U盘
设置电脑bios启动顺序为U盘优化
启动电脑进入安装centos8系统
使用tab键设置语言,键盘布局,分区,格式文件系统,安装软件
安装系统启动顺序
上电–>bios程序–>mbr–>grub–>加载内核(isolinux/vmlinuz)–>initrd临时根系统(isolinux/initrd.img)–>/usr/lib/systemd/systemd–>/usr/sbin/loader–>imagaes/install.img–>anconda–>安装系统
为什么通过iso就能安装系统呢?
在我们下载的iso中存在一个isolinux,插上U盘启动时加载这个文件下的内核和initramd 内存文件系统,这个文件系统中存在安装系统环境。
initrd.img
linux启动的根文件系统linux启动时会被加载到内存
isolinux目录下存在这样一个文件 initrd.img是xz压缩
使用命令xz -dc initrd.img | cpio -id 来解压initrd.img
install.img
这是一个Squashfs filesystem 内核使用的压缩只读系统可以unsquashfs squashfs.img 也可以挂载mount -o loop squashfs.img -t squashfs temp/
解压install.img 里面有有一个rootfs.img文件 格式为ext4的文件系统
在rootfs.img中就是 anconda的源码了
————————————————
版权声明:本文为CSDN博主「chenweicheer」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/chenweicheer/java/article/details/104459550
阅读(6711) | 评论(0) | 转发(0) |