![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-12 04:58 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区 » [分享]grub4dos中文化补丁 |
| 可打印版本 3,613 / 11 |
| 第1楼 bean123 | 发表于 2004-09-14 00:00 |
| 中级用户 发帖 34 积分 214 | |
|
[分享]grub4dos中文化补丁 grub4dos中文化补丁是我在不点grub4dos pre12版本的基础上,加入Gandalf版本中文化的相关代码,使得既保留了不点的版本全部功能,又可以显示中文,有兴趣的可以拿来试试。
该中文化补丁是在不点原有基础上的递增,打补丁的顺序为: 原版grub-0.95 -> patch1-dos -> patch2-splash -> patch3-ntfs -> patch4-findroot -> patch6-chinese -> patch7-misc 详细的请看打包里的 compile 脚本 打包里的grub.exe和grldr是编译后的版本,可以直接使用 使用中文时,要在MENU.LST中加入 fontfile 命令,例如: default 0 fontfile (hd0,0)/boot/fonts splashimage (hd0,0)/boot/someimage.xpm.gz title Menu ... fonts在打包中,使用时请先抄到相应的目录 还有一点要注意一下,就是fontfile 命令要在 splashimage 命令前出现,而且如果你要 splashimage,则fontfile也必须指定,否则会出现黑屏,什么也没有显示。 下载地址:http://windrv.minidns.net:8080/release/grub4dos_patch.tar.gz |
|
| 第2楼 Climbing | 发表于 2004-09-15 00:00 |
| 铂金会员 发帖 2,753 积分 6,962 来自 河北保定 | |
|
不知道支不支持网络启动?Gandalf在Grub中文化主页上发布的源程序支持你所说的所有功能,同时支持网络启动,但Gandalf好象还没有打上for dos pre12的补丁。
|
|
| 第3楼 不点 | 发表于 2004-09-15 00:00 |
| 银牌会员 发帖 1,115 积分 2,491 | |
|
很好,感谢!
我下载看了,网络补丁好像没有。不过网络是一个很有问题的模块:据 Gandalf 说,当 GRUB 可执行文件的大小超过 150K时,网络部分无法工作。这说明,网络部分仍然存在严重问题。类似地,scdrom 部分也存在严重问题,所以,在发布中不包括这两部分是有理由的。 我本来就没有打算在我的发布中加入中文支持,因为我更注重一般的国际化语言支持。不过 bean的补丁可能部分地改变我的想法。我现在在考虑,也许,我会基于 bean 的补丁,做出一个支持国际化语言的补丁。当然,我不能肯定会成功。Gandalf 或者 bean 也可以考虑做这个工作。我目前在完善 0.3 的一些基础问题,时间不是很多。 谢谢 Gandalf 的NTFS,SCDROM,中文化,网络启动等大量工作,谢谢 bean 给我们带来的另外一些惊喜。 |
|
| 第4楼 bean123 | 发表于 2004-09-15 00:00 |
| 中级用户 发帖 34 积分 214 | |
以下是引用Climbing在2004-9-15 8:19:54的发言: 原版的GNU GRUB 已经有网络支持了。要加网络启动,只要加些参数重新编译就行了。比如说我的网卡是 3c905C 的编译时用:./configure --diskless --enable-3c90x据我的测试,网络模块可以正常运作,无盘的PXEGRUB也能正常启动。 |
|
| 第5楼 Climbing | 发表于 2004-09-15 00:00 |
| 铂金会员 发帖 2,753 积分 6,962 来自 河北保定 | |
|
我觉得网络模块存在问题,肯定还是因为代码不够严谨造成的(最可能的原因是缺乏程序的整体构思),我相信在不久的将来,随着需要的激增,这部分程序会越来越完善。期待那一天!至于Grub的中文化和国际化,我个人觉得并没有太大的意义,原因很简单,这会极度加大grub的体积与不稳定性,而且与grub的中文化与国际化直接相关的就是图形方式的支持,从我目前的测试情况来看,在某些显卡上会出现图形界面不能正常初始化的问题,导致菜单不能正常显示。所以我觉得还是以英文字符界面为基础,先完善一些十分实用的功能(我觉得是网络启动),然后再考虑其它。
|
|
| 第6楼 bean123 | 发表于 2004-09-15 00:00 |
| 中级用户 发帖 34 积分 214 | |
|
刚刚编译了带网络支持的grub4dos,下载请到 http://windrv.minidns.net:8080/wingrub/grub4dos_chs_net.tar.gz 。另外,昨晚发的中文补丁有一个小问题,导致编译带网络的版本时出错,现在已经改正了,新版的汉化补丁在:http://windrv.minidns.net:8080/wingrub/grub4dos_patch.tar.gz.
网络功能的使用简单介绍如下: 客户端: 首先设定网络,这有两种方法: bootp 这使用bootp进行自动设置,服务器上必须正确地运行bootp服务。加入 --with-configfile 选项后,grub在服务器的返回信息中寻找tag 为 150 的参数,找到则把之作为 menu.lst 的路径,载入菜单。 ifconfig 这是手动设置网络,其中address是本地IP,mask本地掩码,server是TFTP服务器IP,而gateway是网关IP地址。 在指定了网络参数后,服务器上的文件可以用 (nd) 设备来访问。 以下是一个网络版 MENU.LST 的简单例子: ifconfig --address=192.168.2.10 --mask=255.255.255.0 --server=192.168.2.1 fontfile (nd)/fonts splashimage (nd)/redhat-8.xpm.gz kernel (nd)/memdisk.gz initrd (nd)/win99.zip boot 服务器: WINDOWS: 在WINDOWS下测试服务器建议使用tftpd32 (http://perso.wanadoo.fr/philippe.jounin/tftpd32.html), 它同时包含了DHCP和TFTP的服务器程序。示范的配置如下图: ![]() ![]() LINUX/UNIX: 首先设置bootp服务器,示范的bootptab文件如下: .defaults:\ :sm=255.255.255.0:\ :gw=192.168.2.1: grub_client:\ :tc=.defaults:\ :ip=192.168.2.10:\ :ht=1:ha=00021cf82fb0:\ :T150="(nd)/menu.lst": 接着,把inet.conf文件中启动 bootpd 和 tftpd 的项前的 # 去掉,然后 kill -HUP `cat /var/run/inetd.pid`,完成。 目前在grub中支持的网卡有: 3c509 3Com509 3c529 3Com529 3c595 3Com595 3c90x 3Com90x cs89x0 CS89x0 davicom Davicom depca DEPCA and EtherWORKS eepro Etherexpress Pro/10 eepro100 Etherexpress Pro/100 epic100 SMC 83c170 EPIC/100 3c507 3Com507 exos205 EXOS205 ni5210 Racal-Interlan NI5210 lance Lance PCI PCNet/32 ne2100 Novell NE2100 ni6510 Racal-Interlan NI6510 natsemi NatSemo DP8381x ni5010 Racal-Interlan NI5010 3c503 3Com503 ne NE1000/2000 ISA ns8390 NE2000 PCI wd WD8003/8013, SMC8216/8416 otulip old Tulip rtl8139 Realtek 8139 sis900 SIS 900 and SIS 7016 sk-g16 Schneider and Koch G16 smc9000 SMC9000 tiara Tiara tulip Tulip via-rhine Rhine-I/II w89c840 Winbond W89c840, Compex RL100-ATX 请按照实际情况使用相应的grub.exe和grldr文件。 |
|
| 第7楼 windrv | 发表于 2004-09-16 00:00 |
| 中级用户 发帖 118 积分 385 | |
|
bravo!
|
|
| 第8楼 Climbing | 发表于 2004-09-16 00:00 |
| 铂金会员 发帖 2,753 积分 6,962 来自 河北保定 | |
|
鼓励!我觉得现在应该把主要精力放在解决grub的网络模块在同时支持多个网卡时不稳定的问题。也就是说,最好实现一个编译版本支持所有网卡。偶不懂编程,不知道为什么同时支持多个网卡会出现问题,更不知道解决这个问题难度有多大。不过,我为高手们鼓与呼!另外,Virtual PC使用的网卡是tulip,但Virtual PC不支持BIOS32,所以编译时要加上参数:--enable-pci-direct
|
|
| 第9楼 Climbing | 发表于 2004-09-19 00:00 |
| 铂金会员 发帖 2,753 积分 6,962 来自 河北保定 | |
|
Mr. bean,我将你编译的所有grub.exe做到了一张5760KB的MS-DOS 7.10启动软盘上,然后通过diskemu1x.bin + BCDW调用,经过试验,我的启动软盘工作还算是基本正常。但同时我还发现了几个问题: 1、Grub不支持BCDW和diskemu1x.bin模拟的大于1.44M的软驱。因此,从大于1.44M的启动软盘映像上启动Grub.exe,不能将菜单文件放在上面。否则找不到。 2、你编译的grub中不支持scdrom命令。3、再就是现在所有的支持scdrom的Grub对ISO9660文件系统支持的不太好,对于光盘文件系统,它的命令所操作的文件是严格区分大小写的。例如:
configfile (cd)/boot/grub/menu.lst 和 configfile (cd)/BOOT/GRUB/MENU.LST 两条命令绝对不可能同时执行。希望大家继续努力,不断改进。 |
|
| 第10楼 不点 | 发表于 2004-09-19 00:00 |
| 银牌会员 发帖 1,115 积分 2,491 | |
|
关于中文化, 我想谈一点认识.
我目前没有时间来做这个, 但我还是希望有人去做. 我觉得, 中文化距离国际化, 只有一步之遥, 现在中文化的工作已经完成, 不如就直接朝国际化努力吧. Gandalf 的中文实现很有启发性, 我本人非常佩服, 觉得是个大大的工作, 非常了不起. Gandalf 将中文字库放置在 0x500000, 这个字库的大小是 200多K. 如果我们实现 UCS2 中全部的 65536 个字符的显示, 所需要的字库大小是 2M, 也还算不大, 放置在扩展内存的顶部是比较合适的. 我们可以利用中断 int10/ah=11 (字符方式装入用户字库)来解决 unicode 字符显示问题. 我们一开始就不只是用 UCS2, 而是直接用 UCS4 作为内码, 但是字库就先用一个小的, 先实现 UCS2 中的那些字符. 只有国际化的实现, 最终才不至于走弯路, 否则, 如果一种实现只适用于中文, 那么, 这种实现是有缺陷的, 很有可能被将来的某个国际化的实现所取代, 这样, 我们现在的投入, 就是一种重复劳动, 或者说, 多少有些浪费资源和精力. |
|
| 第11楼 sdtzyq | 发表于 2006-08-07 10:49 |
| 新手上路 发帖 2 积分 4 | |
|
请教 我想编译自己的grldr还望指教.sdtzyq@163.com
|
|
| 第12楼 sunq | 发表于 2007-06-07 13:17 |
| 新手上路 发帖 3 积分 8 | |
|
找字体很久了,试试看!
谢了 不能下载! [ Last edited by sunq on 2007-6-7 at 01:21 PM ] |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |