《【北京迅为】itop-3568 开发板文件系统构建手册v1.0.pdf》学习笔记
上篇笔记中编译的 Buildroot 根文件系统默认不支持中文(不过 cat 和 vi 可以显示中文),这篇文章将介绍两种让 Buildroot 下的 busybox 支持中文字符显示的方法。
方式一,修改 busybox 源码
修改 busybox 源码这个方法已经在前面的笔记中有提及,具体步骤见: Busybox 制作最小文件系统——设置支持中文,这里不重复操作,Buildroot 的 busybox 源码路径为 output/build/busybox.1.35.0。
方式二,更改 busybox 配置
修改 busybox-menuconfig
打开终端,进入 Buildroot 根目录,输入 make busybox-menuconfig
,打开 busybox 配置菜单,进入第一个选项(Settings),然后打开 Support Unicode 配置(Settings 菜单的最后一项):
打开 Support Unicode 后,会出现若干个子选项(上图的后七个都是新增子选项),子选项需要修改以下三处内容:
第一处是开启检测 $LANG 等环境变量(后面需要用到),第二处是修改 busybox 支持的 Unicode 字符的 ASCII 码范围,填 0 表示不设限制(见下图),第三处是允许宽字符(用多个字节来代表的字符称之为宽字符,中文也属于宽字符)。
修改完成后,保存退出。
重新编译 Buildroot
在 Buildroot 根目录依次输入 make busybox
和 make
,完成 busybox 和 Buildroot 的编译。
烧录镜像到开发板
这一步直接参考上一篇笔记最后一节 制作文件系统镜像。
设置开发板编码格式
系统镜像烧录到开发板后,还需要设置 $LANG 环境变量,在 /etc/profile 文件最后一行添加 export LANG=zh_CN.UTF-8
如果没有设置 $LANG,ls 命令依然不会显示中文字符:
修改 /etc/profile 后,需要运行 source /etc/profile 或者重启系统,使修改生效,
此时 ls 已经可以正常显示中文字符。