无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
楼主: zhaohj
打印 上一主题 下一主题

GRUB4DOS更新建议、bug反馈专帖

    [复制链接]
271#
发表于 2010-12-29 15:28:40 | 只看该作者
原帖由 zhaohj 于 2010-12-29 14:04 发表
再贴个图,目前看来问题较多(12-28版本)
批处理都出问题了


麻烦你再试试用27之前的版本.有空顺便调试一下问题的根源吧,我现在也没有那多么时间进行调试了.

新版本的变动除了FAT命令以外,其它的命令不应该出现问题的.
应该也是外部命令的关系.也许和WENV有关.
回复

使用道具 举报

272#
 楼主| 发表于 2010-12-29 15:58:27 | 只看该作者
!BAT
echo
echo
echo TXTSETUP.SIF Driver-pack Process...
checkrange 1 read 0x60080 && pause --wait=10 Press any key...
echo
cat --length=0 (fd1)/PCI && FAT del (fd1)/PCI
debug off
WENV find -end=[ [HardwareIdsDatabase] (fd1)/SIF ]]& setrd ]]] exec FAT copy /o (rd)+1 (fd1)/SIF ]]] calc *0x8290=*0x8290+1024 ]]] exec FAT mkfile size=* (fd1)/PCI
cat --length=0 (fd1)/PCI || configfile (fd2)/ERROR.LST
WENV echo PCI$ > (fd1)/PCI
WENV for /f "eol=; tokens=1-2 delims==;" %i in ( (fd1)/SIF ) do (set a=%i ; check "$${a:0:4}"=="PCI\" ]]& set b=%j ]]] echo -n $ ]]] echo $${a}=$${b}) >> (fd1)/PCI
checkrange 1 read 0x60080 && echo display chkpci && cat --length=0x100 (fd1)/PCI && echo ...... && echo && pause --wait=10 Make txtsetup.oem , Press any key... ! FAT del (fd1)/SIF
WENV (reset p ; reset a ; reset b)
(fd2)/EXT/MAKEOEM.BAT
--------------------------
上面WENV for /f "eol=; tokens=1-2 delims==;" %i in ( (fd1)/SIF ) do (set a=%i ; check "$${a:0:4}"=="PCI\" ]]& set b=%j ]]] echo -n $ ]]] echo $${a}=$${b}) >> (fd1)/PCI
输出空白
回复

使用道具 举报

273#
发表于 2010-12-29 23:20:11 | 只看该作者
没有看明白,我自己小测了一下.一切正常.
回复

使用道具 举报

274#
 楼主| 发表于 2010-12-29 23:48:29 | 只看该作者
那你的CSPE测试一下,应该知道点问题。
回复

使用道具 举报

275#
 楼主| 发表于 2010-12-29 23:49:25 | 只看该作者
那你的CSPE测试一下,应该知道点问题。

--------
论坛这几天常出问题,是否受到攻击了?

[ 本帖最后由 zhaohj 于 2010-12-30 07:58 编辑 ]
回复

使用道具 举报

276#
发表于 2010-12-30 02:17:33 | 只看该作者
@zhaohj,
这个有空再测试吧,还没有确定是27号的版本引起的.可能很早之前的版本就这样了,
要找问题,可能需要不少时间.


新的GRUB4DOS已经上传,添加了中文的README在CHINESE目录下.
只是初版,一些新的功能都还没有写进去.

直接使用了zw2312914 提供的翻译版本进行修改.
http://bbs.znpc.net/viewthread.php?tid=5587&extra=page%3D2

PS:这些都是苦力活,虽然只是简单的修整,还是花费了我不少的时间.

欢迎大家一起找错误和提供新的资料.
回复

使用道具 举报

277#
 楼主| 发表于 2010-12-30 08:27:40 | 只看该作者
12-29版本g4d不支持老版本的FAT(11-05)外部命令?

Snap1.jpg (97.82 KB, 下载次数: 208)

Snap1.jpg
回复

使用道具 举报

278#
 楼主| 发表于 2010-12-30 09:11:26 | 只看该作者
我的ftp://60.190.19.108/zhaohj/coolg
放置了两个PE,用批处理和lst分别调用,用configfile /coolg/coolg.lst
21号的版本都没有问题
27~29,批处理都无法启动PE。
29日的版本需要使用新版fat,请替换EXT.IMG.GZ中grub目录下的fat,或下面替换。

-------------
有点奇怪,img.bat中debug on也会失灵,有时又正常
!BAT
debug on
map --mem /COOLG/EXT.IMG.GZ (fd0)
map --hook
:command --set-path=(fd0)/GRUB/
insmod (fd0)/GRUB/WENV
insmod (fd0)/GRUB/FAT
...

[ 本帖最后由 zhaohj 于 2010-12-30 10:58 编辑 ]

EXT.IMG.GZ

87.85 KB, 下载次数: 15, 下载积分: 无忧币 -2

回复

使用道具 举报

279#
发表于 2010-12-30 13:08:12 | 只看该作者
原帖由 zhaohj 于 2010-12-30 08:27 发表
12-29版本g4d不支持老版本的FAT(11-05)外部命令?


前面已说过了,新版的因为修改了磁盘读写函数的原型,所以FAT命令会失败。27号之后要的使用新的FAT命令。

其它命令如果有使用了磁盘读写函数也同样会失败,不过我印像中除了FAT命令外都没有用到。
回复

使用道具 举报

280#
 楼主| 发表于 2010-12-30 13:56:32 | 只看该作者
现在问题很难查,命令行下都正常,但一用批处理就出问题。
看来问题还是出在批模块。
回复

使用道具 举报

281#
发表于 2010-12-30 14:06:52 | 只看该作者

回复 #280 zhaohj 的帖子

2010-12-29版本的grub4dos配合新版fat,实机测试、虚拟机pxe测试启动0PE,都一切正常。
但0PE基本未用批处理,最近几个月开发的新功能也基本上没用。仅供参考,以逐一排除。
回复

使用道具 举报

282#
 楼主| 发表于 2010-12-30 15:14:09 | 只看该作者
@ZXW:
278楼,能否测试一下,把文件拷贝到tftp的COOLG就可以了。configfile /COOLG/COOLG.LST
你有PXE环境,方便测试。
回复

使用道具 举报

283#
 楼主| 发表于 2010-12-30 16:39:05 | 只看该作者
CSPE跟踪测试,发现pkunzip出问题了。12-21g4d环境正常。

Snap1.jpg (97.28 KB, 下载次数: 216)

Snap1.jpg
回复

使用道具 举报

284#
发表于 2010-12-30 16:39:43 | 只看该作者
晚上我再抽空试一下,应该是哪里有内存冲突或是其它原因..
回复

使用道具 举报

285#
发表于 2010-12-30 17:39:59 | 只看该作者

回复 #282 zhaohj 的帖

抱歉,我有点忙,没能测试。不过我的pxe是qemu虚拟的,可以下载c大的.

[ 本帖最后由 zxw 于 2010-12-31 00:09 编辑 ]
回复

使用道具 举报

286#
发表于 2010-12-30 21:15:18 | 只看该作者
不好意思,应该是我传错了FAT,,,前天上传的版本解压后竟然有3MB,
已经重新上传了。

看来有必要在INSMOD的时候加一点限制,否则一不小心又超限了。

[ 本帖最后由 chenall 于 2010-12-30 21:16 编辑 ]
回复

使用道具 举报

287#
 楼主| 发表于 2010-12-30 23:30:21 | 只看该作者
呵呵,总算找到问题的根源。

全部测试通过!
回复

使用道具 举报

288#
发表于 2011-1-2 00:13:34 | 只看该作者
已经更新。

grub4dos-0.4.5b-2011-01-01f.7z  

1.修复find的bug.
2.configfile (md)或(rd)上的文件时不改变boot_drive和boot_partition
3.批处理中的%9改变。
现在的%9是剩下的所有参数。
4.中文readme修改。
回复

使用道具 举报

289#
发表于 2011-1-2 02:37:49 | 只看该作者

回复 #288 chenall 的帖子

在命令行中逐一输入以下语句测试自动生成菜单的脚本
RUN .automenu
configfile (md)0×3000+0×10

configfile 的是grldr的内置菜单?!
而在菜单中则没有问题。
回复

使用道具 举报

290#
发表于 2011-1-2 17:11:50 | 只看该作者
原帖由 zxw 于 2011-1-2 02:37 发表
在命令行中逐一输入以下语句测试自动生成菜单的脚本

configfile 的是grldr的内置菜单?!
而在菜单中则没有问题。


应该是你的脚本的问题。。
执行RUN .automenu之后先不要用configfile (md)0x3000+0x10命令,

直接使用cat --hex (md)0x3000+0x10命令显示里面的内容就知道了。
回复

使用道具 举报

291#
发表于 2011-1-2 23:30:13 | 只看该作者

回复 #290 chenall 的帖子

絮我愚钝,在提交上面这个反馈之前,我的脚本没有加configfile (md)0x3000+0x10这一语句。
也曾多次用cat --hex (md)0x3000+0x10查看显示内容,似乎没发现有什么问题。
回复

使用道具 举报

292#
发表于 2011-1-3 00:44:14 | 只看该作者
原帖由 zxw 于 2011-1-2 23:30 发表
絮我愚钝,在提交上面这个反馈之前,我的脚本没有加configfile (md)0x3000+0x10这一语句。
也曾多次用cat --hex (md)0x3000+0x10查看显示内容,似乎没发现有什么问题。


没有足够证据。。

也许会再次被忽略。
回复

使用道具 举报

293#
发表于 2011-1-3 01:14:59 | 只看该作者

回复 #292 chenall 的帖子

用你在时空发布的脚本测试,开机按c进入命令行,先后运行以下命令:
RUN .automenu
configfile (md)0×3000+0×10

会跳转到grldr内置菜单。这个再现不难吧。
回复

使用道具 举报

294#
发表于 2011-1-3 14:42:35 | 只看该作者
原帖由 zxw 于 2011-1-3 01:14 发表
用你在时空发布的脚本测试,开机按c进入命令行,先后运行以下命令:
RUN .automenu
configfile (md)0×3000+0×10

会跳转到grldr内置菜单。这个再现不难吧。


抱歉,我认为这是人为的问题,所以我也懒得花时间去测试。

你也许可以看到论坛上有类拟报告,我一般不去回复,原因就是如此。

否则,那我可能需要把所有的时间全部花在测试上面了。

这也算是一个非常不合格的报告,包括你前面的报告
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=180142&page=25#pid2119734

同样如此。

对事不对人,当然了肯定会有人不理解,所以我可能也是得罪了不少人,还是“走自己的路,让别人说去吧!”

顺便说一下,新的GRUB4DOS版本将开始支持变量。
相当于WENV的精简版,只保留设置和使用变量的功能。
当然了使用尽量简化的代码,所以别指望它能有许多的功能。
回复

使用道具 举报

295#
发表于 2011-1-3 15:04:25 | 只看该作者

回复 #294 chenall 的帖子

sorry,是我报告不详。但这个问题,我觉得不太好来个详细报告。反正也算不了什么问题,忽略就忽略吧。

[ 本帖最后由 zxw 于 2011-1-3 15:08 编辑 ]
回复

使用道具 举报

296#
发表于 2011-1-3 15:08:08 | 只看该作者
原帖由 chenall 于 2011-1-3 14:42 发表
顺便说一下,新的GRUB4DOS版本将开始支持变量。
相当于WENV的精简版,只保留设置和使用变量的功能。
当然了使用尽量简化的代码,所以别指望它能有许多的功能

这倒是个好消息,再加一点简单的check功能(字符串check是否相等),呵呵就更完美了,我那个脚本再改造一下就不是很依赖wenv了。

[ 本帖最后由 zxw 于 2011-1-3 15:20 编辑 ]
回复

使用道具 举报

297#
发表于 2011-1-3 15:22:44 | 只看该作者
原帖由 zxw 于 2011-1-3 15:08 发表

这倒是个好消息,再加一点简单的check功能(字符串check是否相等),呵呵就更完美了,我那个脚本再改造一下就不是很依赖wenv了。


已经有考虑了。IF命令
回复

使用道具 举报

298#
发表于 2011-1-3 16:46:23 | 只看该作者
2011-01-03
        1.pager命令即实生效。

        2.添加简易的if判断命令类似的MSDOS.目前支持的判断如下:
        if [NOT] STRING1==STRING2 [COMMAND]
        注:判断符号==前后不允许有空格或制表符否则比较会失败。
        2.添加SET命令可以设置、修改、删除变量。
        3.从现在开始支持变量。用法和MS-DOS一样。
        注:使用了和WENV同样的方案。所以这个功能可以看成是简化版的WENV

2011-01-02
        1.pause命令添加一个参数--test-key,可以显示按键扫描码。

另外顺便说一下pager命令的用法
pager 默认状态是on
即默认显示分页模式(像more的功能)

cat /test.txt
这个这个文件的内容超过一页就会暂停按键才能继续。
如果pager off
则不暂停。

注:如果是pager on在批处理中如果你显示一段字符然后clear再显示一段字符,可能会在第二次显示时出现暂停的提示。

这个以后会考虑修改 clear命令,clear执行后重置count_lines


PS:grub4dos越来越DOS了.....

[ 本帖最后由 chenall 于 2011-1-3 16:57 编辑 ]
回复

使用道具 举报

299#
发表于 2011-1-3 17:33:42 | 只看该作者
测试了一下新功能,正常。
呵,越来越DOS了……
哈,wenv 也可直接引用新形式变量,真是太棒了!

[ 本帖最后由 zxw 于 2011-1-3 17:50 编辑 ]
回复

使用道具 举报

300#
发表于 2011-1-3 18:03:08 | 只看该作者

回复 #298 chenall 的帖子

0103增加变量支持看的不是很明白  有时间能否给个实例
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-23 01:49

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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