- 论坛徽章:
- 0
|
在开始正式内容之前,需要交待一个基础的概念“什么是squashfs文件系统”。在说起squashfs文件系统之前要说明下Cramfs文件系统,Cramfs 是 Linus 写的很简单的文件系统,有很好的压缩绿,也可以直接从 Flash 上运行,不须 load 到 RAM 中,因此节约了 RAM。但是 Cramfs 是只读的,对于需要运行时修改的目录(如: /etc, /var, /tmp)多有不便,因此,一般将这些目录做成ramfs 等可写的 fs。而 SquashFS 是对 Cramfs 的增强。突破了 Cramfs 的一些限制,在 Flash 和 RAM 的使用量方面也具有优势。不过,据开发者介绍,在性能上可能不如 Cramfs。在 Linux Kernel 2.6.29 的首个 RC 版本加入了Squashfs 文件系统的支持,同时目前Squashfs文件系统也是被广泛的用在了Live CD中这个在Ubuntu中尤为明显。同时squashfs可完整的存储uid/gid和文件建立的时间,这个也可以成为定制Ubuntu图形安装光盘的方式之一。
定制Ubuntu光盘需要做的内容如下:
预装特定的程序
本地化语言支持
移出软件安装包
添加软件安装包
更新软件安装包
改变系统默认设置 (主题、图标、桌面、面板、浏览器主页等等)
目前这个也是很多Linux衍生版本的实现方式的标准模式。
首先要安装Squashfs对应的工具
首先,请确认你安装了必要的工具:
- sudo apt-get install squashfs-tools mkisofs qemu
复制代码
同时要加载 squashfs 模块 支持
将ubuntu-9.10-desktop-i386.iso内容加载到复制到用户的cuos目录下面:
- mkdir ~/cuos
- mv ubuntu-9.10-desktop-i386.iso ~/cuos
- cd ~/cuos
复制代码
挂载iso 释放出光盘的内容
- mkdir mnt
- sudo mount -o loop ubuntu-9.10-desktop-i386.iso mnt
复制代码
把 .iso 的内容释放到 'cd' 目录
- mkdir cd
- rsync --exclude=/casper/filesystem.squashfs -a mnt/ cd
复制代码
释放桌面系统
加载 squashfs 文件系统
- mkdir squashfs
- sudo mount -t squashfs -o loop mnt/casper/filesystem.squashfs squashfs
复制代码
把 squashfs 内容释放到 'sources' 目录
- mkdir sources
- sudo cp -a squashfs/* sources/
复制代码
配置虚拟根系统内使用网络连接
- sudo cp /etc/resolv.conf sources/etc/
复制代码
根据你的配置,你也许需要复制hosts文件
- sudo cp /etc/hosts sources/etc/
- sudo chroot sources
- mount -t proc none /proc
- mount -t sysfs none /sys
- mount -t devpts none /dev/pts
复制代码 |
评分
-
查看全部评分
|