无忧启动论坛

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

grub4dos 外部命令 wenv [2010-10-17 ]

  [复制链接]
181#
发表于 2010-5-25 09:52:11 | 只看该作者
楼上的,2010.5.23日,需要在tftp下面放置menu.lst的哦?不是main.lst,你放在哪里?怎么想到要改名字?g4d和grub一直秉承menu.lst菜单名,何必改名?
回复

使用道具 举报

182#
 楼主| 发表于 2010-5-25 09:59:44 | 只看该作者
原帖由 33445566 于 2010-5-24 21:04 发表


网启时:grldr中的menu目录和/menu.lst可以改名吗?若可以,怎么改?


1.修改修改源码,重新编译,可以修改为任意你想要的。
2.用HEX编辑器打开GRLDR文件,查找No bootfile!,附近应该就有/MENU.LST /MENU/之类的字符串,直接修改就行了。但不能超过原来的长度。
#180
说了好像等于没说一样。

#179 ,目前的顺序是合理的。反之就不合理了。具体原因自己深究。
回复

使用道具 举报

183#
发表于 2010-5-26 10:33:40 | 只看该作者
chenall好像挺忙,菜单搜索顺序我查找了很多帖子,还是没能领会到这里面的奥秘。网上搜索也不知道具体何处下手,能给个简单的提示吗?
这个是最初测试g4d的PXE了。
2008-7-24http://bbs.znpc.net/viewthread.php?tid=5471&extra=page%3D10
2008-11-6http://bbs.znpc.net/viewthread.php?tid=5309&extra=page%3D5
Climbing在12#和76#提到了菜单顺序的问题:
http://bbs.znpc.net/viewthread.p ... muid=12697#pid32421
http://bbs.znpc.net/viewthread.p ... muid=12697#pid32570
还有bean的pxegrub:2007-4-18http://bbs.znpc.net/viewthread.php?tid=2931&highlight=pxe

[ 本帖最后由 liuzhaoyzz 于 2010-5-26 10:37 编辑 ]
回复

使用道具 举报

184#
发表于 2010-5-26 12:26:06 | 只看该作者
PXE启动可以按照客户机网卡的MAC和IP及C类地址段配置不同的菜单文件,这样可以做到灵活步骤。不过目前这样步骤的人很少罢了。
无盘工作站这样比较方便,分类步骤。

现在应该是合理的。
回复

使用道具 举报

185#
发表于 2010-5-26 12:36:17 | 只看该作者
这个我知道,我说的意思是menu.lst→menu\default→MAC&IP好像更合理,chenall说不合理。
说到无盘或其他,如果想要MAC&IP菜单优先,删除menu.lst和default就能实现了吧,跳过这两个文件很快的,因为只要探测他是否在tftp上存在就行了,MAC&IP是否还要比较网卡的MAC&IP?
回复

使用道具 举报

186#
 楼主| 发表于 2010-6-20 11:22:49 | 只看该作者
2010-6-20
1.重写部份代码,优化效率,不再使用虚拟内存盘存放.而是直接使用内存地址0×40000(最多占用0×8200字节)
2.添加read命令,可以从指定文件中读取一序列命令执行(用于动态执行)
3.内置ECHO命令,使用wenv run ECHO时直接调用内置的echo功能显示.

有条件的朋友麻烦测试一下.

更多资料可以访问去我的搏客查看.
回复

使用道具 举报

187#
发表于 2010-6-20 13:49:20 | 只看该作者

回复 #186 chenall 的帖子

强!
老菜单可大为简化。

可惜没时间重写了。
回复

使用道具 举报

188#
 楼主| 发表于 2010-6-20 15:09:29 | 只看该作者
原帖由 pseudo 于 2010-6-20 13:49 发表
强!
老菜单可大为简化。

可惜没时间重写了。


新的版本可以直接替换旧的版本使用.只是取消了init和unload这些相关的命令.

另外从内存读取字符串有一点修改,现在只读一行,以回车符或\0计算.碰到\0或回车符都算一行结束.

