绝大多数运行在 live CD/USB 系统上的代码是和运行在硬盘上的普通系统完全一致的。然而主要的区别在于 live CD/USB 系统基于只读的根文件系统,因此我们需要做一些必要的调整,来使一些必须要被写入的区域“似乎”能做到如此,我们说“似乎”,是因为一般来说,做出任何改动都会在系统关机的时候丢失,因为这些改动都存在于基于 RAM 的 文件系统中 (但是也可以有例外,参见 “状态保存”)。
在 larch 中,和许多其他 live CD/USB 系统一样,写入只读文件系统(apparently实在不知道啥意思) 的能力由 aufs (最初由 unionfs 派生) 提供。文件系统同时也采用 squashfs 压缩,以将更多的数据放入存储设备 (一般来说 2GB 左右未压缩的数据通过这种方法可以压缩进 700MB 的 CDROM)。一个自定义的(您可以选择安装哪些软件包)原始 Arch Linux 安装将被压缩进一个 squashfs 文件系统:文件 system.sqf,它将被放至启动设备的根目录中。
装配 live CD/USB 系统时我们需要对某些文件做少许改动(这里原文是写的installtion,后文中意为将live系统安装到硬盘,但这里我的理解是构建live系统的过程,如有误请帮忙修改)。在 larch 中,这(一开始)并非直接完成,构建完成后的系统仍处于一种原始的状态。为达到目的,我们引入一个union 层,其中在 mods.sqf 压缩包保存所有修改后的文件( /etc 中的文件除外,它们将被放置在可写入 union 的顶层,保存在 overlay.ovl 压缩包中)。用户可以随心所欲地添加任何定制到这些修饰文件中。这些文件也将被放至启动设备的根目录中。
所有这些系统压缩文件会在 live CD/USB 启动的时候被合并。它们都被作为合并后 union 文件系统的分支挂载,修饰层会覆盖在标准系统之上,因此修改过的文件有高于原始系统文件的优先级。union 的顶层是一个可写入的 tmpfs (因此也使得整个系统可写),启动过程中overlay.ovl 将会被解压到它之中。因为所有的改动都只存在于 RAM 中,所以在系统关机时都会丢失(除非使用状态保存功能)。
一般来说,直接引导一个 live CD/USB 系统是不可能的。需要使用 'initrd' 或者 'initramfs' 之类的形式来寻找、掌握文件系统,并且为运行做准备。许多现代的 GNU/Linux 系统使用了initrd/initramfs (前者正逐渐被弃用) 来加载需要的内核模块,Arch Linux 也不例外,它使用一个模块化的 initramfs 系统 (mkinitcpio) 作为标准启动方式,larch 也利用了它的优势,但是仍需为live CD/USB 系统作额外修改。
初始引导脚本和关机脚本必须根据 larch live 环境做一些修改。有许多方法可行。在 5.3.2 版本中,我们用修改过的 /etc/rc.sysinit 和 /etc/rc.shutdown 来替换原始文件,它们和官方的原始脚本是完全等价的,但是将一些在 larch live 系统中无效的部分分离开来(不确定)。“larch-live” 软件包提供适用于 live 系统的这些文件: /etc/larch-sysinit 和 /etc/larch-shutdown 。
重写系统文件使系统变得凌乱,同时也意味着 live 系统的 initscripts 软件包不能更新,但是我们希望官方的 initscripts 软件包将来能够包含已经分离相应功能的 '/etc/rc.sysinit' 和 '/etc/rc.shutdown' 版本,使得 larch 无须再重写这些文件。
尽管并非严格需要(因为用于替换的文件完全等价于官方的相应文件),larch 还是将原始的文件保存为 '/etc/rc.sysinit.larchsave' 和 '/etc/rc.shutdown.larchlsave',在用 larchin 安装系统的时候它可以被还原(这可能避免接下来的混淆???)。
您可以自定义 '/etc/inittab' :将新的版本放入 profile (在 'rootoverlay' 中)——举个例子,我们可以设置第一个终端的处理方式,比如允许自动登录。原始的 inittab 被存为 '/etc/inittab.larchsave' ,在用 larchin 安装系统的时候它可以被还原。
larch 版本 initscripts 的其中一项附加功能是自动生成新的 '/etc/fstab' (采用 gen_fstab 脚本,它基于系统设备检测的结果)。除此之外它和普通的 Arch Linux 没有什么不同。然而,重新挂载根文件系统和文件系统检查两项功能被除去,因为它们在 live-CD 环境中不起作用。Live 系统中任何硬盘分区都不会被挂载,并且 swap 默认也没有被开启。这主要是因为用作安装 CD 的时候,分区设定很可能需要编辑,而此时最好不要挂载分区。通过传递 'swap' 引导参数可以在拥有合适分区时自动启用 swap (这也可以通过 'swapon -a' 手动完成)。
对 '/etc/rc.shutdown' 的修改,是添加代码以处理状态保存(将更改写入启动设备)和弹出 live-CD。和普通系统不同的是,硬件时钟不会被重置。
评论
Replica louis vuitton
Replica louis vuitton handbags sale now,Buy at amazing cheap price,all the replica louis vuitton handbags free shipping now.Best Quality louis vuitton replica Handbags,bags, wallet, Luggage,Purses for cheap now, come up with new fashions every day,our replicas must be you best .We are professional replica louis vuitton accessories provider and offer cheap.Louis Vuitton bags have attractive appearance and top-quality design. replica lv bagsare one of the favorite products in the world. Louis Vuitton is so convenient.