目录
安装
定制
配置
使用
定制
简介:CDlinux 的结构
如何向 CDlinux 里添加其它软件?
如何为 CDlinux 制作一个“包”(package)?
如何为 CDlinux 制作一个“模块”(module)?
如何按照我自己的口味定制 CDlinux?
如何向 CDlinux 里添加其它软件?
如何为 CDlinux 制作一个“包”(package)?
如何为 CDlinux 制作一个“模块”(module)?
如何按照我自己的口味定制 CDlinux?
配置
使用
安装
如何“安装”CDlinux?
如何把 CDlinux 安装到 U 盘上?
简介: CDlinux 的命令行参数
CDlinux 是个从光盘启动、运行的小 Linux,是以一个标准的 ISO 文件的形式发布的。所以最简单的“安装”方法是:把这个 ISO 文件刻录到光盘上,用它启动机器就是了。
当然,你也可以把 CDlinux 安装到硬盘或 U 盘、USB 移动硬盘上(请参见下文)。
如何把 CDlinux 集成到我自己的光盘上?
当然,你也可以把 CDlinux 安装到硬盘或 U 盘、USB 移动硬盘上(请参见下文)。
CDlinux 本身很小,0.4.8 只有不到 19 兆,这比一张刻录盘的容量差多了。所以,如果有兴趣的话,你可以自己动手,把 CDlinux 与其它软件集成到一起,不必单刻一张盘。还可以与其它系统一起做成多启动光盘。具体操作既可以在 Linux 下进行,也可以在 Windows 下进行:
用 Linux 的方法 (以下操作可以在 CDlinux 也可以在一般的 Linux 系统中进行)
首先要把 CDlinux 的内容从 ISO 镜像里展出来,先挂载它:
# mount -o loop CDlinux-x.x.x.iso /some/where
这样 CDlinux 里的具体内容就都在 /some/where 目录下了。假设你已经把其它要刻到盘上的软件都放到了 /mycd 目录下,现在把 CDlinux 也拷到那个目录里:
# cp -p -r /some/where/* /mycd
接下来 cd /mycd,打开 mkisofs.sh 文件,根据你自己的具体情况进行必要的修改,存盘退出。最后,执行:
# ./mkisofs.sh
生成新的光盘镜像,缺省情况下新镜像是 /tmp/1.iso。现在就可以它刻录出来了。
注意,通过以上步骤做出的光盘启动时会直接进入 CDlinux,启动效果和原来的 ISO 镜像是一样的。如果你想制作带菜单的多启动光盘,还需要用到 ISOlinux ( SYSlinux 的一个组件) 等其它工具,至于如何使用它们,请参见它们各自的文档。
用 Windows 的方法
这个我不太熟,不过我想也不会太麻烦。只要注意以下几点就行了:
如何把 CDlinux 安装到硬盘上?用 Linux 的方法 (以下操作可以在 CDlinux 也可以在一般的 Linux 系统中进行)
首先要把 CDlinux 的内容从 ISO 镜像里展出来,先挂载它:
# mount -o loop CDlinux-x.x.x.iso /some/where
这样 CDlinux 里的具体内容就都在 /some/where 目录下了。假设你已经把其它要刻到盘上的软件都放到了 /mycd 目录下,现在把 CDlinux 也拷到那个目录里:
# cp -p -r /some/where/* /mycd
接下来 cd /mycd,打开 mkisofs.sh 文件,根据你自己的具体情况进行必要的修改,存盘退出。最后,执行:
# ./mkisofs.sh
生成新的光盘镜像,缺省情况下新镜像是 /tmp/1.iso。现在就可以它刻录出来了。
注意,通过以上步骤做出的光盘启动时会直接进入 CDlinux,启动效果和原来的 ISO 镜像是一样的。如果你想制作带菜单的多启动光盘,还需要用到 ISOlinux ( SYSlinux 的一个组件) 等其它工具,至于如何使用它们,请参见它们各自的文档。
用 Windows 的方法
这个我不太熟,不过我想也不会太麻烦。只要注意以下几点就行了:
- 可以用 WinRAR 来提取光盘镜像里 CDlinux 的内容;
- CDlinux 是通过 boot/CDlinux/CDlinux.img 这个 2.88M 软盘镜像来启动的;
- 请保持 CDlinux 的目录结构,不要改动;
- 不要改变文件/目录名的大小写。
Linux 本身功能非常强大又非常灵活,CDlinux 也继承了这一点,所以稍加定制就可以把它安装到各种各样的设备上。并且仅仅把 CDlinux 安装到硬盘上就有很多种方案可选,这里我们只介绍一种方案:把 CDlinux 安装到一个 Windows FAT 分区里,用
loadlin 来启动它。
在以下的说明中,我们假设你的 Windows 的“C: 盘”是 FAT16 或者 FAT32 格式的,并且它对应 Linux 下的 /dev/hda1。我们将把 CDlinux 安装到“C: 盘”上。
用 Linux 的方法 (以下操作可以在 CDlinux 也可以在一般的 Linux 系统中进行)
首先,挂上 CDlinux 的 ISO 镜像和 C: 盘:
# mount -o loop CDlinux-x.x.x.iso /mnt/cdrom
# mount /dev/hda1 /mnt/win
(如果你不想装到 C: 盘上,或者你的 C: 盘不是 /dev/hda1,请对上述命令做相应的修改)
然后把 extra/ 目录下的内容拷贝到 C: 上:
# mkdir /mnt/win/CDlinux
# cp -r /mnt/cdrom/boot/CDlinux/extra /mnt/win/CDlinux
接下来,把内核和 initrd 也拷到 C: 盘:
# mount -o loop /mnt/cdrom/boot/CDlinux/CDlinux.img /mnt/floppy
# cp /mnt/floppy/bzImage /mnt/floppy/CDlinux.gz /mnt/win/CDlinux
最后,下载 loadlin (~10k) 并把它展到 C: 盘上:
# tar -C /mnt/win/CDlinux -zxf loadlin.tgz
(这步把“loadlin.exe”和一个“autoboot.bat”批处理文件拷贝到 /mnt/win/CDlinux 目录里。请检查“autoboot.bat”文件,并根据你自己的具体情况做相应的修改。)
现在,可以重启到纯 DOS 环境,用以下命令来启动 CDlinux 了:
C:
CD CDlinux
AutoBoot
注意,以上步骤只是一个简单的例子,这里的假设可能和你的情况并不一致。所以,在操作时别忘了根据自己的具体情况做必要的修改。另外请参考“ 简介:CDlinux 的命令行参数”和“ 简介:CDlinux 的结构”。
在以下的说明中,我们假设你的 Windows 的“C: 盘”是 FAT16 或者 FAT32 格式的,并且它对应 Linux 下的 /dev/hda1。我们将把 CDlinux 安装到“C: 盘”上。
用 Linux 的方法 (以下操作可以在 CDlinux 也可以在一般的 Linux 系统中进行)
首先,挂上 CDlinux 的 ISO 镜像和 C: 盘:
# mount -o loop CDlinux-x.x.x.iso /mnt/cdrom
# mount /dev/hda1 /mnt/win
(如果你不想装到 C: 盘上,或者你的 C: 盘不是 /dev/hda1,请对上述命令做相应的修改)
然后把 extra/ 目录下的内容拷贝到 C: 上:
# mkdir /mnt/win/CDlinux
# cp -r /mnt/cdrom/boot/CDlinux/extra /mnt/win/CDlinux
接下来,把内核和 initrd 也拷到 C: 盘:
# mount -o loop /mnt/cdrom/boot/CDlinux/CDlinux.img /mnt/floppy
# cp /mnt/floppy/bzImage /mnt/floppy/CDlinux.gz /mnt/win/CDlinux
最后,下载 loadlin (~10k) 并把它展到 C: 盘上:
# tar -C /mnt/win/CDlinux -zxf loadlin.tgz
(这步把“loadlin.exe”和一个“autoboot.bat”批处理文件拷贝到 /mnt/win/CDlinux 目录里。请检查“autoboot.bat”文件,并根据你自己的具体情况做相应的修改。)
现在,可以重启到纯 DOS 环境,用以下命令来启动 CDlinux 了:
C:
CD CDlinux
AutoBoot
注意,以上步骤只是一个简单的例子,这里的假设可能和你的情况并不一致。所以,在操作时别忘了根据自己的具体情况做必要的修改。另外请参考“ 简介:CDlinux 的命令行参数”和“ 简介:CDlinux 的结构”。
如何把 CDlinux 安装到 U 盘上?
把 CDlinux 安装到 U 盘也有多种方案可选。我们还是只说一种:安装到 U 盘上的一个 FAT 分区里,并用
SYSlinux 来启动。
在以下的说明中,我们假设你的 USB 盘(U 盘或 USB 移动硬盘)被设定为硬盘模式。上面的第一个分区是 FAT12、FAT16、或者 FAT32 格式的,并且它对应 /dev/sda1。
用 Linux 的方法 (以下操作可以在 CDlinux 也可以在一般的 Linux 系统中进行)
首先,在 USB 盘上安装 syslinux:
# syslinux /dev/sda1
挂载 CDlinux 的 ISO 镜像和 USB 盘:
# mount -o loop CDlinux-x.x.x.iso /mnt/cdrom
# mount /dev/sda1 /mnt/win
(如果你的 USB 盘不是 /dev/sda1,请做相应的修改)
然后,把 extra/ 目录下的内容拷贝到 USB 盘上:
# mkdir /mnt/win/CDlinux
# cp -r /mnt/cdrom/boot/CDlinux/extra /mnt/win/CDlinux
接下来,把内核和 initrd 也拷过去:
# mount -o loop /mnt/cdrom/boot/CDlinux/CDlinux.img /mnt/floppy
# cp /mnt/floppy/bzImage /mnt/floppy/CDlinux.gz /mnt/win
最后,下载 syslinux 的配置文件 (~2k) 并把它展到 USB disk 盘上:
# tar -C /mnt/win -zxf syslinux-cfg.tgz
(这一步将把“syslinux.cfg”和一些显示信息等文件拷贝到 /mnt/win 目录下。不要忘了先检查一下“syslinux.cfg”,并根据你自己的具体情况做相应的修改。)
现在可以把你的 BIOS 设置成从 USB-HDD 或者 USB-zip 启动。(具体设为那种和你的 BIOS 及 USB 盘有关,试一下就知道了。)
注意,以上步骤只是一个简单的例子,这里的假设可能和你的情况并不一致。所以,在操作时别忘了根据自己的具体情况做必要的修改。另外请参考“ 简介:CDlinux 的命令行参数”和“ 简介:CDlinux 的结构”。
在以下的说明中,我们假设你的 USB 盘(U 盘或 USB 移动硬盘)被设定为硬盘模式。上面的第一个分区是 FAT12、FAT16、或者 FAT32 格式的,并且它对应 /dev/sda1。
用 Linux 的方法 (以下操作可以在 CDlinux 也可以在一般的 Linux 系统中进行)
首先,在 USB 盘上安装 syslinux:
# syslinux /dev/sda1
挂载 CDlinux 的 ISO 镜像和 USB 盘:
# mount -o loop CDlinux-x.x.x.iso /mnt/cdrom
# mount /dev/sda1 /mnt/win
(如果你的 USB 盘不是 /dev/sda1,请做相应的修改)
然后,把 extra/ 目录下的内容拷贝到 USB 盘上:
# mkdir /mnt/win/CDlinux
# cp -r /mnt/cdrom/boot/CDlinux/extra /mnt/win/CDlinux
接下来,把内核和 initrd 也拷过去:
# mount -o loop /mnt/cdrom/boot/CDlinux/CDlinux.img /mnt/floppy
# cp /mnt/floppy/bzImage /mnt/floppy/CDlinux.gz /mnt/win
最后,下载 syslinux 的配置文件 (~2k) 并把它展到 USB disk 盘上:
# tar -C /mnt/win -zxf syslinux-cfg.tgz
(这一步将把“syslinux.cfg”和一些显示信息等文件拷贝到 /mnt/win 目录下。不要忘了先检查一下“syslinux.cfg”,并根据你自己的具体情况做相应的修改。)
现在可以把你的 BIOS 设置成从 USB-HDD 或者 USB-zip 启动。(具体设为那种和你的 BIOS 及 USB 盘有关,试一下就知道了。)
注意,以上步骤只是一个简单的例子,这里的假设可能和你的情况并不一致。所以,在操作时别忘了根据自己的具体情况做必要的修改。另外请参考“ 简介:CDlinux 的命令行参数”和“ 简介:CDlinux 的结构”。
简介: CDlinux 的命令行参数
为了让 CDlinux 更灵活,不但能从光盘启动,还能从其它各种设备启动;并且不但能把模块挂载到内存中(ramdisk),为了节约内存,还可以自动用“loop”方式挂载模块,我们定义了下述三个内核命令行参数:
CDL_DEV=:
告诉 CDlinux 在哪个设备上可以找到附加的“包”和“模块”
缺省值:/dev/cdrom
例子: CDL_DEV=/dev/hda1
CDL_DIR=:
extra/ 目录在 CDL_DEV 的文件系统的那个目录下?
缺省值:boot/CDlinux, CDlinux, zxh/CDlinux
例子: CDL_DIR=APPs/CDlinux
CDL_LOOP:
是否强制以“loop”方式加载“模块”?
缺省值:否,尽量把“模块”挂载到内存里。
例子: CDL_LOOP
以上这三个参数都是可选的,正常从光盘启动时可以一个也不加,使用缺省值即可。如果模块太多或者太大,CDlinux 会自动以“loop”方式加载它们。不过这样一来,在 CDlinux 运行时就不能把光盘拿出来了。
CDL_DEV=:
告诉 CDlinux 在哪个设备上可以找到附加的“包”和“模块”
缺省值:/dev/cdrom
例子: CDL_DEV=/dev/hda1
CDL_DIR=:
extra/ 目录在 CDL_DEV 的文件系统的那个目录下?
缺省值:boot/CDlinux, CDlinux, zxh/CDlinux
例子: CDL_DIR=APPs/CDlinux
CDL_LOOP:
是否强制以“loop”方式加载“模块”?
缺省值:否,尽量把“模块”挂载到内存里。
例子: CDL_LOOP
以上这三个参数都是可选的,正常从光盘启动时可以一个也不加,使用缺省值即可。如果模块太多或者太大,CDlinux 会自动以“loop”方式加载它们。不过这样一来,在 CDlinux 运行时就不能把光盘拿出来了。
定制
简介:CDlinux 的结构
CDlinux 是高度可定制的。它由以下两部分构成:
1. “基本”部分:一张 2.88M 软盘镜像,CDlinux.img
2. “附加”部分:其它附加的“包”和“模块”
“基本”部分就是一张 VFAT 格式的 2.88M 软盘镜像。上面包含了内核和一些最基本的软件,包括:bash (1.14.7)、bftpd (一个小 ftp 服务器)、busybox、bzip2、e2fsprogs、file、find、gawk、grep、gzip、midnight commander (4.1.35)、portmap、sed、tar 和 vim (5.8) 等。如果只是需要一个最基本的 Linux 环境,你可以把 CDlinux 的其它内容统统删掉,只保留这一个文件,一样跑得不错。
“附加”部分包括其它一些有用的工具软件,这些软件被打成了“包”(package) 或者“模块”(module),放在 extra/ 目录下。启动时,CDlinux 会自动到 extra/ 目录下查找并安装它们。
虽然 CDlinux 只需 CDlinux.img 这一个文件就能跑起来,不过功能上就大打折扣了。所以最好还是保留这些附加的包和模块。当然,你也可以向 extra/ 目录里添加你需要的软件,把那些你用不到的删掉,自己定制一个 CDlinux 版本。
如何向 CDlinux 里添加其它软件?
做一个包非常简单,所谓“包”就是一个标准的 .tar.gz 文件。关于这个 .tar.gz 文件里的目录结构,你可以参考 extra/ 目录下已有的那些“xxx-cdl.tgz”文件。制作时只需注意以下几点:
如何为 CDlinux 制作一个“模块”(
module)?
CDlinux 是高度可定制的。它由以下两部分构成:
1. “基本”部分:一张 2.88M 软盘镜像,CDlinux.img
2. “附加”部分:其它附加的“包”和“模块”
“基本”部分就是一张 VFAT 格式的 2.88M 软盘镜像。上面包含了内核和一些最基本的软件,包括:bash (1.14.7)、bftpd (一个小 ftp 服务器)、busybox、bzip2、e2fsprogs、file、find、gawk、grep、gzip、midnight commander (4.1.35)、portmap、sed、tar 和 vim (5.8) 等。如果只是需要一个最基本的 Linux 环境,你可以把 CDlinux 的其它内容统统删掉,只保留这一个文件,一样跑得不错。
“附加”部分包括其它一些有用的工具软件,这些软件被打成了“包”(package) 或者“模块”(module),放在 extra/ 目录下。启动时,CDlinux 会自动到 extra/ 目录下查找并安装它们。
虽然 CDlinux 只需 CDlinux.img 这一个文件就能跑起来,不过功能上就大打折扣了。所以最好还是保留这些附加的包和模块。当然,你也可以向 extra/ 目录里添加你需要的软件,把那些你用不到的删掉,自己定制一个 CDlinux 版本。
CDlinux 很小,所以有很多有用的软件并没有被集成进来。不过你可以自己定制它,加上你需要的软件。可以把软件做成一个“包”或者一个“模块”加进来。具体用哪种格式,取决于软件的大小、是否需要初始化。小的、不需初始化的软件可以做成“包”;反之,最好做成“模块”。比如,你可以把 F-PROT 做成一个“模块”添加到 extra/目录下,这样你就可以用 CDlinux 来杀毒了。(F-PROT 是个非常简洁、功能非常强大的杀毒软件,之所以没有集成到 CDlinux 的发行版中,是因为我不知道它的 license 是否允许。)
为 CDlinux 添加软件的注意事项
如何为 CDlinux 制作一个“包”(package)?为 CDlinux 添加软件的注意事项
- CDlinux 是用 gcc-2.95.3 编译的,链接的是 glibc-2.2.5。你添加的软件最好也是编译、链接自同样的环境;
- 如果你加的软件需要其它的,CDlinux 没有提供的库,请把这些库也一起添加进来。
做一个包非常简单,所谓“包”就是一个标准的 .tar.gz 文件。关于这个 .tar.gz 文件里的目录结构,你可以参考 extra/ 目录下已有的那些“xxx-cdl.tgz”文件。制作时只需注意以下几点:
- “包”的文件名必须是“xxx-cdl.tgz”,否则将被忽略,不会被安装;
- 如果愿意,你还可以为你的包加上一个简短的说明,并把它存为 zxh/SPEC。启动时 CDlinux 会自动把它集成到 /var/log/packages 里。关于 SPEC 的格式,请参照已有的“xxx-cdl.tgz”文件;
- zxh/ 目录里除了 SPEC 以外的所有其它内容都将被忽略,不被安装;
- CDlinux 是在一个小 RAM 磁盘里运行的,所以请尽量把包做得小一点。像 man 和 docs 等文档都可以放到 zxh/ 目录下,这样它们就不会被安装,你以后要查阅起来也比较方便。
如果要添加的软件比较大,可以把它做成一个“模块”。“模块”就是一个标准的 cramfs 镜像,制作起来比做“包”稍麻烦一些,需要用 mkfs.cramfs 命令。“模块”具体结构请参考 extra/ 目录下已有的“xxx-cdl.md”文件。CDlinux 启动时自动到 extra/ 下查找这些“xxx-cdl.md”,并自动挂载它们。
制作模块时的的注意事项
制作模块时的的注意事项
- “模块”的文件名必须是“xxx-cdl.md”,否则将被忽略,不会被安装;
- 必须为模块指定一个挂载点。方法是把挂载点写到一个叫“.mount_point”的文件里,并把该文件放到 cramfs 的根目录下。“.mount_point”文件的具体格式可以参考 extra/ 下已有的“xxx-cdl.md”文件;
- 如果该软件需要执行一些初始化操作,可以把初始化程序或脚本命名为“.init”放到 cramfs 的根目录下,并将起属性设置为可执行。启动时 CDlinux 会自动找到并执行 .init;
- 缺省情况下,CDlinux 会尽量把“模块”都加载到内存中,内存不足时才以“loop”方式加载“模块”。如果你想省出更多内存来运行程序,可以在内核命令行里加上 “CDL_LOOP”参数,来强迫 CDlinux 以“loop”方式加载所有模块;
- cramfs 是一种只读文件系统,并且不记录文件的时间信息。
如果 CDlinux 的缺省状态不合你的胃口,你可以自己动手定制它。定制的办法有难有易:
“难”的办法是挂上 initrd 直接修改。CDlinux 的 initrd 是一个标准的 ext2 镜像,可以直接挂载、修改,没有问题。不过我还是推荐你尽量使用下面的“简单”办法。
“简单”的办法是,把修改的内容放到 extra/system-extra-cdl.tgz 文件里。比如,若是修改了 /etc/profile,把修改过的文件存为 system-extra-cdl.tgz 下的 /etc/profile。这样 CDlinux 启动时会自动用新的 /etc/profile 把旧的覆盖掉。另外,如果需要的话,你还可以在 system-extra-cdl.tgz 文件里加上个 /etc/rc.d/rc.local 脚本,以执行你需要的一些初始化操作。下面是一些具体的例子:
修改 bash 的命令行提示符
修改 CDlinux 原来的 /etc/profile 文件中带“PS1=”的哪些行,把修改后的结果保存到 system-extra-cdl.tgz 里,仍为 /etc/profile。
“难”的办法是挂上 initrd 直接修改。CDlinux 的 initrd 是一个标准的 ext2 镜像,可以直接挂载、修改,没有问题。不过我还是推荐你尽量使用下面的“简单”办法。
“简单”的办法是,把修改的内容放到 extra/system-extra-cdl.tgz 文件里。比如,若是修改了 /etc/profile,把修改过的文件存为 system-extra-cdl.tgz 下的 /etc/profile。这样 CDlinux 启动时会自动用新的 /etc/profile 把旧的覆盖掉。另外,如果需要的话,你还可以在 system-extra-cdl.tgz 文件里加上个 /etc/rc.d/rc.local 脚本,以执行你需要的一些初始化操作。下面是一些具体的例子:
修改 bash 的命令行提示符
修改 CDlinux 原来的 /etc/profile 文件中带“PS1=”的哪些行,把修改后的结果保存到 system-extra-cdl.tgz 里,仍为 /etc/profile。
把 bash 的命令行编辑模式由 emacs 改为 vi
编辑 /etc/inputrc,加上“set +o vi”,把新文件存到 system-extra-cdl.tgz 里,仍为 /etc/inputrc。
让 CDlinux 自动挂载 C: 盘
编辑 /etc/fstab,把新文件存到 system-extra-cdl.tgz 里。
让 CDlinux 自动加载非即插即用 ISA 设备的驱动
假设你有一块老 NE2000 兼容 ISA 网卡,非即插即用,IO 地址是 0x300。为了让 CDlinux 能自动识别它,可以新创建一个脚本,在里面加上“modprobe ne io=0x300”,然后把它存为 system-extra-cdl.tgz 里的 /etc/rc.d/rc.local。
让把 CDlinux 设置成一个简单的网关/防火墙
修改 iptables-x.x.x-cdl.tgz 包,加上个 /etc/rc.d/init.d/IPTABLES 脚本,在这个脚本里设置网关/防火墙的规则。关于该脚本的格式,请参照 extra/dcron-x.x.x-cdl.tgz 包。
事实上 CDlinux 启动时会自动查找 /etc/rc.d/init.d/ 下的可执行文件,并运行它们。这有点像 sysvinit 的机制,只不过 CDlinux 不支持运行级的概念。
编辑 /etc/inputrc,加上“set +o vi”,把新文件存到 system-extra-cdl.tgz 里,仍为 /etc/inputrc。
让 CDlinux 自动挂载 C: 盘
编辑 /etc/fstab,把新文件存到 system-extra-cdl.tgz 里。
让 CDlinux 自动加载非即插即用 ISA 设备的驱动
假设你有一块老 NE2000 兼容 ISA 网卡,非即插即用,IO 地址是 0x300。为了让 CDlinux 能自动识别它,可以新创建一个脚本,在里面加上“modprobe ne io=0x300”,然后把它存为 system-extra-cdl.tgz 里的 /etc/rc.d/rc.local。
让把 CDlinux 设置成一个简单的网关/防火墙
修改 iptables-x.x.x-cdl.tgz 包,加上个 /etc/rc.d/init.d/IPTABLES 脚本,在这个脚本里设置网关/防火墙的规则。关于该脚本的格式,请参照 extra/dcron-x.x.x-cdl.tgz 包。
事实上 CDlinux 启动时会自动查找 /etc/rc.d/init.d/ 下的可执行文件,并运行它们。这有点像 sysvinit 的机制,只不过 CDlinux 不支持运行级的概念。
配置
CDlinux 可以自动检测很多常见的以太网卡,不过为了让它小一点,更多网卡的驱动没有编到内核里,而是做成了内核模块。启动时,CDlinux 会试图自动检测你的网卡,但如果内核已经识别了一块或者一块以上网卡,CDlinux 就会跳过网卡自动检测。
启动以后如果你想自己动手检测网卡,可以执行:
# nic-detect
这是个简单的脚本文件,目前功能还不是很完善,在检测过程中甚至可能会造成死机!所以请小心使用。如果出现了什么错误,烦请通知作者,多谢!
CDlinux 里带了 DHCPC 程序,如果你所在的网络里有 DHCP 服务器的话,会自动配置好你的 IP 地址、网关、域名服务器等。你也可以自己动手用如下命令来配置 IP、DNS 等:
# net-config
设置代理服务器可以用:
# proxy-config
修改网卡的 MAC 地址:
# mac-fake
启动以后如果你想自己动手检测网卡,可以执行:
# nic-detect
这是个简单的脚本文件,目前功能还不是很完善,在检测过程中甚至可能会造成死机!所以请小心使用。如果出现了什么错误,烦请通知作者,多谢!
CDlinux 里带了 DHCPC 程序,如果你所在的网络里有 DHCP 服务器的话,会自动配置好你的 IP 地址、网关、域名服务器等。你也可以自己动手用如下命令来配置 IP、DNS 等:
# net-config
设置代理服务器可以用:
# proxy-config
修改网卡的 MAC 地址:
# mac-fake
如何配置 RAID 设备?
SCSI 和 RAID 设备的驱动都做成了内核模块,CDlinux 不能自动检测它们,你需要自己加载它们的驱动(内核模块)。下面这个例子假设你有一个基于 AHA1542 芯片的 SCSI 卡,上面连了两个 SCSI 盘,分别是 /dev/sda、/dev/sdb。并且通过软件 RAID 把 /dev/sda1 和 /dev/sdb1 做成了一个 RAID0 设备。可以通过如下命令来驱动它:
# modprobe aha1542
# modprobe raid0
# mdadm -A /dev/md0 /dev/sda1 /dev/sdb1
好了,现在你可以通过 /dev/md0 来访问这个 RAID0 设备了。
# modprobe aha1542
# modprobe raid0
# mdadm -A /dev/md0 /dev/sda1 /dev/sdb1
好了,现在你可以通过 /dev/md0 来访问这个 RAID0 设备了。
如何配置鼠标?
用 mouse-config 命令。(支持绝大多数 COM/PS2/USB 鼠标)
使用
如何读/写中、日、韩文?
如何与其它计算机交换数据?
如何改变分区大小、修改分区表?
如何修复被损坏了的分区表?
如何从 ext2 文件系统中恢复被误删除的文件?
LILO/GRUB 被 Windows 覆盖了,如何修复?
Windows 9x 覆盖了 NT/2k/XP 的引导记录,“双启动菜单”不见了,如何修复?
NT/2k/XP 的管理员密码丢了,怎么办?
用 CCE:
ccegbk - 中文 (简体)
cceb5 - 中文 (繁体)
ccejis - 日文
cceksc - 韩文
在 CCE 里,可以用“Ctrl+空格”或“Ctrl+Shift”切换输入法。(如果你不需要中、日、韩文支持,可以把 extra/cce-x.x.x-cdl.tgz 文件删掉,没有问题。)
ccegbk - 中文 (简体)
cceb5 - 中文 (繁体)
ccejis - 日文
cceksc - 韩文
在 CCE 里,可以用“Ctrl+空格”或“Ctrl+Shift”切换输入法。(如果你不需要中、日、韩文支持,可以把 extra/cce-x.x.x-cdl.tgz 文件删掉,没有问题。)
如何与其它计算机交换数据?
CDlinux 里已经带了 ftp、ssh1 和 nfs3 客户端/服务器。缺省状态下 ftp 和 ssh 服务器已经启动。所以最简单的交换数据的方法就是用 ftp 和 scp。
缺省状态下 nfs 服务器没有 export 任何资源,你需要先编辑、修改一下 /etc/exports,指定 export 哪些目录,和 export 的方式,然后执行:
# /etc/rc.d/init.d/UNFSD restart
CDlinux 里还带了 nfs 和 samba 的客户端。要挂载 nfs 资源:
# mount -t nfs xx.xx.xx.xx:/exported/resource /some/where
挂载 samba 资源:
# mount -t smbfs -o username=xx //machine_name/resource_name /some/where
缺省状态下 nfs 服务器没有 export 任何资源,你需要先编辑、修改一下 /etc/exports,指定 export 哪些目录,和 export 的方式,然后执行:
# /etc/rc.d/init.d/UNFSD restart
CDlinux 里还带了 nfs 和 samba 的客户端。要挂载 nfs 资源:
# mount -t nfs xx.xx.xx.xx:/exported/resource /some/where
挂载 samba 资源:
# mount -t smbfs -o username=xx //machine_name/resource_name /some/where
如何改变分区大小、修改分区表?
请使用“parted”或者“resize2fs”等。
如何修复被损坏了的分区表?
用“gpart”。(这个版本已打过 reiserfs-3.6 补丁,可以放心使用)
如何从 ext2 文件系统中恢复被误删除的文件?
用“e2undel”。
LILO/GRUB 被 Windows 覆盖了,如何修复?
安装 Windows 9x 会覆盖硬盘的主引导记录,导致原来安装的 Linux 无法启动,这时你可以启动 CDlinux 来进行修复。
首先,挂上 Linux 的根分区,比如说 /dev/hda5:
# mount -t ext2 /dev/hda5 /mnt/local
然后,假设你是用 LILO 来引导的:
# lilo -r /mnt/local
如果不成功,可以再试试:
# chroot /mnt/local /sbin/lilo
如果还是不行,再仔细找找原因,比如是不是上面 LILO 的路径不对等。耐心点,只要 Linux 的分区没有被破坏,一定可以恢复的。如果你是用 GRUB 来引导系统的,方法也和上面的类似。LILO/GRUB 的具体使用方法,请参考它们各自的文档。
首先,挂上 Linux 的根分区,比如说 /dev/hda5:
# mount -t ext2 /dev/hda5 /mnt/local
然后,假设你是用 LILO 来引导的:
# lilo -r /mnt/local
如果不成功,可以再试试:
# chroot /mnt/local /sbin/lilo
如果还是不行,再仔细找找原因,比如是不是上面 LILO 的路径不对等。耐心点,只要 Linux 的分区没有被破坏,一定可以恢复的。如果你是用 GRUB 来引导系统的,方法也和上面的类似。LILO/GRUB 的具体使用方法,请参考它们各自的文档。
Windows 9x 覆盖了 NT/2k/XP 的引导记录,“双启动菜单”不见了,如何修复?
假设你的“C: 盘”是 /dev/hda1,格式是 FAT32,新装的 Windows 98 破坏了 XP 的引导记录,现在只能进 98 了。这种情况可以试试用 CDlinux 来修复:
# ms-sys -2 /dev/hda1
关于 ms-sys 的具体用法,请参见它的文档。
# ms-sys -2 /dev/hda1
关于 ms-sys 的具体用法,请参见它的文档。
NT/2k/XP 的管理员密码丢了,怎么办?
如果忘了 NT/2k/XP 的管理员密码,想再找回来是很难的。不过你可以用 CDlinux 再强行重设一个密码,或者干脆把密码清空。执行:
# nukent
然后按提示操作。(注意:对于较新版本的 Windows,如 Windows XP + SP1,修改密码功能已经不起作用,但清空密码还好使。)
# nukent
然后按提示操作。(注意:对于较新版本的 Windows,如 Windows XP + SP1,修改密码功能已经不起作用,但清空密码还好使。)
CDlinux 里带了很多实用工具,关于它们的用法的简短说明,可以参考 /var/log/packages。另外,许多软件的 man 手册和文档被放在了对应的“xxx-cdl.tgz”文件的 zxh/ 目录下,没有安装,你可以挂上 CDlinux 光盘,查阅这些文件。关于某个软件的具体用法,已经超出了这个 mini-HOWTO 的范围,请参考它们各自的文档。RTFM 可是一种很好的学习方法 :)