LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: carbonjiao

豹哥的内核中文补丁进zen-kernel了

[复制链接]
发表于 2009-10-27 22:28:00 | 显示全部楼层
youbest 可以看的到吗?我在你的博客上提到过的小问题,看能不能修正?
2.6.28 还是 6.30我忘了,图中的方块部分(第11行) 是可以显示中文的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2009-10-27 22:34:42 | 显示全部楼层
这个使用31的第二版的补丁是否也这样?
回复 支持 反对

使用道具 举报

发表于 2009-10-28 12:06:25 | 显示全部楼层
Post by youbest;2040420
这个使用31的第二版的补丁是否也这样?

我都记不得了。是不是这个?哪天再测试一下。
  1. md5sum utf8-kernel-2.6.31-fbcondecor-1.patch.bz2
  2. cebee1045a00b7632223807f799f9823
  3. md5sum utf8-kernel-2.6.31-core-2.patch.bz2
  4. 640a2ebbbf93da77faf4b7a1553eb12a
复制代码
回复 支持 反对

使用道具 举报

发表于 2009-10-29 16:42:21 | 显示全部楼层
zen kernel.org 已经更新,准备下班测试。。。

http://www.zen-kernel.org/2.6.31-zen5
回复 支持 反对

使用道具 举报

发表于 2009-11-15 12:36:16 | 显示全部楼层
Post by youbest;2040420
这个使用31的第二版的补丁是否也这样?

这就是2.6.30的截图,补丁没打完整,但是显示正常。
请注意第 7 行 ,对比11楼图。
vt.c.rej :
  1. longer.z@Gentoo ~ $ cat vt.c.rej
  2. ***************
  3. *** 771,777 ****
  4.               visual_init(vc, currcons, 1);
  5.               if (!*vc->vc_uni_pagedir_loc)
  6.                   con_set_default_unimap(vc);
  7. -             vc->vc_screenbuf = kmalloc(vc->vc_screenbuf_size, GFP_KERNEL);
  8.               if (!vc->vc_screenbuf) {
  9.                   kfree(vc);
  10.                   vc_cons[currcons].d = NULL;
  11. --- 796,802 ----
  12.               visual_init(vc, currcons, 1);
  13.               if (!*vc->vc_uni_pagedir_loc)
  14.                   con_set_default_unimap(vc);
  15. +             vc->vc_screenbuf = kmalloc(vc->vc_screenbuf_size * 2, GFP_KERNEL);
  16.               if (!vc->vc_screenbuf) {
  17.                   kfree(vc);
  18.                   vc_cons[currcons].d = NULL;
  19. ***************
  20. *** 905,919 ****
  21.           while (old_origin < end) {
  22.                   scr_memcpyw((unsigned short *) new_origin,
  23.                               (unsigned short *) old_origin, rlth);
  24. -                 if (rrem)
  25.                           scr_memsetw((void *)(new_origin + rlth),
  26.                                       vc->vc_video_erase_char, rrem);
  27.                   old_origin += old_row_size;
  28.                   new_origin += new_row_size;
  29.           }
  30. -         if (new_scr_end > new_origin)
  31.                   scr_memsetw((void *)new_origin, vc->vc_video_erase_char,
  32.                               new_scr_end - new_origin);
  33.           kfree(vc->vc_screenbuf);
  34.           vc->vc_screenbuf = newscreen;
  35.           vc->vc_screenbuf_size = new_screen_size;
  36. --- 930,952 ----
  37.           while (old_origin < end) {
  38.                   scr_memcpyw((unsigned short *) new_origin,
  39.                               (unsigned short *) old_origin, rlth);
  40. +                  scr_memcpyw((unsigned short *) new_origin + (new_screen_size >> 1),
  41. +                              (unsigned short *) old_origin + (old_screen_size >> 1), rlth);
  42. +                 if (rrem){
  43.                           scr_memsetw((void *)(new_origin + rlth),
  44.                                       vc->vc_video_erase_char, rrem);
  45. +                          scr_memsetw((void *)(new_origin + rlth + (new_screen_size)),
  46. +                                      vc->vc_video_erase_char, rrem);
  47. +                 }
  48.                   old_origin += old_row_size;
  49.                   new_origin += new_row_size;
  50.           }
  51. +         if (new_scr_end > new_origin){
  52.                   scr_memsetw((void *)new_origin, vc->vc_video_erase_char,
  53.                               new_scr_end - new_origin);
  54. +                  scr_memsetw((void *)new_origin + (new_screen_size), vc->vc_video_erase_char,
  55. +                              new_scr_end - new_origin);
  56. +         }
  57.           kfree(vc->vc_screenbuf);
  58.           vc->vc_screenbuf = newscreen;
  59.           vc->vc_screenbuf_size = new_screen_size;
  60. ***************
  61. *** 2881,2887 ****
  62.                   vc_cons[currcons].d = vc = kzalloc(sizeof(struct vc_data), GFP_NOWAIT);
  63.                   INIT_WORK(&vc_cons[currcons].SAK_work, vc_SAK);
  64.                   visual_init(vc, currcons, 1);
  65. -                 vc->vc_screenbuf = kzalloc(vc->vc_screenbuf_size, GFP_NOWAIT);
  66.                   vc_init(vc, vc->vc_rows, vc->vc_cols,
  67.                           currcons || !vc->vc_sw->con_save_screen);
  68.           }
  69. --- 3004,3010 ----
  70.                   vc_cons[currcons].d = vc = kzalloc(sizeof(struct vc_data), GFP_NOWAIT);
  71.                   INIT_WORK(&vc_cons[currcons].SAK_work, vc_SAK);
  72.                   visual_init(vc, currcons, 1);
  73. +                 vc->vc_screenbuf = kzalloc(vc->vc_screenbuf_size * 2, GFP_NOWAIT);
  74.                   vc_init(vc, vc->vc_rows, vc->vc_cols,
  75.                           currcons || !vc->vc_sw->con_save_screen);
  76.           }
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2009-11-15 12:56:21 | 显示全部楼层
31的补丁不能在30上完全匹配,可以手工参照着改一下,很容易的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表