CDlinux
2013-07-15 09:42:42 阿炯

本站赞助商链接,请多关照。 CDlinux 是一种小型的迷你 GNU/Linux 发行版,其名称取自英文的 “Compact Distro Linux“。CDlinux 的体形小巧,功能却挺强大。


您可以把 CDlinux 当作您的“移动操作系统”。 把它装到您的随身 U 盘上,无论走到哪里,只要是能支持 U 盘启动的电脑,就可以插上您的 U 盘,启动 CDlinux,把这台电脑变成您自己的移动工作站。CDlinux 里集成了最新的 Linux 内核,Xorg 图形界面,XFce 窗口管理器,和许多其它流行软件,如 Firefox 浏览器,Pidgin 即时通讯程序,GIMP 图像处理程序,甚至 Java,Wine 等等。让您在哪里都可以像在家里一样轻松完成您的工作。

你还可以把 CDlinux 当作一件随身的系统修复/维护工具。这个任务只需体型小巧的“标准版”就能完成。在 CDlinux 标准版里集成了大量的系统修复/维护工具,比如 parted, partimage, partclone, testdisk, foremost, ext3grep, e2undel, e2fs/jfs/hfs/ntfs/reiserfs/vfat/xfs 文件系统工具,等等。完全可以满足日常系统维护/修复工作的需要。

特点
CDlinux 能很好地支持国际化(i18n)和各种语言、locale,目前对 de_DE, en_CA, en_GB, en_US, fr_CA, fr_CH, fr_FR, ja_JP, ru_RU, zh_CN (简体中文) 和 zh_TW (传统中文) 提供全面支持。用户也可以很方便地定制 CDlinux 以支持他们自己的语言、locale。

CDlinux 能自动检测出自己被安装在什么设备上。您可以把 CDlinux 安装到 CD、DoC、Flash、HD 或者 MD 等类型的驱动器上,这些驱动器可以连接在 ATA、SATA、SCSI、USB 或者 IEEE1394 等总线上。在绝大多数情况下,CDlinux 都能自动识别这些设备并找到自己。

CDlinux 支持多种文件系统,您可以把它安装到 ext2、ext3、jfs、reiserfs、xfs、isofs、udf 及 hfs、hfsplus、fat、ntfs 等等分区上,CDlinux 都能自动挂载它们、找到自己并正常启动。

CDlinux 是高度灵活、可定制的。您可以拿它作为一个功能强大的系统修复、维护工具;您也可以加上自己需要的软件把它扩展成一个功能全面的桌面操作系统;还可以去掉自己不需要的功能,把 CDlinux 裁减成一个嵌入式系统。完全可以按需定制您自己的 Cdlinux。

CDlinux 支持哪些命令行参数

这些是 CDlinux 的内核命令行参数,这些参数都是可选的。在大多数情况下,您可以不用管它们,直接用系统预设好的缺省值就行了。

CDL_AMOUNT

CDlinux 能自动检测/挂载您的磁盘和分区,包括固定硬盘和移动硬盘、光盘等都能自动挂载。这个功能在 CDlinux 标准版和社区版里缺省是打开的。不过为了安全起见,此功能在 CDlinux_迷你版里是关闭的(比如,您可能要用 CDlinux 迷你版来修复受损的磁盘/分区,在这种情况下您一定希望别自动挂载分区)。如果您想自己决定是否自动挂载,可以使用这个参数:

缺省值: yes (标准版、社区版)
no  (迷你版)
例子:
 CDL_AMOUNT=yes    # 自动挂载
 CDL_AMOUNT=no    # 只检测,不挂载 (不会有写操作)

CDL_CMD

您可以用这个参数指定一些命令,让 CDlinux 在检测磁盘、加载扩展模块之前执行它们。注意:如果您想让 CDlinux 启动时自动执行一些操作,您可以用 /etc/rc.d/rc.local 文件来指定,在绝大多数情况下都可以不用这个参数,除非您想在 CDlinux 刚刚开始初始化时就执行这些操作。

