--- doc/zh_TW.Big5/articles/nanobsd/article.sgml.orig 2009-11-07 17:03:57.000000000 +0800
+++ doc/zh_TW.Big5/articles/nanobsd/article.sgml 2009-11-07 23:39:14.000000000 +0800
@@ -1,9 +1,3 @@
-
%articles.ent;
@@ -36,7 +30,7 @@
這篇文件提供了關於 NanoBSD 工具的情報介紹,
這工具可用來建立用於嵌入式環境應用程式的 &os; 系統映像檔,
- 以便存放到 Compact Flash 卡(或隨身碟)。
+ 以便存放到 Compact Flash 卡(或其他儲存裝置)。
@@ -47,13 +41,13 @@
NanoBSD 是 &a.phk; 目前正在開發的一項工具。
它可用來建立用於嵌入式環境應用程式的 &os; 系統映像檔,
- 以便存放到 Compact Flash 卡(或隨身碟,mass storage medium)。
+ 以便存放到 Compact Flash 卡(或其他儲存裝置)。
這一工具也可以用來自製安裝映像檔,
- 以簡化俗稱為 嵌入式系統(computer appliances)
的系統安裝、維護工作。
+ 以簡化俗稱為 嵌入式系統(computer appliances)
的系統安裝、維護工作。
通常,每個嵌入式系統產品都有限定硬體和軟體,
或者換言之,所有的應用程式都是預先裝好的。
- 這些設備可以直接放到現有的網路中,而且(幾乎是)立即使用。
+ 這些設備可以直接放到現有的網路中,而且(幾乎是)立即使用。
NanoBSD 提供的功能包括:
@@ -89,8 +83,8 @@
NanoBSD 的設計
- 一旦將映像檔存入嵌入式硬體,就可以用它來引導 NanoBSD
- 了。 預設情況下,隨身碟會劃分為三部分:
+ 一旦將映像檔存入嵌入式硬體,就可以用 NanoBSD
+ 開機。預設情況下,儲存裝置會劃分為三部分:
@@ -100,22 +94,23 @@
一個設定檔分割區,在運行環境中,
- 可以將其掛載(mount)到 /cfg 目錄下。
+ 可以將其掛載(mount)到 /cfg 目錄
+ 下。
這些分割區,在預設情況下是以唯讀方式掛載。
- /etc 和
- /var 目錄均為
- &man.md.4;(malloc)磁碟。
+ /etc 和
+ /var 目錄均為
+ &man.md.4;(malloc)磁碟。
設定檔的分割區則是在
- /cfg 目錄。
- 它包含了用於 /etc
- 目錄的檔案,在啟動之後暫時以唯讀方式掛載。 因此,若想要重開機保留新的設定,
- 那麼要記得從 /etc 把改過的檔案複製回
- /cfg 目錄才行。
+ /cfg 目錄。
+ 它包含了 /etc
+ 目錄的檔案,在啟動之後暫時以唯讀方式掛載。因此,若想要重開機後保留新的設定,
+ 那麼要記得把改過的檔案從 /etc 複製回
+ /cfg 目錄才行。
把修改過 /etc/resolv.conf 設定保存起來
@@ -129,12 +124,12 @@
只有在系統啟動過程中,以及需要修改設定檔的時候,才需要掛載含有
- /cfg 的那個分割區。
+ /cfg 的分割區。
- 一直都掛載 /cfg
+ 一直掛載 /cfg
不是一個好主意,特別是當您把 NanoBSD
- 放在不適合進行大量寫入動作的分割區時
- (比如:由於檔案系統的同步化會定期在系統碟內寫入資料)。
+ 放在不適合進行大量寫入動作的儲存裝置時
+ (比如:由於檔案系統的同步化會定期在系統碟內寫入資料)。
@@ -143,8 +138,8 @@
NanoBSD 映像檔是透過使用非常簡單的
nanobsd.sh shell script 來打造的,這個 script 可以在
- /usr/src/tools/tools/nanobsd
- 目錄中找到。 這個 script 建立的映像檔,可以用 &man.dd.1; 工具來複製到隨身碟上。
+ /usr/src/tools/tools/nanobsd
+ 目錄中找到。這個 script 建立的映像檔,可以用 &man.dd.1; 工具來複製到隨身碟上。
打造
NanoBSD 映像檔所需的指令是:
@@ -168,7 +163,7 @@
- 在隨身碟上安裝 NanoBSD。
+ 將 NanoBSD 安裝到儲存裝置上。
@@ -177,16 +172,16 @@
自行打造 NanoBSD 映像檔
這可能是 NanoBSD 最為重要,
- 同時也是您最感興趣的功能。 同時,在開發
- NanoBSD 應用程式時,這也是相當耗時的過程。
+ 同時也是您最感興趣的功能。同時,在開發
+ NanoBSD 時,這也最耗時間的過程之一。
- 執行下面的指令將會
- nanobsd.sh 讀取目前所在目錄的
+ 執行下面的指令會使
+ nanobsd.sh 目前所在的目錄讀取
myconf.nano 檔的設定:
&prompt.root; sh nanobsd.sh -c myconf.nano
- 自行打造的流程,只需兩個步驟:
+ 自行打造的流程,有兩種方式:
@@ -202,42 +197,45 @@
自訂選項
透過修改設定,可以設定用於
- NanoBSD 打造過程中 buildworld
- 和 installworld 階段的編譯、安裝選項,以及
- NanoBSD 主要打造過程中的選項。
- 透過使用這些選項可以削減系統的尺寸,使之能夠放入
- 64 MB 的隨身碟。 您還可以進一步透過這些選項來削減 &os;,
+ NanoBSD 打造過程中 buildworld
+ 和 installworld 階段的編譯、安裝選項,以及
+ NanoBSD 主要打造過程中內部的選項。透
+ 過這些選項可以削減系統的尺寸,使之能夠放入
+ 64 MB 的隨身碟。您還可以進一步透過這些選項來削減 &os;,
直到它只包含 kernel 以及兩三個 userland 檔案為止。
- 設定檔案中包含用以代替預設值的設定選項。簡介最重要的幾項設定如下:
+ 設定檔案中包含用以代替預設值的設定選項。最重要的幾項設定如下:
- NANO_NAME — 本次打造的名稱(所建立工作目錄的名稱)。
+ NANO_NAME —
+ 本次打造的名稱(所建立工作目錄的名稱)。
- NANO_SRC — 用以編譯、打造映像檔的 source tree 的位置。
+ NANO_SRC — 用以編譯、打造映像檔的
+ source tree 的位置。
- NANO_KERNEL — 設定用來編譯的 kernel 設定檔檔名。
+ NANO_KERNEL — 設定用來編譯 kernel
+ 的設定檔檔名。
CONF_BUILD — 用於
- buildworld 打造階段的選項。
+ buildworld 階段的選項。
CONF_INSTALL — 用於
- installworld 打造階段的選項。
+ installworld 階段的選項。
CONF_WORLD — 用於
- buildworld 和
- installworld 這兩個打造階段的選項。
+ buildworld 和
+ installworld 這兩個階段的選項。
@@ -250,49 +248,67 @@
自訂功能
- 透過在設定檔案中使用 shell 函數,可以進一步微調
- NanoBSD。 舉例說明一下自行打造函數的基本方式:
+ 透過在設定檔案中使用 shell 函式,可以進一步微調
+ NanoBSD。舉例說明一下自訂函式的基本方式:
- cust_foo()(
+ cust_foo () (
echo "bar=topless" > \
${NANO_WORLDDIR}/etc/foo
)
customize_cmd cust_foo
- 下面舉更實際點的例子,它會把預設的
- /etc 目錄大小,從 5MB 調整為 30MB:
+ 下面舉更實際點的例子,它會把 /etc
+ 目錄預設的大小,從 5MB 調整為 30MB:
- cust_etc_size()(
+ cust_etc_size () (
cd ${NANO_WORLDDIR}/conf
echo 30000 > default/etc/md_size
)
customize_cmd cust_etc_size
- 除此之外,還有幾個預設的功能定義可以用來自訂:
+ 除此之外,還有幾個預設的自訂函式可以使用:
- cust_comconsole — 在預設 VGA 顯示卡上停用 &man.getty.8;
- (/dev/ttyv*)並啟用 serial port 的 COM1 以作為系統 console。
+ cust_comconsole — 在 VGA 裝置上停用
+ &man.getty.8;(/dev/ttyv*)並啟用 serial port
+ 的 COM1 以作為系統 console。
- cust_allow_ssh_root — 允許 &man.sshd.8;
- 可以用 root 帳號登入。
+ cust_allow_ssh_root — 允許
+ root 可以用 &man.sshd.8; 登入。
cust_install_files —
- 從 nanobsd/Files
- 目錄中安裝檔案,這包含一些實用的系統管理 script 。
+ 從 nanobsd/Files
+ 目錄中安裝檔案,這包含一些實用的系統管理 script。
- 設定檔案舉例
+ 安裝 packages
+
+ Packages 可以藉由自訂函式加入 NanoBSD
+ 的印象檔。下面的函式會安裝位於
+ /usr/src/tools/tools/nanobsd/packages
+ 的 packages:
+
+ install_packages () (
+mkdir -p ${NANO_WORLDDIR}/packages
+cp /usr/src/tools/tools/nanobsd/packages/* ${NANO_WORLDDIR}/packages
+chroot ${NANO_WORLDDIR} sh -c 'cd packages; pkg_add -v *;cd ..;'
+rm -rf ${NANO_WORLDDIR}/packages
+)
+customize_cmd install_packages
+
+
+
+ 設定檔案範例
- 下面是用於自行打造的 NanoBSD 映像檔的完整例子:
+ 下面是用於自行打造的 NanoBSD 映像檔的完整範例:
NANO_NAME=custom
NANO_SRC=/usr/src
@@ -335,7 +351,7 @@
FlashDevice SanDisk 1G
-cust_nobeastie()(
+cust_nobeastie() (
touch ${NANO_WORLDDIR}/boot/loader.conf
echo "beastie_disable=\"YES\"" >> ${NANO_WORLDDIR}/boot/loader.conf
)
@@ -358,12 +374,13 @@
- 將新的映像檔放入正運行的
+ 將新的映像檔上傳至正在運行的
NanoBSD 中未用的分割區之一。
與之前最初安裝 NanoBSD 的步驟相比,
- 這一步驟最重要的區別在於:這次不用 _.disk.full 檔(它包含整個磁碟的映像檔),
- 而應安裝 _.disk.image 映像檔(這個檔案中,只包含一個系統分割區)。
+ 這一步驟最重要的區別在於:這次不用 _.disk.full
+ 檔(它包含整個磁碟的映像檔), 而應安裝 _.disk.image
+ 映像檔(這個檔案中,只包含一個系統分割區)。
@@ -376,20 +393,20 @@
如果發生了任何問題,則可以從先前的分割區啟動
- (其中包含了舊的、 可用的映像檔),來盡快恢復系統功能。
- 接下來可以修正新編譯的版本中存在的問題,並重複前述步驟。
+ (其中包含了舊的、可用的映像檔),來盡快恢復系統功能。
+ 接下來可以修正新編譯的版本中存在的問題,並重複前述步驟。
要在正在運行的
NanoBSD 系統中安裝新的映像檔,可以使用位於
- /root 目錄的
+ /root 目錄的
updatep1 或
- updatep2 script ,
+ updatep2 script ,
實際上要用哪一個 script,則取決於正在運行的系統是位於哪個分割區而定。
- 隨時提供新 NanoBSD 映像檔所提供的服務,
- 以及採用的傳輸方法的不同,您可以參考並使用下列三種方式之一:
+ 視提供新 NanoBSD 映像檔的主機所提供的服務,
+ 以及希望採用的傳輸方式,您可以參考並使用下列三種方式之一:
使用 &man.ftp.1;
@@ -403,7 +420,7 @@
使用 &man.ssh.1;
- 如果想更安全的話,應參考下面例子:
+ 如果想使用加密連線的話,應參考下面例子:
&prompt.root; ssh myhost cat _.disk.image.gz | zcat | sh updatep1
@@ -415,7 +432,8 @@
- 首先,在提供映像檔的主機上開啟 TCP listen,並讓它把映像檔傳給 client:
+ 首先,在提供映像檔的主機上開啟 TCP listener,並讓它把映像檔傳給
+ client:
myhost&prompt.root; nc -l 2222 < _.disk.image
@@ -425,7 +443,7 @@
- 連到提供新映像檔服務的主機,並執行 updatep1 這支 script:
+ 連到提供新映像檔的主機,並執行 updatep1 這支 script:
&prompt.root; nc myhost 2222 | sh updatep1
--- nanobsd-article.sgml.patch ends here ---