• 正文
  • 推薦器件
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

如何在ELF 1開發(fā)板實(shí)現(xiàn)命令行顯示中文

2023/12/07
2157
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論
自busybox1.17.0以后的版本對中文的支持進(jìn)行了限制,命令行不做修改是無法顯示中文的。今天小編就帶各位小伙伴了解一下如何實(shí)現(xiàn)在busybox1.17.0以上版本對命令行顯示中文的支持。

步驟一、修改busybox-1.24.1源碼

busybox源碼下載地址:www.busybox.net

1.解壓busybox-1.24.1.tar.bz2

elf@ubuntu:~$ tar xvf busybox-1.24.1.tar.bz2

2.進(jìn)入解壓之后的busybox-1.24.1文件夾

elf@ubuntu:~$ cd busybox-1.24.1/

3.保留默認(rèn)配置

elf@ubuntu:~/busybox-1.24.1$ make defconfig

4.進(jìn)行圖形界面編輯

elf@ubuntu:~/busybox-1.24.1$ make menuconfig

(1)出現(xiàn)圖形界面選擇編譯進(jìn)busybox的功能選項(xiàng)

找到此選項(xiàng)按空格鍵切換狀態(tài),*為built-in。

這樣在安裝的時候會安裝到自己指定的目錄(default ./_install)。這個選項(xiàng)一定要選,否則make install后busybox將安裝在原系統(tǒng)的/usr下,這將覆蓋掉系統(tǒng)原有的命令。選擇這個之后,make install后會在busybox目錄下生成_install的目錄,里面有busybox和指向它的鏈接。

(2)在busybox中添加locale support支持

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)  
(63)Character code to substitute unprintable characters with修改為(65533)Character code to substitute unprintable characters with;
(767) Range of supported Unicode characters修改為(195102)Range of supported Unicode characters;

為什么是195102?中文在Unicode中的位置查了一下最高到U+2FA1D,隨便給這個值改了一個大于2FA1D(195101)的值。

(3)添加編譯過程中所需庫文件路徑

Busybox Settings
---> Build Options
--->() Cross Compiler prefix回車輸入/opt/fsl-imx-x11/4.1.15-2.0.0/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi
---->() Path to sysroot 回車輸入/opt/fsl-imx-x11/4.1.15-2.0.0/sysroots/cortexa7hf-neon-poky-linux-gnueabi/
--->() Additional CFLAGS 回車輸入-mfloat-abi=hard
--->() Additional LDLIBS 回車輸入-L/opt/fsl-imx-x11/4.1.15-2.0.0/sysroots/x86_64-pokysdk-linux/usr/bin/

(4)其他選項(xiàng)采用默認(rèn)配置,一路Exit,最后Yes保存。

5.修改busybox源碼

(1)修改./libbb/printable_string.c文件

找到31行和32行:

修改為:

找到45行:

修改為:

效果如下:

(2)修改./libbb/unicode.c文件

找到1022行:

修改為:

找到1030行:

修改為:

效果如下:

6.編譯、安裝

elf@ubuntu:~/busybox-1.24.1$ make

elf@ubuntu:~/busybox-1.24.1$ make install?(由于前面沒設(shè)置安裝位置將默認(rèn)安裝在本文件夾的_install文件夾下)

7.移植busybox到文件系統(tǒng)

(1)拷貝_install/bin下的busybox到文件系統(tǒng)的/bin目錄下

root@ELF1:~# rm /bin/busybox

root@ELF1:~# cp /run/media/sda1/busybox /bin

(2)給予權(quán)限

root@ELF1:~# chmod 777 /bin/busybox

(3)刪除舊鏈接文件

root@ELF1:~# rm /bin/ls

(4)形成新的鏈接文件

root@ELF1:~# ln -s /bin/busybox /bin/ls

步驟二、修改內(nèi)核

1.執(zhí)行環(huán)境變量

elf@ubuntu:~/linux-4.1.15-elf1$?. /opt/fsl-imx-x11/4.1.15-2.0.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi

2.生成.config文件

elf@ubuntu:~/linux-4.1.15-elf1$ make imx6ull_elf1_defconfig

3.進(jìn)入圖形配置界面

