无忧启动论坛

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

[20110331 修正] CMPE (03核心,通用外置SRS、PCI三卡驱动架构,全面硬件支持)

  [复制链接]
1#
发表于 2010-6-12 15:02:57 | 显示全部楼层
很好,完成了Coolg没完成的任务。
SRS_NET.img中不要放置驱动,放在外面方便用户任意换驱动。
回复

使用道具 举报

2#
发表于 2010-6-12 15:21:58 | 显示全部楼层
也就是SRS.ZIP、NET.ZIP放在外面,象SRS_F6处理一样。
回复

使用道具 举报

3#
发表于 2010-6-12 16:47:49 | 显示全部楼层
比较关心nic.map是怎么生成的,有没有现成的程序?
以前的写法一般是:
PCI\VEN_10B7&DEV_1700="3COM\EL2000X"
PCI\VEN_10B7&DEV_9300="3COM\El910"
PCI\VEN_10b7&DEV_9902="3COM\EL99X_NT"
PCI\VEN_10b7&DEV_9903="3COM\EL99X_NT"
...
回复

使用道具 举报

4#
发表于 2010-6-12 18:26:46 | 显示全部楼层
CHKNET.COM及CHKSRS.COM是N版新的吗还是你自己编的?里面的头包含ID?
回复

使用道具 举报

5#
发表于 2010-6-13 00:09:36 | 显示全部楼层
chipci.bin+硬件库=chkpci.com
还是喜欢CHENALL的方式,通用性强。
如果驱动改变了,CHKPCI.COM也得更新。
回复

使用道具 举报

6#
发表于 2010-6-15 08:45:21 | 显示全部楼层
FIRADISK对GHOST影响是有的。内置Firadisk我认为没有必要。
象万能显卡驱动,也是有后遗症的,VM拖放就无法使用。

楼主的作品,如果通用性做得再强一点,还是有发挥空间的。你要从一个最普通用户考虑。
PXE启动,网卡是很关键的,但我们遇到问题肯定是这台机器的网卡驱动很不常见,你想想这个时候网管可以做,普通用户能做到吗?
回复

使用道具 举报

7#
发表于 2010-6-16 10:53:59 | 显示全部楼层
希望下一版用NETID.TXT方式,或者两个版本。
回复

使用道具 举报

8#
发表于 2010-7-9 17:25:29 | 显示全部楼层
原帖由 canmao 于 2010-6-30 20:19 发表
谢谢指正,当初没考虑到ghost的情况。下一版改为 D:\ 。


页面文件建议手动设置,不然恢复数据可能麻烦。
回复

使用道具 举报

9#
发表于 2010-7-9 17:55:59 | 显示全部楼层
EXEC !CMD.exe /c echo.|net use Z: \\10.16.1.1\pets$ /user:guest
上面这个地方不够科学,具体可以看一下:
http://bbs.wuyou.net/viewthread. ... page=208#pid1997927


另外,为了避免兼容性,FIRADISK驱动就不要集成了。

[ 本帖最后由 zhaohj 于 2010-7-9 18:20 编辑 ]
回复

使用道具 举报

10#
发表于 2010-7-9 18:30:15 | 显示全部楼层
挺不错的,再加些判断还要好;如用户只要SRS和LAN,可以做个配置文件,或让用户选择需要什么。

Snap1.jpg (149.97 KB, 下载次数: 126)

Snap1.jpg
回复

使用道具 举报

11#
发表于 2010-7-9 19:01:00 | 显示全部楼层
echo.cat --length=0 (fd0)/PXE.TXT ^^ find --set-root --ignore-floppies /PEDRVS/_SRS.TXT>>startpe.lst
::上一行命令正确的应该如下行;但PXE启动情况下,此时执行 "find" 会死机
::echo.find --set-root --ignore-floppies /PEDRVS/_SRS.TXT ^^ rootnoverify (pd)
上面是原话---------------------------
你的意思是:如果存在(fd0)/PXE.TXT,就是PXE启动,再判断PXE上有没有/PEDRVS/_SRS.TXT,有就指定为当前盘,没有再搜索硬盘上的
echo.cat --length=0 (fd0)/PXE.TXT && cat --length=0 (pd)/PEDRVS/_SRS.TXT && rootnoverify (pd)
echo.cat --length=0 (fd0)/PXE.TXT && cat --length=0 (pd)/PEDRVS/_SRS.TXT ^^ find --set-root --ignore-floppies /PEDRVS/_SRS.TXT



-----------------------------
copy驱动到(hd0)先判断_**.txt是否存在,存在就复制。这样用户只要把这个文件改名达到目的,减少COPY花费的时间。

