0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

只需4步,让OKA40i-C开发板的Linux系统拥有中文显示

飞凌嵌入式 2023-03-03 13:53 次阅读

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

poYBAGQBhWKAe_T8AAgkfMdRcm0825.pngOKA40i-C开发板

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"

poYBAGQBhbiAFw4QAAAmF7vrjhM169.png

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

-CONFIG_NLS_DEFAULT=" iso8859-1" +CONFIG_NLS_DEFAULT="utf8"

pYYBAGQBhdKAax_FAAATCNL73ak204.png

02.

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

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

pYYBAGQBhiyAdFHBAAA5-hytgMg144.png

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

poYBAGQBhlmAATUlAAAX23Mw6sM040.png

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

pYYBAGQBhvmAI2JuAABSLr7fqMY086.png

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

02.

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

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

pYYBAGQBh1-AXjbqAAAYIwjCzj0539.png

将这里更改为

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

+if (c < ' ')

poYBAGQBh3OAZrxOAAAf4DIH0lU714.png

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里面。

poYBAGQBh52AF72cAACN8Ss6HDE622.png

STEP 4

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

sudo ./build.sh -m kernel sudo ./build.sh -m pack_rootfs sudo ./build.sh pack

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

poYBAGQBh8eAfAuhAAAQTws4_mk644.pngpYYBAGQBh-uASqnyAAAUDIT8ryg241.png

结语

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    10986

    浏览量

    206711
  • 开发板
    +关注

    关注

    25

    文章

    4417

    浏览量

    93911
  • 系统
    +关注

    关注

    1

    文章

    981

    浏览量

    21031
收藏 人收藏

    评论

    相关推荐

    【米尔-全志T113-i开发板试用】米尔-全志T113-i开发环境搭建

    首先感谢MYIR & ELECFANS给与的使用米尔-全志T113-i开发板的机会。 一、开发板简介 米尔-全志T113-i开发板
    发表于 03-01 21:43

    fpga开发板linux开发板区别

    (Field-Programmable Gate Array)是一种可编程逻辑器件,它可以通过编程改变硬件逻辑电路的功能和结构。FPGA采用了可编程的门极,可以根据需要重新配置内部电路,从而实现不同的功能和逻辑关系。而Linux开发板则是一种嵌入式计算机平台,其核心是
    的头像 发表于 02-01 17:09 561次阅读

    【核桃派1B 开发板试用体验】0基础小白该如何玩转LINUX开发板

    变成了吃灰神器!为了大家更好的入门LINUX开发板,我做了以下流程图,并通过这篇帖子跟大家一起了解下具体的“玩法”! 拿到核桃派1b开发板的第一
    发表于 01-02 16:32

    【全志T113-i】OK113i-S开发板-2适配10寸LCD显示

    前言本文介绍如何在OK113i-S开发板上适配一个自己的10寸LCD。OK113i-S 是一个优秀的开发板,支持lvds 单8,双8显示,最
    发表于 12-20 10:31

    【全志T113-i】OK113i-S开发板-适配10寸LCD显示

    前言本文介绍如何在OK113i-S开发板上适配一个自己的10寸LCD。OK113i-S 是一个优秀的开发板,支持lvds 单8,双8显示,最
    发表于 12-18 17:07

    基于瑞芯微 RV1103 芯片,微型 Linux 开发板LuckFox Pico Plus开发实践

    、UART、SPI、I2C、USB 等,便于快速开发和调试 1.开发板初体验 LuckFox Pico Plus是一款基于瑞芯微RV1103的开发板,并配有微型
    发表于 11-30 14:10

    全志A40i应用笔记 | 3种常见的网卡软件问题以及排查思路

    在飞凌嵌入式OKA40i-C开发板上虽然只有一个网口,但全志A40i-H处理器本身是有两个网络控制器的,因此在飞凌嵌入式提供的产品资料中提供了双网口解决方案。有的工程师小伙伴在开发过程
    发表于 11-08 10:02

    NPU跑起来iTOP_RK3588开发板Linux系统中使用NPU

    【iTOP-RK3588 开发板开发资料\\\\12_NPU 使用配套资料\\\\01_rknpu2 工具” 对于 RK3588 来说,Linux 平台 RKNN SDK 库文件为 librknnrt.so,如下
    发表于 09-12 10:05

    迅为i.MX8M Mini开发板一些功能

    提供在Android9系统上移植4G模块方法,并带大家一步调试率先提供如何通过SD卡启动Linux镜像,例如yocto debian ubuntu等文件
    发表于 09-05 10:30

    【米尔-STM32MP135开发板-入门级MPU试用】米尔-STM32MP135开发板轻松跑Linux

    OTG Type-C接口、1路Micro SD接口。 开发介绍 MYD-YF13X 搭载基于 Linux 5.15.67 版本内核的操作系统,提供了丰富的
    发表于 09-04 21:46

    全志A40i开发板SATA硬盘挂载

    【1】挂载SATA硬盘飞凌OKA40i-C开发板,提供了SATA接口,今天笔者试着挂载SATA硬盘。【硬件准备】 1、SSD硬盘,拆了一个N年前的容量120G的硬盘。 2、从报废的电源上剪下来D头转
    发表于 08-30 14:01

    新唐全新开发板Chili让你在40分钟内完成Linux下的应用开发

    新唐全新开发板Chili让你在40分钟内完成Linux下的应用开发
    的头像 发表于 08-10 11:30 364次阅读

    iTOP-RK3588 | Linux系统和应用开发手册

    iTOP -RK3588开发板使用手册上新,后续资料会不断更新,不断完善,帮助用户快速入门,大大提升研发速度。 迅为RK3588开发板已经对Linux系统完成适配,同时新增了对应的文档
    发表于 06-16 14:39

    STM32 Linux开发板丨STM32MP157开发板资料手册+实战教程+视频教程

    iTOP-STM32MP157开发板是基于意法半导体STARM双Cortex-A7核加单Cortex-M4核的一款多核异构处理器。Cortex-A7内核提供对开源操作系统Linux的支
    发表于 05-31 10:16

    A40i开发板SATA硬盘速率测试

    飞凌OKA40i-C开发板,提供了SATA接口,今天笔者试着挂载SATA硬盘。 【1】挂载SATA硬盘 【硬件准备】 1、SSD硬盘,拆了一个N年前的容量120G的硬盘。 2、从报废的电源上剪下来D
    发表于 05-22 15:39