7)支持nls-cp936
make kernel_menuconfig
File systems ---》 《M》 Native language support ---》
《M》 Codepage 437 (United States, Canada)
《M》 Simplified Chinese charset (CP936, GB2312)
保存退出
// build_dir/target-mips_r2_uClibc-0.9.33.2/linux-ar71xx_generic/linux-3.7.9/.config 》 target/linux/ar71xx/config-3.7
---------------------------------- end ----------------------------------------------------
make V=99
ls -lh linux-3.7.9/fs/nls/nls_cp936.ko ##上面選擇編譯的 cp936內核模塊
web界面上升級 bin/ar71xx/openwrt-ar71xx-generic-tl-wdr4310-v1-squashfs-sysupgrade.bin
然后登錄web界面到 系統--》掛載點 上配置并啟用, 注意“高級設置”里的“掛載選項”填 rw,sync,codepage=936,iocharset=cp936 掛載點填 /www/mnt,
文件系統選 vfat 。
實際是配置文件:
cat /etc/config/fstab
config global ‘automount’
option from_fstab ‘1’
option anon_mount ‘1’
config global ‘autoswap’
option from_fstab ‘1’
option anon_swap ‘0’
config swap
option device ‘/dev/sda2’
option enabled ‘0’
config mount
option device ‘/dev/sda1’
option target ‘/www/mnt’
option enabled_fsck ‘1’
option enabled ‘1’
option fstype ‘vfat’
-------------------------------------------- end ---------------------------------------------------------
cat /etc/fstab ## 查看是否自動生效了
mount ## 查看是否mount上
注意 插入U盤 自
動掛載時會創建 /www/mnt目錄的 (如果該掛載點不存在的話)
-- 掛載USB盤支持中文
scp nls_cp936.ko root@192.168.123.1:/lib/modules/3.7.9/ ##
insmod nls_cp936.ko
reboot 重啟路由
mount -t vfat -o codepage=936,iocharset=cp936 /dev/sda1 /www/mnt
vi /etc/modules.d/25-nls-cp437
ls /etc/modules-boot.d/ ##在系統啟動后按序號的順序來 insmod 這些模塊
因為上面是沒有支持內核模塊 nls-cp936, see “-- 將nls_cp936添加到 Kernel modules中”, 將它支持進去。
-- 將nls_cp936添加到 Kernel modules中
在上文支持文件系統的本地語言中,我們在 make menuconfig 的Kernel modules —》 Native Language Support —》 并沒有找到 nls_cp936, 只有nls_cp437,
而在 make kernel_menuconfig 中的File systems ---》 《M》 Native language support ---》 是有936這個內核模塊的, 所以我們怎樣把它添加到
Kernel modules 中呢, 參考 nls.mk 中的 nls-437,
在nls.mk中增加:
define KernelPackage/nls-cp936
SUBMENU:=Native Language Support
TITLE:=Simplified Chinese charset (CP936, GB2312)
KCONFIG:=CONFIG_NLS_CODEPAGE_936
FILES:=$(LINUX_DIR)/fs/nls/nls_cp936.ko
AUTOLOAD:=$(call AutoLoad,25,nls_cp936)
$(call AddDepends/nls)
endef
define KernelPackage/nls-cp936/description
Kernel module for NLS Codepage 936 (CP936, GB2312)
endef
$(eval $(call KernelPackage,nls-cp936))
----------------------------------------------- end -------------------------------------------------
退出保存。
cd ~/work/openwrt/trunk
make kernel_menuconfig
File systems ---》 《 》 Native language support ##不選這個 (因為我上面選了它)
make menuconfig
Kernel modules ---》 Native Language Support ---》 《*》 kmod-nls-cp936.。。。。。。。。。。。。。。。 Simplified Chinese charset (CP936, GB2312)
保存退出。
make V=99
ls bin/ar71xx/packages/*nls*
kmod-nls-cp936_3.7.9-1_ar71xx.ipk
然后web界面上升級 bin/ar71xx/openwrt-ar71xx-generic-tl-wdr4310-v1-squashfs-sysupgrade.bin
評論