A40i开发板,Linux系统如果设置中文输入法

原创 2023-03-09 15:41:00 a40i linux如何设置中文 linux中文输入 linux系统中文显示

本文主要介绍在Linux系统中,如何设置中文输入语音?当你试着在Linux系统里面输入中文,会呈现一片乱码在你面前,这是因为Linux系统的默认语言是英文。但是如果可以显示中文的话,那么在使用过程中的便利程度一定会大大提升。今天小编就通过飞凌嵌入式的OKA40i-C开发板来为大家演示让Linux系统显示中文的修改方法。

A40i

点击索取产品资料



正文开始:A40i Linux系统如何支持中文输入法


STEP 1

如果之前使用的是全源码编译方式对源码进行编译处理的,就可以直接往下走;如果之前有更改过源码部分,且使用的是单步编译,则需要重新解压一份OKA40i-C开发板的源码,进入该源码的lichee文件夹,执行sudo ./build.sh进行一次全编译,耗时会有点长,需要耐心的等待。

STEP 2

在新的源码全编译的过程中,到之前使用的源码里面做一些准备工作吧;要是更改过程中遇到只读等权限问题,打开的时候加上sudo就好了。

01. 

首先在lichee下面找到linux-3.10/.config这个配置文件,将里面的iso8859-1全部替换成utf8,就像下面这样,一共有两处。行前面的“-”表示去掉,“+”表示添加上。

FAT使用的默认输入/输出字符集:

-CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"

+CONFIG_FAT_DEFAULT_IOCHARSET="utf8"


挂载文件系统时使用的默认NLS

-CONFIG_NLS_DEFAULT=" iso8859-1"

+CONFIG_NLS_DEFAULT="utf8"

02. 

out/sun8iw11p1/linux/common/buildroot/target/etc/inputrc 

在上方lichee中的文件中添加两行命令

03. 

lichee/out/sun8iw11p1/linux/common/buildroot/target/root

然后到上方路径下创建一个.vimrc文件,打开.vimrc文件,在里面添加上三行命令:

set fileencodings=utf-8,gb2312,gbk,gb18030

set termencoding=utf-8

set encoding=utf8

STEP 3

现在,新的源码已经全部编译完成了,在新源码的里面找到busybox-1.25.1这个文件夹。进入以下路径:

lichee/out/sun8iw11p1/linux/common/buildroot/build/busybox-1.25.1

01. 

执行make menuconfig ARCH=arm进入busybox的图形化编辑界面。

Busybox Settings  ---> General Configuration  --->

[*] Enable locale support (system needs locale for this to work)

[*] Support Unicode

[*] Use libc routines for Unicode (else uses internal ones)

(65533) Character code to substitute unprintable characters with

(195102) Range of supported Unicode characters

更改好之后一路Exit退出,最后选择yes保存配置。

02. 

然后更改busybox-1.25.1文件夹路径下的文件
libbb / printable_string.c,

搜索0x7f,删除以下两行:

将这里更改为

-if (c < ' ' || c >= 0x7f)

+if (c < ' ')



03. 

更改libbb/unicode.c文件,先找到这样一段:static char* FAST_FUNC。然后将里面的1022行和1030行进行修改:

*d++ = (c >= ' ' && c < 0x7f) ? c : '?';

修改为*d++ = (c >= ' ') ? c : '?';

if (c < ' ' || c >= 0x7f)

修改为if (c < ' ')

修改完成之后,删除.stamp_built文件和.stamp_target_installed文件,返回到lichee文件夹下面,重新进行全编译sudo ./build.sh操作。

在out/sun8iw11p1/linux/common/buildroot/target/bin路径后面会生成一个busybox的可执行文件,将这个叫busybox的可执行文件替换到需要中文源码的相同路径下面——

lichee/out/sun8iw11p1/linux/common/buildroot/target/bin里面。

STEP 4

最后,在需要中文的那一份源码里面进行内核编译,打包文件系统,打包镜像操作,再将镜像烧录到OKA40i-C开发板里面就可以显示中文了。

sudo ./build.sh -m kernel

sudo ./build.sh -m pack_rootfs

sudo ./build.sh pack

最后我们来验证一下。可以看到此时已经可以直接进行中文输入了,并且和windows对接的中文文件可以直接显示查看。



结语

Linux系统中文显示的更改其实就是更改内核的字符集和打开busybox的显示封锁,第一次编译好后,以后需要中文的busybox可以直接使用这次的busybox进行替换,节省了很多的工作量。更改完成之后就可以在OKA40i-C开发板的Linux系统上面编辑和查看中文了。



相关产品 >

  • FETA40i-C核心板

    Allwinner A40i是全志开发的一款工业级处理器,A40i作为全国产工业级芯片中的佼佼者,采用更低功耗的4核ARM Cortex-A7架构,工作温度-40-85℃,是一款高性能低功耗超高性能CPU主芯片。飞凌嵌入式深度研究全志A40i芯片参数、原理图、datasheet规格书推出了以FETA40i核心板为主的一系列全国产工业级嵌入式计算机板卡,并提供了用于评估的A40i工控板、 A40i开发板。 了解详情
    FETA40i-C核心板
  • OKA40i-C开发板

    国产工业级,高清输出,丰富接口|OKA40i开发板采用底板+核心板结构,基于全志工控行业平台级处理器四核Cortex-A7 A40i设计,主频1.2GHz,集成MAli400MP2 GPU,内存1GB/2GB DDR3L,存储8GB eMMC。 全志A40i工控行业芯片平台 A40i为国产工控行业芯,全志A40i处理器代表了Allwin在智能工业控制领域的成就。飞凌嵌入式A40i系列OKA40i-C开发板是飞凌推出的一款中国芯,全国产级工业级开发板,适用于适用于基于视觉交互的工业控制产品 了解详情
    OKA40i-C开发板

推荐阅读 换一批 换一批