linux anaconda
DESCRIPTION
简要介绍fedora/RHEL/CentOS系列的安装程序。TRANSCRIPT
解读Anaconda ----program or system?
议程
1、bootstrapping2、为何不是一个简单的程序,而称之为系统?3、启动流程、环境介绍及步骤控制。4、关于运行时的一些参数。5、设计语言:C and python。6、和其它linux发行版的对比。7、关于anaconda未来的一点瞻望。
一、构建的力量
1、从“零”开始!“裸机” "它就只是一堆硬件组件,什么也做不了,直到它被重构(reprogrammed)。 当启动机器时会发生重构;这个过程称作 引导(bootstrapping 或 booting) 计算机。" --摘自《lpi教程》 2、关于bootstrapping 道格拉斯. 恩格巴特(Douglas Engelbart),就是鼠标的发明者。 “让改进的过程得到改进" (比如我们当年学C语言的介绍时)
picture is good way to explain.
启动流程
BIOS-->syslinux-->kerenl-->init-->loader-->anaconda-->end 可替代syslinux的有:grub,lilo,pxe,yaboot,elilo...... 理解vmlinuz和initrd.启动光盘的initrd和生成系统后的initrd的不同。
the program loader's flowsheeting.
stage1和stage2解析
stage1 概念上相对于stage2而言,包含init和loader.(可以解压initrd.img验证)(modules.cgz,gzip -dc %s |cpio) stage2,anaconda主程序、整个运行环境:glibc,Xlib,gtk-lib,python,rpm,busybox.......(共享库、可执行程序)Squashfs filesystem --额外的收获:-(
环境介绍
都能做什么?Busyboxe2fsprog、e4fsproglvm、iscsi、multipath、parteddump restore network aboutgrub dmidecode
anaconda步骤
参数诠释
1、区别与kernel参数。 anaconda实现的是扫描/proc/cmdline2、具体参数详解: 1)安装界面(图形、文本、命令、vnc) 2) 安装介质(光盘、硬盘、网络、kickstart) 3)硬件、固件、加载驱动(no****) 4)调试模式(debug、updates)
c and python
c 实现的主要是loaderpython实现是stage2
充分展现python的”粘合性”
对比于其它发行版
1、Open SuSE2、Debian--(ubuntu)3、Arch、getoo
瞻望?
1、对更多平台的支持2、对更多存储的支持(iscsi,scsi_over_eth)3、yum的速度?4、分布式部署、cluster的直接支持.......
Thanks!
any question?