另:链接中的SERV_SET.BAT是用户自定义的,pxe启动是0x8288是PXE服务器的IP地址,自动计算后写入到SERV_SET.BAT。你可以前后翻翻贴。

[ 本帖最后由 zhaohj 于 2010-7-9 19:07 编辑 ]
回复

使用道具 举报

12#
发表于 2010-7-10 09:31:52 | 显示全部楼层
客户端PXE启动,同时存在\PEDRVS的可能性很少,可以这样:

1:PXE启动,如果PXE上存在\PEDRVS,就用PXE上的。
2:PXE启动,如果PXE上不存在\PEDRVS,再搜索本地上的\PEDRVS,存在就用本地。
回复

使用道具 举报

13#
发表于 2010-7-10 12:58:31 | 显示全部楼层
虚拟机测试,是不是SRS驱动处理有问题?

Snap1.jpg (11.97 KB, 下载次数: 123)

Snap1.jpg
回复

使用道具 举报

14#
发表于 2010-7-10 16:14:41 | 显示全部楼层
可能新版的FAT有问题,我尝试着先COPY到内存,出现上述情况
debug off
pause --wait=0 Load WinPE Image...
map (hd0) (hd)
map --hook
write 0x82a4 1
map --mem=0xB000 ()/CMPE/WINPE9.IMG (rd)
write 0x82a4 0
map (rd)+1 (hd0)
map --hook
map --mem ()/PEDRVS/GETDRV.IMG (fd0)
map --hook
command --set-path=(fd0)/G4DEXT/
FAT copy ()/PEDRVS/AUTOEXEC.TXT (fd0)/AUTOEXEC.BAT
ECHO Copy SRS IDs...
cat --length=0 ()/PEDRVS/_SRS.TXT && map --mem=0xB000 ()/PEDRVS/_SRS.TXT (rd) && FAT copy (rd)+1 (fd0)/_SRS.TXT
cat --length=0 ()/PEDRVS/SCSI.TXT && map --mem=0xB000 ()/PEDRVS/SCSI.TXT (rd) && FAT copy (rd)+1 (fd0)/SCSI.TXT
cat --length=0 ()/PEDRVS/SCSILOAD.TXT && map --mem=0xB000 ()/PEDRVS/SCSILOAD.TXT (rd) && FAT copy (rd)+1 (fd0)/SCSILOAD.TXT
ECHO Copy Lan IDs...
cat --length=0 ()/PEDRVS/LAN/_LAN.TXT && map --mem=0xB000 ()/PEDRVS/LAN/_LAN.TXT (rd) && FAT copy (rd)+1 (fd0)/_LAN.TXT
ECHO Copy Wlan IDs...
cat --length=0 ()/PEDRVS/WLAN/_WLAN.TXT && map --mem=0xB000 ()/PEDRVS/WLAN/_WLAN.TXT (rd) && FAT copy (rd)+1 (fd0)/_WLAN.TXT
ECHO Copy Audio IDs...
cat --length=0 ()/PEDRVS/AUDIO/_AUDIO.TXT && map --mem=0xB000 ()/PEDRVS/AUDIO/_AUDIO.TXT (rd) && FAT copy (rd)+1 (fd0)/_AUDIO.TXT
ECHO Copy Video IDs...
cat --length=0 ()/PEDRVS/VIDEO/_VIDEO.TXT && map --mem=0xB000 ()/PEDRVS/VIDEO/_VIDEO.TXT (rd) && FAT copy (rd)+1 (fd0)/_VIDEO.TXT
checkrange 0x21 read 0x82a0 && FAT mkfile size=1 (fd0)/PXE.TXT
#cat --length=0 ()/OEMSRS.ZIP || find --set-root --ignore-floppies /OEMSRS.ZIP
cat --length=0 ()/OEMSRS.ZIP && map --mem (fd0)/OEMSRS.GZ (fd1) && map --hook && map --mem=0xB000 ()/OEMSRS.ZIP (rd) && FAT copy (rd)+1 (hd0,0)/OEMSRS.ZIP
ECHO Program processing,Please waiting...
rootnoverify (fd0) && chainloader ()/io.sys || chainloader --force ()/io.sys
boot
回复

使用道具 举报

15#
发表于 2010-7-10 16:55:22 | 显示全部楼层
我测试COPY时很卡,所有先拷贝到内存加快速度,这对于大文件速度优势很明显。

我没有发现上面有什么错,检查了一下(hd0)、(fd0)中的内容也正确。
------------------
问题是直接用你的原版可以设别硬盘,真见鬼了。
但COPY是很卡,时间太长了。
回复

使用道具 举报

16#
发表于 2010-7-10 17:22:46 | 显示全部楼层
跟踪了一下,也正确

Snap1.jpg (99.11 KB, 下载次数: 110)

Snap1.jpg
回复

