开发板为韦东山老师的imx6ull开发板。
在/home/book/nfs_rootfs/下创建一个文件夹:
使用tar指令解压busybox-1.31.1
tar -vxfj busybox-1.31.1.tar.ba2
解压完后内容如下:
1、打开busybox的顶层的Makefile,添加ARCH和CROSS_COMPILE的值
164 CROSS_COMPILE ?= /home/book/100ask_imx6ull-sdk/ToolChain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf
......
190 ARCH ?= arm
2、busybox中文字符支持
打开文件busybox-1.31.1/libbb/printable_string.c,修改printab_string函数
第 31 和 32 行,当字符大于 0X7F 以后就跳出去了。
第 45 和 46 行,如果支持 UNICODE 码的话,当字符大于 0X7F 就直接输出‘?’。
所以我们需要对这 4 行代码进行修改,修改以后如下所示:
12 const char* FAST_FUNC printable_string(uni_stat_t *stats, const char
*str)
13 {
14 char *dst;
15 const char *s;
16
17 s = str;
18 while (1) {
......
30 if (c < ' ')
31 break;
32 /* 注释掉下面这个两行代码 */
33 /* if (c >= 0x7f)
34 break; */
35 s++;
36 }
37
38 #if ENABLE_UNICODE_SUPPORT
39 dst = unicode_conv_to_printable(stats, str);
40 #else
41 {
42 char *d = dst = xstrdup(str);
43 while (1) {
44 unsigned char c = *d;
45 if