|
bean123
中级用户
  
积分 214
发帖 34
注册 2004-3-10
状态 离线
|
『楼 主』:
[分享]grub4dos中文化补丁
使用 LLM 解释/回答一下
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
|
|
2004-9-14 00:00 |
|
|
Climbing
铂金会员
       网络独行侠
积分 6962
发帖 2753
注册 2003-4-16 来自 河北保定
状态 离线
|
『第 2 楼』:
使用 LLM 解释/回答一下
不知道支不支持网络启动?Gandalf在Grub中文化主页上发布的源程序支持你所说的所有功能,同时支持网络启动,但Gandalf好象还没有打上for dos pre12的补丁。
I don't know if it supports network booting? The source code released by Gandalf on the Grub Chinese homepage supports all the functions you mentioned, and also supports network booting, but it seems that Gandalf hasn't applied the patch for dos pre12 yet.
|

偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
|
|
2004-9-15 00:00 |
|
|
不点
银牌会员
     不甘寂寞的人
积分 2491
发帖 1115
注册 2003-9-24
状态 离线
|
『第 3 楼』:
使用 LLM 解释/回答一下
很好,感谢!
我下载看了,网络补丁好像没有。不过网络是一个很有问题的模块:据 Gandalf 说,当 GRUB 可执行文件的大小超过 150K时,网络部分无法工作。这说明,网络部分仍然存在严重问题。类似地,scdrom 部分也存在严重问题,所以,在发布中不包括这两部分是有理由的。
我本来就没有打算在我的发布中加入中文支持,因为我更注重一般的国际化语言支持。不过 bean的补丁可能部分地改变我的想法。我现在在考虑,也许,我会基于 bean 的补丁,做出一个支持国际化语言的补丁。当然,我不能肯定会成功。Gandalf 或者 bean 也可以考虑做这个工作。我目前在完善 0.3 的一些基础问题,时间不是很多。
谢谢 Gandalf 的NTFS,SCDROM,中文化,网络启动等大量工作,谢谢 bean 给我们带来的另外一些惊喜。
Great, thanks!
I downloaded and took a look. It seems there's no network patch. But the network is a very problematic module: according to Gandalf, when the size of the GRUB executable exceeds 150K, the network part doesn't work. This indicates that there are still serious issues with the network part. Similarly, the scdrom part also has serious issues, so there are reasons not to include these two parts in the release.
I didn't originally plan to include Chinese support in my release because I focus more on general international language support. But bean's patch might partially change my mind. I'm currently thinking that maybe I'll make an international language support patch based on bean's patch. Of course, I can't be sure it will succeed. Gandalf or bean can also consider doing this work. I'm currently improving some basic issues of 0.3 and don't have much time.
Thanks to Gandalf for the large amount of work on NTFS, SCDROM, Chinese localization, network boot, etc., and thanks to bean for bringing us some other surprises.
|

因为我们亲手创建,这个世界更加美丽。 |
|
2004-9-15 00:00 |
|
|
bean123
中级用户
  
积分 214
发帖 34
注册 2004-3-10
状态 离线
|
『第 4 楼』:
使用 LLM 解释/回答一下
以下是引用Climbing在2004-9-15 8:19:54的发言:
不知道支不支持网络启动?Gandalf在Grub中文化主页上发布的源程序支持你所说的所有功能,同时支持网络启动,但Gandalf好象还没有打上for dos pre12的补丁。
原版的GNU GRUB 已经有网络支持了。要加网络启动,只要加些参数重新编译就行了。比如说我的网卡是 3c905C 的编译时用:./configure --diskless --enable-3c90x据我的测试,网络模块可以正常运作,无盘的PXEGRUB也能正常启动。
Here is the statement from Climbing on September 15, 2004, 8:19:54:
I don't know if it supports network booting? The source program released by Gandalf on the Chinese homepage of Grub supports all the functions you mentioned, and also supports network booting, but it seems that Gandalf hasn't applied the patch for dos pre12 yet.
The original GNU GRUB already has network support. To add network booting, you just need to recompile with some parameters. For example, if my network card is 3c905C, when compiling, use: ./configure --diskless --enable-3c90x. According to my test, the network module can operate normally, and the diskless PXEGRUB can also start normally.
|
|
2004-9-15 00:00 |
|
|
Climbing
铂金会员
       网络独行侠