这个得再考虑看看以什么方式比较好,也许会加一个参数来控制.

[ 本帖最后由 chenall 于 2010-6-20 15:13 编辑 ]
回复

使用道具 举报

189#
发表于 2010-6-21 08:35:46 | 只看该作者
wenv read file感觉有点问题,或者内置的echo命令有问题。

[ 本帖最后由 zhaohj 于 2010-6-21 08:41 编辑 ]

Snap1.jpg (31.23 KB, 下载次数: 187)

Snap1.jpg
回复

使用道具 举报

190#
发表于 2010-6-21 08:59:50 | 只看该作者
哦,echo改成大写就行了。但感觉内置命令用小写、大写都无所谓吧。

Snap2.jpg (72.02 KB, 下载次数: 180)

Snap2.jpg
回复

使用道具 举报

191#
发表于 2010-6-22 17:48:04 | 只看该作者
已在你BLOG上咨询,下面的问题:

新版本的wenv set命令是否有问题,比如0x8288的值是0x3200a8c0
老版本
wenv init
wenv calc tmp=*0x8288 & 0xff
wenv set pxe_ip=${tmp}
得到pxe_ip=192

新版本:
wenv calc tmp=*0x8288 & 0xff
wenv set pxe_ip=${tmp}
得到pxe_ip=tmp=*0x8288 & 0xff
显然是错误的。

[ 本帖最后由 zhaohj 于 2010-6-23 08:29 编辑 ]

Snap1.jpg (48.22 KB, 下载次数: 186)

Snap1.jpg
回复

使用道具 举报

192#
 楼主| 发表于 2010-6-23 08:28:39 | 只看该作者
我试一下,可能是BUG.
回复

使用道具 举报

193#
发表于 2010-6-23 08:37:03 | 只看该作者
想把0x8288的值保存为192.168.1.22的形式:
wenv calc tmp=*0x8288 & 0xff
wenv set pxe_ip=${tmp}
wenv calc tmp=*0x8288>>8 & 0xff
wenv set pxe_ip=${pxe_ip}.${tmp}
wenv calc tmp=*0x8288>>16 & 0xff
wenv set pxe_ip=${pxe_ip}.${tmp}
wenv calc tmp=*0x8288>>24 & 0xff
wenv set pxe_ip=${pxe_ip}.${tmp}

能不能只用一个变量达到目的。
回复

使用道具 举报

194#
 楼主| 发表于 2010-6-23 09:16:58 | 只看该作者
已经修复这个BUG.

可以的.

另外新版参数不再区分大小写.

[ 本帖最后由 chenall 于 2010-6-23 09:23 编辑 ]
回复

使用道具 举报

195#
发表于 2010-6-23 09:36:16 | 只看该作者
wenv set命令正常。
wenv read 内置的ECHO可能还有大写小写之分,试了新版大写没显示出来。echo小写可以。哈哈,与原来的正好相反。

另:wenv read 读文本的最后一行,如果是换行符最好不执行。不然变帮助--help

[ 本帖最后由 zhaohj 于 2010-6-23 09:59 编辑 ]

Snap1.jpg (32.4 KB, 下载次数: 182)

Snap1.jpg
回复

使用道具 举报

196#
 楼主| 发表于 2010-6-23 10:21:54 | 只看该作者
原帖由 zhaohj 于 2010-6-23 09:36 发表
wenv set命令正常。
wenv read 内置的ECHO可能还有大写小写之分,试了新版大写没显示出来。echo小写可以。哈哈,与原来的正好相反。

另:wenv read 读文本的最后一行,如果是换行符最好不执行。不然变帮助--help


又犯了一个错.已更新.

如果是回车符是没有执行的啊...
回复

使用道具 举报

197#
发表于 2010-6-23 10:36:02 | 只看该作者
大小写正常了,原先有空行会出来help,现在解决了。而且现在一条命令结束至少要有一个回车符。

C大,帮我把193#改一下。