缺省值: 无缺省值
例子:
# 把第一个 md 盘命名为 /dev/md1 而不是 /dev/md0:
CDL_CMD="mdadm -Ac partitions -m 0 /dev/md1"

# 命令还可以更复杂一些,还可以加上管道:
CDL_CMD="echo 'Hi!'; echo 'Hi!' | sed 's/!/ again!/'"

CDL_DEV

CDlinux 安装在哪个设备上?CDlinux 启动时会自动查找、加载附加模块,如果指定了这个参数,CDlinx 就会优先到您指定的设备上查找。您也可以不用管,让 CDlinux 自己去找。

缺省值: /dev/sr0
例子:
CDL_DEV=sda1
CDL_DEV=/dev/sda2
CDL_DEV=UUID=42656e5a-1971-0825-0001-d5d4d1b1bae9
CDL_DEV=LABEL=YourDiskLabel
CDL_DEV=LABEL="Your Disk Label"

CDL_DIR

CDlinux 安装在文件系统的哪个目录下?可以不用管它,用缺省值就行了。除非您想自己定制 CDlinux,把它安装到您指定的目录里:

缺省值: boot/CDlinux, CDlinux
例子:
CDL_DIR=Some/Dir/CDlinux
CDL_DIR="Some Dir/CDlinux"
# 路径里可以带空格,不过您的启动管理器 (boot loader) 得也支持空格才行

CDL_GUI

是否自动启动图形界面 (X Window)?

缺省值: yes (如果 X Windows 已安装,且内存大于 128M)
例子:
CDL_GUI=yes
CDL_GUI=no

CDL_LANG

CDlinux 缺省使用的语言/locale。

缺省值: en_US.UTF-8
例子:
CDL_LANG=zh_CN.UTF-8

CDL_LOOP

是否以 “loop” 模式挂载扩展模块,以节省 RAM?

缺省值: 动态判断
启动时 CDlinux 会自动检测您的内存大小,如果内存够大,CDlinux 会把自己完全加载到内存中,以加快运行速度。如果内存不足,CDlinux 会自动改用 "loop",以节省内存。
例子:
CDL_LOOP=yes
CDL_LOOP=no

CDL_WAIT

有些设备,如 U 盘、SD 卡等启动比较慢,Linux 内核需要花一些时间才能识别它们。如果您把 CDlinux 安装在了这些设备上,CDlinux 就必须等这些设备准备好了才能从上面加载扩展模块,这个参数告诉 CDlinux 等待多少秒。

缺省: 8 (秒) (如果需要的话)
例子:
CDL_WAIT=16

在这篇日记,我将根据自己的了解,向大家介绍一下怎样把CDlinux安装到硬盘,在用标准目录结构和定制目录结构的情况下怎样用 Grub(Linux下的Grub或Windows下的Grub4dos)引导系统;怎样用Syslinux制作可引导U盘,把CDlinux安装到U盘上,编写syslinux.cfg配置文件引导系统;怎样在你定制了CDlinux后,重制CDROM ISO 映像等。

使用参考

1、安装到硬盘
把从官方网站下载页面下载的 CDlinux 0.6.2 标准版光盘映像文件CDlinux-0.6.2.iso解压到一个硬盘分区的根目录下(也可以是任意目录,但需要传递给kernel另外的引导参数),如果你没有改变解压目录,那么目录结构应该是/boot/CDlinux/, 里面是initrd、bzImage 等。如果你用GRUB引导,你可以借用/boot/grub/menu.lst 里面的选项,但要稍作一点修改,如下(假设你把CDlinux放在了第一个硬盘的第一个分区里):