积分 6962
发帖 2753
注册 2003-4-16 来自 河北保定
状态 离线
|
『第 5 楼』:
使用 LLM 解释/回答一下
我觉得网络模块存在问题,肯定还是因为代码不够严谨造成的(最可能的原因是缺乏程序的整体构思),我相信在不久的将来,随着需要的激增,这部分程序会越来越完善。期待那一天!至于Grub的中文化和国际化,我个人觉得并没有太大的意义,原因很简单,这会极度加大grub的体积与不稳定性,而且与grub的中文化与国际化直接相关的就是图形方式的支持,从我目前的测试情况来看,在某些显卡上会出现图形界面不能正常初始化的问题,导致菜单不能正常显示。所以我觉得还是以英文字符界面为基础,先完善一些十分实用的功能(我觉得是网络启动),然后再考虑其它。
I think there is a problem with the network module, and it must still be due to the lack of rigorous code (the most probable reason is the lack of overall program conception). I believe that in the near future, with the surge in needs, this part of the program will become more and more perfect. Look forward to that day! As for the Chinese localization and internationalization of Grub, I personally think it is not of great significance. The reason is very simple. This will extremely increase the volume and instability of Grub, and the direct related to the Chinese localization and internationalization of Grub is the support of the graphic mode. From my current test situation, on some graphics cards, there will be problems with the abnormal initialization of the graphic interface, resulting in the abnormal display of the menu. So I think it is better to take the English character interface as the basis, first improve some very practical functions (I think it is network booting), and then consider others.
|

偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
|
|
2004-9-15 00:00 |
|
|
bean123
中级用户
  
积分 214
发帖 34
注册 2004-3-10
状态 离线
|
『第 6 楼』:
使用 LLM 解释/回答一下
刚刚编译了带网络支持的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文件。
|
|
2004-9-15 00:00 |
|
|
windrv
中级用户
  
积分 385
发帖 118
注册 2003-11-11
状态 离线
|
|
2004-9-16 00:00 |
|
|
Climbing
铂金会员
       网络独行侠
积分 6962
发帖 2753
注册 2003-4-16 来自 河北保定
状态 离线
|
『第 8 楼』:
使用 LLM 解释/回答一下
鼓励!我觉得现在应该把主要精力放在解决grub的网络模块在同时支持多个网卡时不稳定的问题。也就是说,最好实现一个编译版本支持所有网卡。偶不懂编程,不知道为什么同时支持多个网卡会出现问题,更不知道解决这个问题难度有多大。不过,我为高手们鼓与呼!另外,Virtual PC使用的网卡是tulip,但Virtual PC不支持BIOS32,所以编译时要加上参数:--enable-pci-direct
Encouragement! I think now we should focus mainly on solving the problem of instability of the GRUB network module when supporting multiple network cards at the same time. That is to say, it is best to implement a compiled version that supports all network cards. I don't know how to program, I don't know why there is a problem when supporting multiple network cards at the same time, and I don't know how difficult it is to solve this problem. But I cheer for the experts! In addition, the network card used by Virtual PC is tulip, but Virtual PC does not support BIOS32, so when compiling, the parameter --enable-pci-direct should be added.
|

偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
|
|
2004-9-16 00:00 |
|
|
Climbing
铂金会员
       网络独行侠