[ 本帖最后由 zhaohj 于 2010-6-23 11:00 编辑 ]
回复

使用道具 举报

198#
 楼主| 发表于 2010-6-23 12:00:40 | 只看该作者
193执行起来没有问题啊.
回复

使用道具 举报

199#
 楼主| 发表于 2010-6-23 12:03:46 | 只看该作者
如果是放在文件是批执行的,因为calc返回的时计算结果,当值为0时也是返回0
我已经重新上传了一个版本,对于批执行不再判断返回值,也就是不管里面是什么命令执行结果如何,都执行到底.
回复

使用道具 举报

200#
发表于 2010-6-23 15:15:47 | 只看该作者
wenv set是否还是有问题?
我实机测试:
debug on
wenv  set xy=123
wenv get xy
无任何显示。

[ 本帖最后由 zxw 于 2010-6-23 15:25 编辑 ]
回复

使用道具 举报

201#
 楼主| 发表于 2010-6-23 16:28:00 | 只看该作者
没有发现,可能是使用方法有误.
回复

使用道具 举报

202#
发表于 2010-6-23 17:02:35 | 只看该作者

回复 #201 chenall 的帖子

怪事,虚拟机下测试没有问题。
另:wenv init 在虚拟机、实机均提示错误,改为wenv run init了?

[ 本帖最后由 zxw 于 2010-6-23 17:03 编辑 ]

1.jpg (33.63 KB, 下载次数: 209)

1.jpg
回复

使用道具 举报

203#
发表于 2010-6-24 08:19:30 | 只看该作者
楼上没仔细看帖。
现在已经不用init、unload
回复

使用道具 举报

204#
发表于 2010-6-24 10:48:50 | 只看该作者
原帖由 zhaohj 于 2010-6-24 08:19 发表
楼上没仔细看帖。
现在已经不用init、unload

汗,还真没注意。
回复

使用道具 举报

205#
发表于 2010-6-24 14:48:23 | 只看该作者
0PE中实机测试:wenv set还是有问题。wenv get  变量不显示。
但不进入0PE实机测试正常。可能新版wenv与0PE占用内存地址发生冲突?

[ 本帖最后由 zxw 于 2010-6-24 15:02 编辑 ]
回复

使用道具 举报

206#
发表于 2010-6-24 15:21:24 | 只看该作者
0pe没有使用0x40000上地址的啊,目前SRS_F6使用没有问题。
回复

使用道具 举报

207#
 楼主| 发表于 2010-6-24 15:27:55 | 只看该作者
原帖由 zxw 于 2010-6-24 14:48 发表
0PE中实机测试:wenv set还是有问题。wenv get  变量不显示。
但不进入0PE实机测试正常。可能新版wenv与0PE占用内存地址发生冲突?

贴图上来看一下,包括你使用的GRUB4DOS和WENV的版本号...
回复

使用道具 举报

208#
发表于 2010-6-24 17:24:22 | 只看该作者
grldr 2010.6.21
wenv 2010.5.19
wenvnew 2010.6.23


[ 本帖最后由 zxw 于 2010-6-24 17:28 编辑 ]
回复

使用道具 举报

209#
发表于 2010-6-24 17:55:53 | 只看该作者
奇怪了,我这里很正常。

Snap1.jpg (74.9 KB, 下载次数: 192)

Snap1.jpg
回复

使用道具 举报

210#
 楼主| 发表于 2010-6-24 18:17:25 | 只看该作者
原帖由 zxw 于 2010-6-24 17:24 发表
grldr 2010.6.21
wenv 2010.5.19
wenvnew 2010.6.23
9255992557


你可以试试以下命令
write 0x40000 0x12345678
read 0x40000

看看是不是这个地址被你的主板或其它程序给保护了.

另外
wenv get 或wenv set都可以获取当前设置的变量列表.

cat --hex (md)0x200+1看看变量有没有被设置上去.

[ 本帖最后由 chenall 于 2010-6-24 18:19 编辑 ]
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-26 01:35

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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