title CDlinux in Simplified Chinese (LANG=zh_CN.UTF-8)
root (hd0,0)
kernel /boot/CDlinux/bzImage quiet CDL_LANG=zh_CN.UTF-8 CDL_AMOUNT=yes
initrd /boot/CDlinux/initrd

而如果你修改了CDlinux的解压目录结构,如把前面目录结构的顶级目录/boot改为了/CDlinux,那么你需要修改一下引导参数,如下:

title CDlinux in Simplified Chinese (LANG=zh_CN.UTF-8)
root (hd0,0)
kernel (hd0,0)/CDlinux/CDlinux/bzImage acpi=force vga=normal quiet CDL_DEV=/dev/sda1 CDL_DIR=CDlinux/CDlinux CDL_LANG=zh_CN.UTF-8 CDL_AMOUNT=yes
initrd (hd0,0)/CDlinux/CDlinux/initrd

上面的acpi=force是启用电源管理,vga=normal是使用标准的vga模式,这是我自己的机器上使用的。你可以根据自己的具体情况选择使用与否。后面的CDL_DEV指定了CDlinux安装的分区,而后面的CDL_DIR指定了安装的目录结构。相关引导参数的含义详见官方文档:CDlinux 支持哪些命令行参数?。

在Linux下,你可以用GRUB或LILO引导;在 Windows下,你可以使用Grub4dos(如安装的矮人工具箱就是Grub4dos引导系统的),也可以试一下用 loadlin.exe 从Dos下引导Linux(未在CDlinux上验证);你也可以尝试用Syslinux引导(Linux和Windows下均可,但未在硬盘上安装的CDlinux上验证)。

2、安装到U盘上
在介绍CDlinux-0.5.9的安装和使用时,我已经介绍过用Syslinux制作可启动的U盘来启动解压到U盘上的CDlinux。在新的CDlinux 0.6.2里,解压的目录结构同前面介绍的硬盘安装,这里只简单的补充一下syslinux.cfg文件的编写。详细的syslinux.cfg文件的编写请参见官方文档:http://syslinux.zytor.com/wiki/index.php/SYSLINUX 。里面有Linux, Windows, Dos等系统下的syslinux使用。如,把syslinux.cfg文件放在/boot/syslinux目录下面(syslinux目录是新建的)。从syslinux官方网站上下载下来的最新版SYSLINUX3.72,把它解压到一个地方。这里以在Windows下面为例,执行解压开的目录下面的win32目录下的syslinux.exe,如U盘为I:盘,执行命令: syslinux.exe -m -a -d /boot/syslinux I: ,则制作好了引导配置文件在/boot/syslinux目录下面的可启动U盘。上面的参数 -m 指安装到U盘的mbr中, -a 激活所选U盘分区为可引导分区, -d 指定了syslinux.cfg 引导配置文件的位置。syslinux.cfg配置文件的内容如下(假设你解压为默认的目录结构):

DEFAULT CDlinux
LABEL CDlinux
SAY Now booting the cdlinux from SYSLINUX...
KERNEL /boot/CDlinux/bzImage
APPEND initrd=/boot/CDlinux/initrd quiet CDL_LANG=zh_CN.UTF-8 CDL_AMOUNT=yes

如果你把CDlinux解压到不同的目录结构,那么请参考前面硬盘安装的Grub引导配置文件修改相应参数。

3、重制CD ISO 映像系统
如果你重新定制了CDlinux,需要把它重新制作成为可启动的光盘映像文件,那么,在ISO文件里的顶级目录下面有个mkisofs.sh 脚本文件,把你重制后的光盘文件和这个脚本文件一起拷入一个临时的目录里(保持像光盘ISO文件里的目录结构)。然后在有genisoimage和 mkisofs命令的Linux系统下执行这个脚本,那么,一个重制好的ISO文件就被放在了/tmp目录下,文件名为 CDlinux.iso 。你进入CDlinux就可以这样重制光盘ISO映像文件。

最新版本:0.9


官方主页:http://www.cdlinux.info/