elf@ubuntu:~/linux-4.1.15-elf1$ make menuconfig

File systems 
--->DOS/FAT/NT Filesystems
--->(437) Default codepage for FAT修改為(936) Default codepage for FAT
--->(iso8899-1) Default iocharset for FAT修改為(utf8) Default iocharset for FAT

保存退出。

4.編譯

elf@ubuntu:~/linux-4.1.15-elf1$ cp .config arch/arm/configs/imx6ull_elf1_defconfig

elf@ubuntu:~/linux-4.1.15-elf1$?make imx6ull_elf1_defconfig

elf@ubuntu:~/linux-4.1.15-elf1$?make zImage

5.將新的內(nèi)核拷貝到開發(fā)板替換舊的內(nèi)核

root@ELF1:~# cp /run/media/sda1/zImage /run/media/mmcblk1p1/

root@ELF1:~# sync

斷電重啟。

步驟三、文件系統(tǒng)驗(yàn)證

把含有中文名稱文件的U盤插到開發(fā)板上,進(jìn)入U盤掛載路徑查看:

root@ELF1:~#?ls /run/media/sda1/

完成以上三個步驟,就可以實(shí)現(xiàn)在ELF 1開發(fā)板中的命令行顯示中文,希望能對屏幕前的小伙伴提供幫助。

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風(fēng)險等級 參考價格 更多信息
PC817X3NSZ1B 1 Sharp Corp Transistor Output Optocoupler, 1-Element, 5000V Isolation,

ECAD模型

下載ECAD模型
$0.54 查看
TORX1952A(F) 1 Toshiba America Electronic Components FIBER OPTIC RECEIVER
$8.35 查看
LTC2875HS8#PBF 1 Linear Technology LTC2875 - ±60V Fault Protected 3.3V or 5V 25kV ESD High Speed CAN Transceiver; Package: SO; Pins: 8; Temperature Range: -40°C to 125°C
$3.57 查看
飛凌嵌入式

飛凌嵌入式

保定飛凌嵌入式技術(shù)有限公司,創(chuàng)建于2006年,是一家專注嵌入式核心控制系統(tǒng)研發(fā)、設(shè)計(jì)和生產(chǎn)的高新技術(shù)企業(yè),是國內(nèi)較早專業(yè)從事嵌入式技術(shù)的企業(yè)之一。 經(jīng)過十幾年的發(fā)展與積累,公司擁有業(yè)內(nèi)優(yōu)秀的軟硬件研發(fā)團(tuán)隊(duì),在北京及保定建立兩大研發(fā)基地,在蘇州、深圳設(shè)有華東、華南技術(shù)服務(wù)中心,并在北美、歐洲以及亞太等其他國家和地區(qū)擁有國際業(yè)務(wù)網(wǎng)絡(luò)。公司研發(fā)的智能設(shè)備核心平臺廣泛應(yīng)用于物聯(lián)網(wǎng)、工控、軌道交通、醫(yī)療、電力、商業(yè)電子、智能家居、安防、機(jī)器人、環(huán)境監(jiān)測等諸多領(lǐng)域。

保定飛凌嵌入式技術(shù)有限公司,創(chuàng)建于2006年,是一家專注嵌入式核心控制系統(tǒng)研發(fā)、設(shè)計(jì)和生產(chǎn)的高新技術(shù)企業(yè),是國內(nèi)較早專業(yè)從事嵌入式技術(shù)的企業(yè)之一。 經(jīng)過十幾年的發(fā)展與積累,公司擁有業(yè)內(nèi)優(yōu)秀的軟硬件研發(fā)團(tuán)隊(duì),在北京及保定建立兩大研發(fā)基地,在蘇州、深圳設(shè)有華東、華南技術(shù)服務(wù)中心,并在北美、歐洲以及亞太等其他國家和地區(qū)擁有國際業(yè)務(wù)網(wǎng)絡(luò)。公司研發(fā)的智能設(shè)備核心平臺廣泛應(yīng)用于物聯(lián)網(wǎng)、工控、軌道交通、醫(yī)療、電力、商業(yè)電子、智能家居、安防、機(jī)器人、環(huán)境監(jiān)測等諸多領(lǐng)域。收起

查看更多

相關(guān)推薦