目錄
安裝
定制
簡介:CDlinux 的結構 如何向 CDlinux 里添加其它軟件? 如何為 CDlinux 制作一個“包”(package)? 如何為 CDlinux 制作一個“模塊”(module)? 如何按照我自己的口味定制 CDlinux? 配置 使用 安裝
如何“安裝” CDlinux?
CDlinux 是個從光盤啟動、運行的小 Linux,是以一個標准的 ISO 文件的形式發布的。所以最簡單的“安裝”方法是:把這個 ISO 文件刻錄到光盤上,用它啟動機器就是了。 如何把 CDlinux 集成到我自己的光盤上?當然,你也可以把 CDlinux 安裝到硬盤或 U 盤、USB 移動硬盤上(請參見下文)。
CDlinux 本身很小,0.4.9 只有不到 17 兆,這比一張刻錄盤的容量差多了。所以,如果有興趣的話,你可以自己動手,把 CDlinux 與其它軟件集成到一起,不必單刻一張盤。還可以與其它系統一起做成多啟動光盤。具體操作既可以在 Linux 下進行,也可以在 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 的方法 這個我不太熟,不過我想也不會太麻煩。只要注意以下几點就行了:
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 的結構”。 如何把 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 的結構”。 簡介: 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 運行時就不能把光盤拿出來了。 定制
簡介: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 很小,所以有很多有用的軟件并沒有被集成進來。不過你可以自己定制它,加上你需要的軟件。可以把軟件做成一個“包”或者一個 “模塊”加進來。具體用哪種格 式,取決于軟件的大小、是否需要初始化。小的、不需初始化的軟件可以做成“包”﹔反之,最好做成“模塊 ”。比如,你可以把 F-PROT 做成一個“模塊”添加到 extra/目錄下,這樣你就可以用 CDlinux 來殺毒了。(F-PROT 是個非常簡潔、功能非常強大的殺毒軟件,之所以沒有集成到 CDlinux 的發行版中,是因為我不知道它的 license 是否允許。) 如何為 CDlinux 制作一個“包”(package)?為 CDlinux 添加軟件的注意事項
做一個包非常簡單,所謂“包”就是一個標准的 .tar.gz 文件。關于這個 .tar.gz 文件里的目錄結構,你可以參考 extra/ 目錄下已有的那些“xxx-cdl.tgz”文件。制作時只需注意以下几點:
如果要添加的軟件比較大,可以把它做成一個“模塊”。“模塊”就是一個標准的 cramfs 鏡像,制作起來比做“包”稍麻煩一些,需要用 mkfs.cramfs 命令。“模塊”具體結構請參考 extra/ 目錄下已有的“xxx-cdl.md”文件。CDlinux 啟動時自動到 extra/ 下查找這些“xxx-cdl.md”,并自動挂載它們。
制作模塊時的的注意事項
如果 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。
把 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 不支持運行級的概念。 配置
CDlinux 可以自動檢測很多常見的以太網卡,不過為了讓它小一點,更多網卡的驅動沒有編到內核里,而是做成了內核模塊。啟動時,CDlinux 會試圖自動檢測你的網卡,但如果內核已經識別了一塊或者一塊以上網卡,CDlinux 就會跳過網卡自動檢測。
啟動以后如果你想自己動手檢測網卡,可以執行: # 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 設備了。 如何配置鼠標?
用 mouse-config 命令。(支持絕大多數 COM/PS2/USB 鼠標)
使 用
如何讀/寫中、日、韓文?
用 CCE: cce - 中文 (簡體) 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 如何改變分區大小、修改分區表?
請使用“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 的具體使用方法,請參考它們各自的文檔。 Windows 9x 覆蓋了 NT/2k/XP 的引導記錄,“雙啟動菜單”不見了,如何修復?
假設你的“C: 盤”是 /dev/hda1,格式是 FAT32,新裝的 Windows 98 破壞了 XP 的引導記錄,現在只能進 98 了。這種情況可以試試用 CDlinux 來修復: # ms-sys -2 /dev/hda1 關于 ms-sys 的具體用法,請參見它的文檔。 NT/2k/XP 的管理員密碼丟了,怎么辦?
如果忘了 NT/2k/XP 的管理員密碼,想再找回來是很難的。不過你可以用 CDlinux 再強行重設一個密碼,或者干脆把密碼清空。執行:
# nukent 然后按提示操作。(注意:對于較新版本的 Windows,如 Windows XP + SP2,修改密碼功能已經不起作用,但清空密碼還好使。) CDlinux 里帶了很多實用工具,關于它們的用法的簡短說明,可以參考 /var/log/packages。另外,許多軟件的 man 手冊和文檔被放在了對應的“xxx-cdl.tgz”文件的 zxh/ 目錄下,沒有安裝,你可以挂上 CDlinux 光盤,查閱這些文件。關于某個軟件的具體用法,已經超出了這個 mini-HOWTO 的范圍,請參考它們各自的文檔。RTFM 可是一種很好的學習方法 :) |
感謝 和 提供主頁空間 最后修改時間:2006/11/03 |