打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
archlinux编译内核解决console下中文显示问题
编译内核解决console下中文显示问题
这是第二次给我的Archlinux 编译内核了,以前习惯pacman -Syu 直接升级内核。
不过默认的内核好像不支持在console(纯控制台)下面显示中文。
幸好这里已经有人开发出了支持在终端下显示UTF-8字符的内核补丁:
内核补丁:字符终端下显示UTF-8字符
先下载2.6.38通用补丁的两个补丁文件:
文件显示补丁:http://zdbr.net.cn/download/utf8-kernel-2.6.38-core-1.patch.bz2
字库补丁:
http://zdbr.net.cn/download/utf8-kernel-2.6.38-core-1.patch.bz2
补丁使用方法:
首先将补丁应用到对应内核的源代码中。
使用univt必须首先确保内核支持Framebuffer,内核选项如下:
勾选上”Support for frame buffer device”,同时还要设置对应的Framebuffer的驱动,如VESA的驱动(根据情况也可以选择更适合显卡的驱动)
还需要为内核在Framebuffer下显示的字符选择一个字库,通常使用8×16的字符
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
wget -c http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.32.8.tar.bz2
cp linux-2.6.32.8.tar.bz2 ~/kernelbuild/
cd ~/kernelbuild
$ tar -xvjf linux-2.6.38.8.tar.bz2
$ cd linux-2.6.38.8
$make mrproper
$zcat /proc/config.gz > .config
[admin@HuangYe linux-2.6.38.8]$ bzcat ../utf8-kernel-2.6.38-core-1.patch.bz2 |patch -p1
patching file drivers/video/console/bitblit.c
patching file drivers/video/console/fbcon.c
patching file drivers/video/console/fbcon_ccw.c
patching file drivers/video/console/fbcon_cw.c
patching file drivers/video/console/fbcon_ud.c
[admin@HuangYe linux-2.6.38.8]$ bzcat ../utf8-kernel-2.6-fonts-3.patch.bz2 |patch -p1
patching file drivers/video/console/fonts_utf8.h
然后就是内核配置了:
1
2
$ make oldconfig
$ make menuconfig
然后更改内核版本号
General setup —>
(-ARCH) Local version – append to kernel release
在后面加一些东东,确保不会覆盖掉原来的内核。
如我这里加了之后变为:
ARCH-HuangYe-revision2
这里一定要修改,不然可能就杯具了。
然后开始编译:
1
make -j3
如果是双核CPU就在原有核心数量上加1,我这里是core2 双核的,因此是-j3
至于为什么要这样做,目前我也不知道,官方wiki上是这样说的。
然后是安装了,这里要root权限:
1
2
3
4
# make modules_install
# cp -v arch/x86/boot/bzImage /boot/vmlinuz-2.6.38.8-ARCH-HuangYe-revision2
# cp -v System.map /boot/System.map-2.6.38.8-ARCH-HuangYe-revision2
# mkinitcpio -k 2.6.38.8-ARCH-HuangYe-revision2 -c /etc/mkinitcpio.conf -g /boot/kernel26-2.6.38.8-ARCH-HuangYe-revision2.img
然后修改grub引导项:
1
2
3
4
title  Arch Linux HuangYe
root   (hd0,4)
kernel /vmlinuz-2.6.38.8-ARCH-HuangYe-revision2 root=/dev/disk/by-uuid/d95683c2-582f-404f-8aa4-b0856858d4e0 ro 5 vga=773
initrd /kernel26-2.6.38.8-ARCH-HuangYe-revision2.img
reboot查看下内核版本看:
1
2
[admin@HuangYe ~]$ uname -a
Linux HuangYe2.6.38.8-ARCH-HuangYe-revision2 #1 SMP PREEMPT Sun Jun 5 17:35:30 CST 2011 i686 Intel(R) Core(TM)2 Duo CPU T6570 @ 2.10GHz GenuineIntel GNU/Linux
内核版本号已经是我设置的啦,OK,再到console下查看下中文是可以正常显示了:
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
linux内核移植(3)之开机logo的制作
【转】由一些小问题引起的东西
framebuffer的配置方法
Linux Logo制作
编译内核常见错误 收录
uboot启动参数,机器码,环境变量
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服