使用道具 举报

17#
发表于 2010-7-10 17:35:52 | 显示全部楼层
<srsid.txt lmod /l* tfind "[$2]" scsi.txt>scsi.bat
<srsid.txt lmod /l* tfind "[$2]" scsiload.txt>scsil.bat
<srsid.txt lmod /l* FAT copy ()/PEDRVS/SRS/[$2].SY_ (hd0,0)/WXPE/SYSTEM32/DRIVERS/>>startpe.lst
>nul str scsi.bat 0 0 /R /HEX:0D0A /HEX:3E3E53432E5458540D0A /A
>nul str scsil.bat 0 0 /R /HEX:0D0A /HEX:3E3E534C2E5458540D0A /A
call scsi.bat
call scsil.bat
pause
type startpe.lst
pause
echo.commandline>>startpe.lst

[ 本帖最后由 zhaohj 于 2010-7-10 17:37 编辑 ]

Snap1.jpg (189.58 KB, 下载次数: 118)

Snap1.jpg
回复

使用道具 举报

18#
发表于 2010-7-10 17:43:51 | 显示全部楼层
这句可能有问题,PXE stack unload

Snap1.jpg (38.78 KB, 下载次数: 108)

Snap1.jpg
回复

使用道具 举报

19#
发表于 2010-7-10 17:57:18 | 显示全部楼层
可以确定FAT可能出错
<srsid.txt lmod /l* FAT copy ()/PEDRVS/SRS/[$2].SY_ (hd0,0)/WXPE/SYSTEM32/DRIVERS/>>startpe.lst
echo.pause>>startpe.lst

Snap1.jpg (16.52 KB, 下载次数: 127)

Snap1.jpg
回复

使用道具 举报

20#
发表于 2010-7-10 18:03:21 | 显示全部楼层
内核中取消FIRADISK及wimfs.sys,这样可能好点。问题可能在这两个驱动。
回复

使用道具 举报

21#
发表于 2010-7-10 18:44:18 | 显示全部楼层
我记得新版GRLDR不用PXE KEEP的,我在做SRS_F6时
#pxe keep有可能返回后加载PE会死机,PXE启动默认按PXE启动菜单设置处理
rootnoverify (hd0,0) && chainloader ()/io.sys || chainloader --force ()/io.sys

并不需要pxe keep
回复

使用道具 举报

22#
发表于 2010-7-10 19:12:13 | 显示全部楼层
加上也一样,找不到驱动,我测试SRS_F6很正常。
进入IO.SYS前,要加上pxe keep再进入IO.SYS。这个忘了,是需要的。
你的HIMEM.SYS好像不是原版的。

是不是文件坏了。我重新下载试试。

[ 本帖最后由 zhaohj 于 2010-7-10 20:03 编辑 ]
回复

使用道具 举报

23#
发表于 2010-7-10 20:01:35 | 显示全部楼层
晕死,重新下载竟然可以了。
用下面的提高速度:
debug off
map --mem ()/PEDRVS/GETDRV.IMG (fd0)
map --hook
command --set-path=(fd0)/G4DEXT/
FAT copy ()/PEDRVS/AUTOEXEC.TXT (fd0)/AUTOEXEC.BAT
ECHO Copy SRS IDs...
cat --length=0 ()/PEDRVS/_SRS.TXT && map --mem=0xB000 ()/PEDRVS/_SRS.TXT (rd) && FAT copy (rd)+1 (fd0)/_SRS.TXT
cat --length=0 ()/PEDRVS/SCSI.TXT && map --mem=0xB000 ()/PEDRVS/SCSI.TXT (rd) && FAT copy (rd)+1 (fd0)/SCSI.TXT
cat --length=0 ()/PEDRVS/SCSILOAD.TXT && map --mem=0xB000 ()/PEDRVS/SCSILOAD.TXT (rd) && FAT copy (rd)+1 (fd0)/SCSILOAD.TXT
ECHO Copy Lan IDs...
cat --length=0 ()/PEDRVS/LAN/_LAN.TXT && map --mem=0xB000 ()/PEDRVS/LAN/_LAN.TXT (rd) && FAT copy (rd)+1 (fd0)/_LAN.TXT
ECHO Copy Wlan IDs...
cat --length=0 ()/PEDRVS/WLAN/_WLAN.TXT && map --mem=0xB000 ()/PEDRVS/WLAN/_WLAN.TXT (rd) && FAT copy (rd)+1 (fd0)/_WLAN.TXT
ECHO Copy Audio IDs...
cat --length=0 ()/PEDRVS/AUDIO/_AUDIO.TXT && map --mem=0xB000 ()/PEDRVS/AUDIO/_AUDIO.TXT (rd) && FAT copy (rd)+1 (fd0)/_AUDIO.TXT
ECHO Copy Video IDs...
cat --length=0 ()/PEDRVS/VIDEO/_VIDEO.TXT && map --mem=0xB000 ()/PEDRVS/VIDEO/_VIDEO.TXT (rd) && FAT copy (rd)+1 (fd0)/_VIDEO.TXT
checkrange 0x21 read 0x82a0 && pxe keep && FAT mkfile size=1 (fd0)/PXE.TXT
ECHO Load WinPE Image...
#map (hd0) (hd)
#map --hook
write 0x82a4 1
map --mem=0xB000 ()/CMPE/WINPE9.IMG (rd)
write 0x82a4 0
map --mem (rd)+1 (hd0)
map --hook
#cat --length=0 ()/OEMSRS.ZIP || find --set-root --ignore-floppies /OEMSRS.ZIP
cat --length=0 ()/OEMSRS.ZIP && map --mem (fd0)/OEMSRS.GZ (fd1) && map --hook && map --mem=0xB000 ()/OEMSRS.ZIP (rd) && FAT copy (rd)+1 (hd0,0)/OEMSRS.ZIP
ECHO Program processing,Please waiting...
rootnoverify (fd0) && chainloader ()/io.sys || chainloader --force ()/io.sys
boot
回复

