- 论坛徽章:
- 0
|
包含NTFS格式的GBFS for FreeBSD 4.x 已经做好
我贴:
big5fs - Joliet, VFAT 和 NTFS 檔案系統的中文顯示
如果您的電腦是 FreeBSD 與 VFAT (Windows95/9 或是 NTFS (Windows NT/2000) 並存, 而且又須要存取 DOS 檔案系統或是 NTFS 檔案系統的中文檔名, 或是需要讀取 Joliet (CDROM) 內的中文, 請依照以下的步驟進行。它會安裝三個 kernel 模組, cd9660.ko, msdos.ko(msdosfs.ko) 和 ntfs.ko, 將可以讓使用者讀取在 Joliet, VFAT 和 NTFS 檔案系統上的 中文檔名。
必須把 kernel 中的 options MSDOSFS 與 options CD9660 comment 掉,並重新 make kernel 後,並且重新開機後,才能安裝 big5fs。 因為上面的 kernel 選項會和這個 port 所安裝的 kernel 模組有衝突, 而 kernel 選項會比 kernel 模組優先, 也沒辦法關閉這些選項來讓 kernel 使用 kernel 模組, 所以就一定得重編 kernel。 不然當安裝完後,執行 big5fs.sh 就會出現 kldload: can't load cd9660: File exists 或是 module_register: module cd9660 already exists! linker_file_sysinit "cd9660.ko" failed to register! 17 之類的錯誤訊息,代表著模組有衝突,可能是已經設定為 kernel 選項, 或是已經用 kldload 載入了。
--- GENERIC.orig Fri May 16 17:39:13 2003
+++ GENERIC Wed May 28 03:37:52 2003
@@ -38,8 +38,8 @@
options MD_ROOT #MD is a potential root device
options NFS #Network Filesystem
options NFS_ROOT #NFS usable as root device, NFS required
-options MSDOSFS #MSDOS Filesystem
-options CD9660 #ISO 9660 Filesystem
+#options MSDOSFS #MSDOS Filesystem
+#options CD9660 #ISO 9660 Filesystem
options CD9660_ROOT #CD-ROM usable as root, CD9660 required
options PROCFS #Process filesystem
options COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!]
在安裝前先檢查 /usr/src/sys 目錄要已有了, 若沒可用 /stand/sysinstall 和安裝光碟安裝。 由於 kernel 模組和系統有相依性, 必須取得你當時安裝時的 kernel 版本才行。
chinese/big5fs 的安裝:
# cd /usr/ports/chinese/big5fs
# make install
安裝好後,執行 /usr/local/etc/rc.d/big5fs.sh 就會載入上述的模組, 好讓 mount 指令能使用這些模組,通常也會在開機時自動執行, 以防 mount 指令直接讀取了 /modules 底下的 kernel 模組。
如果不確定那些分割區可以 mount,可以用 /stand/sysinstall 的 Configure ->; Label 取得。
以筆者為例,筆者有個 ad0s3 的分割區,所以先 mkdir -p /mnt/ad0s3,然後用 mount -t msdos /dev/ad0s3 /mnt/ad0s3 將該分割區 mount 起來測試看看, 如果確定可以的話,寫入 /etc/fstab:
/dev/ad0s3 /mnt/ad0s3 msdos ro,noauto 0 0
然後加個 /usr/local/etc/rc.d/big5mount.sh ,裡面按照 rc.d 的規則在 start 的地方執行 mount /mnt/ad0s3 就可以了, 也可以在 stop 時候加上相對應的指令來 umount。 注意 rc.d 裡的 *.sh 會依字母順序執行,所以新的 xx.sh 一定要在 big5fs.sh 後面, 才能確定已經載入 kernel 模組。
本來考慮使用 mount_msdos 的方式並修改該 table,不過因為 table 太小,沒辦法容納如此多的中文字元所以沒辦法實行。
The following example fstab(5) entry enables support for Russian
filenames in mounted MS-DOS filesystems:
/dev/ad0s2 /dos/c msdos rw,-W=koi2dos,-L=ru_RU.KOI8-R 0 0
See mount_msdos( for a detailed description of the -W and -L options. |
|