TQ3568 Buildroot文件系统终端上支持中文显示调试方法
  wDOpcppy43kD 2023年11月02日 40 0

TQ3568 Buildroot文件系统终端上支持中文显示调试方法


TQ3568 Buildroot文件系统终端上支持中文显示调试方法_git



修改busybox配置单

如果是buildroot 则 make busybox-menuconfig ARCH=arm64diff --git a/rootfs/buildroot/package/busybox/busybox.config b/rootfs/buildroot/package/busybox/busybox.config
index 02b1ee1..abc857e 100644
--- a/rootfs/buildroot/package/busybox/busybox.config
+++ b/rootfs/buildroot/package/busybox/busybox.config
@@ -26,14 +26,14 @@ CONFIG_FEATURE_VERBOSE_USAGE=y
CONFIG_BUSYBOX=y
CONFIG_FEATURE_INSTALLER=y
# CONFIG_INSTALL_NO_USR is not set
-# CONFIG_LOCALE_SUPPORT is not set
-# CONFIG_UNICODE_SUPPORT is not set
+CONFIG_LOCALE_SUPPORT=y
+CONFIG_UNICODE_SUPPORT=y
# CONFIG_UNICODE_USING_LOCALE is not set
-# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set
-CONFIG_SUBST_WCHAR=0
-CONFIG_LAST_SUPPORTED_WCHAR=0
+CONFIG_FEATURE_CHECK_UNICODE_IN_ENV=y
+CONFIG_SUBST_WCHAR=63
+CONFIG_LAST_SUPPORTED_WCHAR=40907
# CONFIG_UNICODE_COMBINING_WCHARS is not set
-# CONFIG_UNICODE_WIDE_WCHARS is not set
# 这个好像可以不用.
+CONFIG_UNICODE_WIDE_WCHARS=y
# CONFIG_UNICODE_BIDI_SUPPORT is not set
# CONFIG_UNICODE_NEUTRAL_TABLE is not set
# CONFIG_UNICODE_PRESERVE_BROKEN is not set
@@ -805,13 +805,13 @@ CONFIG_ARPING=y

TQ3568 Buildroot文件系统终端上支持中文显示调试方法_ico_02


修改busybox源码

busybox-1.34.1From eb3ae4ea53dde8018524a0ed9dc08a65625197cc Mon Sep 17 00:00:00 2001
From: "hero.huang"<hero.huang@rock-chips.com style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important;">
Date: Wed, 23 Aug 2017 11:33:47 +0800
Subject: [PATCH 3/4] busybox: support chinese display in terminal

Signed-off-by: hero.huang<hero.huang@rock-chips.com style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important;">
---
libbb/printable_string.c | 4 +---
libbb/unicode.c | 4 ++--
2 files changed, 3 insertions(+), 5 deletions(-)

diff --git a/libbb/printable_string.c b/libbb/printable_string.c
index a814fd0..f4c7b00 100644
--- a/libbb/printable_string.c
+++ b/libbb/printable_string.c
@@ -28,8 +28,6 @@ const char* FAST_FUNC printable_string2(uni_stat_t *stats, const char *str)
}
if (c < ' ')
break;
- if (c >= 0x7f)
- break;
s++;
}

@@ -42,7 +40,7 @@ const char* FAST_FUNC printable_string2(uni_stat_t *stats, const char *str)
unsigned char c = *d;
if (c == '\0')
break;
- if (c < ' ' || c >= 0x7f)
+ if (c < ' ')
*d = '?';
d++;
}
diff --git a/libbb/unicode.c b/libbb/unicode.c
index e98cbbf..677db1f 100644
--- a/libbb/unicode.c
+++ b/libbb/unicode.c
@@ -1027,7 +1027,7 @@ static char* FAST_FUNC unicode_conv_to_printable2(uni_stat_t *stats, const char
while ((int)--width >= 0);
break;
}
- *d++ = (c >= ' ' && c < 0x7f) ? c : '?';
+ *d++ = (c >= ' ') ? c : '?';
src++;
}
*d = '\0';
@@ -1035,7 +1035,7 @@ static char* FAST_FUNC unicode_conv_to_printable2(uni_stat_t *stats, const char
d = dst = xstrndup(src, width);
while (*d) {
unsigned char c = *d;
- if (c < ' ' || c >= 0x7f)
+ if (c < ' ')
*d = '?';
d++;
}
--
2.20.1

设置文件系统

1.设置环境变量

export LC_ALL="zh_CN.UTF-8" export LANG="zh_CN.UTF-8"

2.确认文件系统中ls是不是指向 busybox3.增加挂载时字符选择diff --git a/buildroot-201611/target/user_rootfs_extra/etc/udev/scripts/mount.sh b/buildroot-201611/target/user_rootfs_extra/etc/udev/scripts/mount.sh
index 29a4f48..817a4aa 100755
--- a/buildroot-201611/target/user_rootfs_extra/etc/udev/scripts/mount.sh
+++ b/buildroot-201611/target/user_rootfs_extra/etc/udev/scripts/mount.sh
@@ -31,7 +31,7 @@ automount() {
# grant it with w/r/x permissions.
case $ID_FS_TYPE in
vfat|fat)
- MOUNT="$MOUNT -o umask=007,gid=`awk -F':' '/^disk/{print $3}' /etc/group`"
+ MOUNT="$MOUNT -o iocharset=utf8,umask=007,gid=`awk -F':' '/^disk/{print $3}' /etc/group`"
;;
# TODO
*)

其它问题

理论上应该可以了,如果不行试下:1.minicom上有可能不支持utf-8显示,可以使用命令 minicom -D /dev/ttyUSB0 -R utf82.在内核配置要加上CONFIG_NLS=y,CONFIG_NLS_UTF8=y,CONFIG_NLS_CODEPAGE_936=y(这个最好也加上)



【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  X5zJxoD00Cah   2023年11月19日   35   0   0 管理系统githtml
  DF5J4hb0hcmT   2023年12月12日   25   0   0 服务器git
  llt0tXqeaug8   2023年11月19日   27   0   0 数据Xen文件系统
  DF5J4hb0hcmT   2023年11月19日   35   0   0 git
wDOpcppy43kD