使用道具 举报

24#
发表于 2010-7-10 20:15:48 | 显示全部楼层
实机测试黑屏,呵呵。黑屏要排除DOS下运行的程序了。

[ 本帖最后由 zhaohj 于 2010-7-10 20:26 编辑 ]
回复

使用道具 举报

25#
发表于 2010-7-11 10:09:03 | 显示全部楼层
我怀疑你的PE镜像有问题,我修改一下你的镜像,就文件破碎。能不能把你的文件用RAR打包重新上传一下,我自己做一下镜像。

另外,集成NTDECETE.COM的setupldr.bin是否有问题?那就分开两个文件,放在根下就可。
GETDRV.IMG中的文件也用RAR打包。
system.wim也用RAR打包

[ 本帖最后由 zhaohj 于 2010-7-11 10:10 编辑 ]
回复

使用道具 举报

26#
发表于 2010-7-11 10:30:54 | 显示全部楼层
有可能经过碎片整理后出问题,你把原始的打包一下,首先保证实机能通过,通过后再修改。

现在内核感觉有点大,能不能先把声、显卡先去掉。

[ 本帖最后由 zhaohj 于 2010-7-11 10:32 编辑 ]
回复

使用道具 举报

27#
发表于 2010-7-11 13:55:04 | 显示全部楼层
问题确实是pxe keep引起的,到boot前无法pxe unload。
这个问题好像从6.9版本的GRUB4DOS开始就存在。
我运行SRS_F6返回模块,再运行其他的PE,加载速度很慢,但能进入。我记得以前是很快的。
测试:运行SRS_F6返回模块,返回后在命令行下pxe unload,失败。而执行pxe nokeep成功。
回复

使用道具 举报

28#
发表于 2010-7-11 15:59:44 | 显示全部楼层
这个问题看来得等GRUB4DOS更新后才能解决,我已经到时空反映这个问题了。
PXE启动,如果在进入DOS前不用pxe keep而又保持网络状态,那这个问题就解决了。我记得以前是可以的(大概0.4.5a的grub4dos)。
pxe keep后,要卸载它是很难的,而启动PE前不得不卸载。
回复

使用道具 举报

29#
发表于 2010-7-11 16:11:54 | 显示全部楼层
还有一个解决的办法是:判断PXE启动,往config.sys写入DOS网卡通用驱动,通过TFTP命令下载,但要用到PXE的IP,这可以用到我的代码。
反正驱动文件很小,也不用等G4D更新了。config.sys:
rem ce=bin\undi_drv.exe
dos=high,umb
files=20
buffers=20
device=bin\himem.sys /testmem:off /v

ECHO Modify configuration information
#以下语句用于修改CONFIG.SYS让它加载UNDI_DRV.EXE.默认不加载,使用PXE启动时通过修改特定字符让它加载.
checkrange 0x21 read 0x8280 && write (fd0)/config.sys devi

[ 本帖最后由 zhaohj 于 2010-7-11 16:24 编辑 ]
回复

使用道具 举报

30#
发表于 2010-7-11 17:09:48 | 显示全部楼层
关于OEMSRS.ZIP,本地优先考虑是上策,但问题是find的效率太差。按理说放在本地应该优先考虑。

最近几位大大都很忙,可能无暇顾及G4D的问题,按我的方法做也是不错的选择。
而我的SRS_F6返回模块只有等新版解决。
还需要什么文件我上传给你。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-1 09:02

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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