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

    文章

    11364

    浏览量

    211034
  • 开发板
    +关注

    关注

    25

    文章

    5191

    浏览量

    98818
  • 系统
    +关注

    关注

    1

    文章

    1022

    浏览量

    21489
收藏 人收藏

    相关推荐

    Linux系统更换开机logo方法教程,触觉智能RK3562开发板演示

    本文介绍Linux系统更换开机logo方法教程,通用RK3566、RK3568、RK3588、RK3576等开发板,触觉智能RK3562开发板演示
    的头像 发表于 01-06 10:53 313次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>系统</b>更换开机logo方法教程,触觉智能RK3562<b class='flag-5'>开发板</b>演示

    Made with KiCad(九十四):M5Pi Linux嵌入式开发板

    “ 波哥大作,必须优先安排!M5Pi 是一款开源 Linux 嵌入式开发板,使用全志 F1C200s CPU,拥有漂亮的外壳。”
    的头像 发表于 12-25 14:53 290次阅读
    Made with KiCad(九十四):M5Pi <b class='flag-5'>Linux</b>嵌入式<b class='flag-5'>开发板</b>

    Tiva TM4C123G开发板用户指南

    电子发烧友网站提供《Tiva TM4C123G开发板用户指南.pdf》资料免费下载
    发表于 12-23 17:32 0次下载
    Tiva TM<b class='flag-5'>4C</b>123G<b class='flag-5'>开发板</b>用户指南

    瑞芯微主板/开发板Linux系统播放音频方法,触觉智能RK3562开发板演示

    本文介绍瑞芯微方案主板/开发板Linux系统播放音频的方法,触觉智能RK3562开发板演示,通用RK3566、RK3568、RK3588等
    的头像 发表于 12-13 11:40 422次阅读
    瑞芯微主板/<b class='flag-5'>开发板</b><b class='flag-5'>Linux</b><b class='flag-5'>系统</b>播放音频方法,触觉智能RK3562<b class='flag-5'>开发板</b>演示

    Linux系统挂载exfat格式U盘教程,触觉智能RK3562开发板演示

    本文介绍Linux系统(Ubuntu/Debian通用)挂载exfat格式U盘的方法,触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力
    的头像 发表于 12-10 10:10 327次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>系统</b>挂载exfat格式U盘教程,触觉智能RK3562<b class='flag-5'>开发板</b>演示

    【北京迅为】itop-3562开发板Linux系统中使用NPU

    【北京迅为】itop-3562开发板Linux系统中使用NPU
    的头像 发表于 11-25 14:52 524次阅读
    【北京迅为】itop-3562<b class='flag-5'>开发板</b>在<b class='flag-5'>Linux</b><b class='flag-5'>系统</b>中使用NPU

    如何在Linux系统实现屏幕旋转?触觉智能RK3568鸿蒙开发板演示

    本文介绍Linux系统实现屏幕旋转的方法,以解决产品形态的不同的展现方式,触觉智能EVB3568鸿蒙开发板演示,现已发布全新OpenHarmony5.0 Release固件!
    的头像 发表于 11-19 23:42 470次阅读
    如何在<b class='flag-5'>Linux</b><b class='flag-5'>系统</b>实现屏幕旋转?触觉智能RK3568鸿蒙<b class='flag-5'>开发板</b>演示

    i.MX Linux开发实战指南—基于野火i.MX系列开发板

    电子发烧友网站提供《i.MX Linux开发实战指南—基于野火i.MX系列开发板.pdf》资料免费下载
    发表于 10-10 17:23 12次下载

    嵌入式linux开发板怎么操作

    嵌入式Linux开发板是一种基于Linux操作系统的嵌入式系统开发平台。它通常包括一个处理器、内存、存储器、输入/输出接口等硬件组件,以及一
    的头像 发表于 09-02 09:09 522次阅读

    嵌入式linux开发板芯片的工作原理

    嵌入式Linux开发板是一种基于Linux操作系统的嵌入式系统开发平台,它广泛应用于工业控制、智能家居、智能交通、医疗设备等领域。 嵌入式
    的头像 发表于 09-02 09:07 529次阅读

    linux开发板与树莓派的区别

    定义和用途 Linux开发板Linux开发板是一种基于Linux操作系统的嵌入式
    的头像 发表于 08-30 15:34 1289次阅读

    linux开发板如何编译curl

    Linux开发板上编译 curl 库通常涉及到几个步骤,包括准备开发环境、下载源代码、配置编译选项以及执行编译和安装过程。以下是一个基本的指南,帮助你在Linux
    的头像 发表于 08-30 15:33 891次阅读

    linux开发板和单片机开发的区别

    、PIC等,处理能力和内存容量相对较低。 操作系统 Linux开发板通常使用Linux操作系统,具有丰富的软件资源和
    的头像 发表于 08-30 15:30 1423次阅读

    如何配置Linux操作系统设备树我的开发板可以将板子上的GPIO接口用作 I2S输出??

    我有一个香橙派开发板Zero 2W开发板, 板子GPIO接口可以承载I2S信号,已提供板子原理图*附件:OPi_ZERO 2W_SCH (1).pdf2 目前需要一个有效的 I2S
    发表于 08-13 17:10

    EVASH Ultra EEPROM 开发板使用说明书 简介

    ,该芯片是一款256Kb的EEPROM,具有I²C接口。开发板包含所有必要的组件,用于与微控制器和其他数字系统接口,非常适合开发、测试和原型
    的头像 发表于 07-01 09:39 597次阅读