积分 6962
发帖 2753
注册 2003-4-16 来自 河北保定
状态 离线
|
『第 9 楼』:
使用 LLM 解释/回答一下
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
两条命令绝对不可能同时执行。希望大家继续努力,不断改进。
Mr. bean, I have put all the grub.exe you compiled onto a 5760KB MS-DOS 7.10 boot floppy disk, and then called it through diskemu1x.bin + BCDW. After testing, my boot floppy disk works basically normally. But at the same time, I also found several problems: 1. Grub does not support the floppy drives larger than 1.44M simulated by BCDW and diskemu1x.bin. Therefore, when starting Grub.exe from a boot floppy disk image larger than 1.44M, the menu file cannot be placed on it. Otherwise, it cannot be found. 2. The grub you compiled does not support the scdrom command. 3. Also, all current Grubs that support scdrom do not support the ISO9660 file system very well. For the disc file system, the files operated by its commands are strictly case-sensitive. For example: configfile (cd)/boot/grub/menu.lst and configfile (cd)/BOOT/GRUB/MENU.LST These two commands can never be executed at the same time. I hope everyone will continue to work hard and improve.
|

偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
|
|
2004-9-19 00:00 |
|
|
不点
银牌会员
     不甘寂寞的人
积分 2491
发帖 1115
注册 2003-9-24
状态 离线
|
『第 10 楼』:
使用 LLM 解释/回答一下
关于中文化, 我想谈一点认识.
我目前没有时间来做这个, 但我还是希望有人去做.
我觉得, 中文化距离国际化, 只有一步之遥, 现在中文化的工作已经完成, 不如就直接朝国际化努力吧.
Gandalf 的中文实现很有启发性, 我本人非常佩服, 觉得是个大大的工作, 非常了不起.
Gandalf 将中文字库放置在 0x500000, 这个字库的大小是 200多K.
如果我们实现 UCS2 中全部的 65536 个字符的显示, 所需要的字库大小是 2M, 也还算不大, 放置在扩展内存的顶部是比较合适的.
我们可以利用中断 int10/ah=11 (字符方式装入用户字库)来解决 unicode 字符显示问题.
我们一开始就不只是用 UCS2, 而是直接用 UCS4 作为内码, 但是字库就先用一个小的, 先实现 UCS2 中的那些字符.
只有国际化的实现, 最终才不至于走弯路, 否则, 如果一种实现只适用于中文, 那么, 这种实现是有缺陷的, 很有可能被将来的某个国际化的实现所取代, 这样, 我们现在的投入, 就是一种重复劳动, 或者说, 多少有些浪费资源和精力.
Regarding Chinese localization, I would like to share some thoughts.
I don't have time to do this right now, but I still hope someone will take it on.
I think that Chinese localization is only one step away from internationalization. Now that the Chinese localization work is done, it's better to directly strive for internationalization.
Gandalf's Chinese implementation is very inspiring. I really admire it and think it's a huge effort, very remarkable.
Gandalf places the Chinese character font at 0x500000, and the size of this font is over 200K.
If we implement the display of all 65536 characters in UCS2, the required font size is 2M, which is still not too large. It's more appropriate to place it at the top of the extended memory.
We can use interrupt int10/ah=11 (load user font in character mode) to solve the Unicode character display problem.
We start with not just UCS2, but directly use UCS4 as the internal code, but we first use a small font and first implement the characters in UCS2.
Only by achieving internationalization can we finally avoid detours. Otherwise, if an implementation is only suitable for Chinese, then this implementation is flawed and is very likely to be replaced by some future internationalization implementation. In this way, our current investment is a kind of repetitive work, or rather, it is somewhat a waste of resources and energy.
|

因为我们亲手创建,这个世界更加美丽。 |
|
2004-9-19 00:00 |
|
|
sdtzyq
新手上路

积分 4
发帖 2
注册 2006-8-7
状态 离线
|
『第 11 楼』:
请教
使用 LLM 解释/回答一下
我想编译自己的grldr还望指教.sdtzyq@163.com
I want to compile my own grldr, please give me some advice. sdtzyq@163.com
|
|
2006-8-7 10:49 |
|
|
sunq
新手上路

积分 8
发帖 3
注册 2007-6-6
状态 离线
|
『第 12 楼』:
使用 LLM 解释/回答一下
找字体很久了,试试看!
谢了
不能下载!
Last edited by sunq on 2007-6-7 at 01:21 PM ]
Been looking for a font for a long time, let's give it a try!
Thanks
Can't download!
Last edited by sunq on 2007-6-7 at 01:21 PM ]
|
|
2007-6-7 13:17 |
|