分类: LINUX
2011-03-14 19:38:17
首先应该明确,CF卡做引导盘启动与硬盘引导启动应该属于一类问题。它不同于U盘引导启动。
1. 将CF卡插在读卡器上,当做U盘,插在windows系统主机上,比如认作I盘;
2. 选中I盘,右键->格式化,选择FAT文件系统,将CF卡格式化为FAT文件系统(此步也可以省略);
3. 用Usboot170.exe软件,选择I盘,将它制作为USB-ZIP类型的启动盘;
4. 将vxsys.com文件拷贝到CF卡上;
5. 连同读卡器一起,插入到MIC3390的USB接口上,先启动进入BIOS,选择first启动方式为USB-ZIP;
6. 重启,进入DOS环境,运行如下命令:
C:\>lock C:
WARNING: …
Are you sure (Y/N)? y
C:\>vxsys C:
Vxsys 1.6(c) Wind River 1993-2002
That’s a hard disk! Are you sure (y/n)? y
Boot sector installed ok.
C:\>
7. 关机,将CF卡及读卡器连到windows主机,用mkboot命令将bootrom.sys做到CF上,vxworks映像也可以直接拷贝上去。由于mkboot命令实际行包含了vxsys命令,所以也许第6步也可以不做(这个没有实际验证);
8. 将CF卡取下,插入到板上的卡槽中,重启系统,进入BIOS,first启动方式改为Hard Disk,重启系统就OK了。
当然,在CF卡上的MS-DOS的相关文件,以及vxsys.com文件,都可以直接删除了,因为vxworks操纵系统的引导程序已经在CF卡上了。
注意:使用Usboot170.exe软件格式化CF卡为启动盘的时候,必须选择ZIP格式。这个软件的作用是将U盘(即插在读卡器上的CF卡)制作为U盘DOS启动盘。先说明HDD、FDD和ZIP三种驱动器类型区别:HDD即HardDiskDriver,硬盘驱动器;ZIP是指一种高储存密度的磁盘驱动器;FDD即FloppyDiskDriver软盘驱动器。如果做成HDD启动,无论将它直接插在MIC3390板子上启动,或是连接读卡器以U盘方式启动,启动时BIOS都不认;也不要做成FDD格式,否则在bootrom启动时检测磁盘分区表时,会提示下面的错误:
usrFdiskPartLib: warning: invalid partition entry encountered block 0, entry0, sys type 8a, Skipped
usrFdiskPartLib: warning: invalid partition entry encountered block 0, entry1, sys type f8, Skipped
usrFdiskPartLib: warning: invalid partition entry encountered block 0, entry2, sys type 31, Skipped
usrFdiskPartLib: warning: invalid partition entry encountered block 0, entry3, sys type 20, Skipped
这个错误的意思是读取FDISK类型的磁盘分区表错误。
我开始以为是我的CF卡坏了,但是买了新的CF卡,按照原来的步骤做(启动盘做成了USB-FDD类型),错误依旧。于是help里查usrFdiskPartLib,再根据说明查什么是FDISK。磁盘的第一个扇区即主引导扇区,512字节,由MBR主引导记录(前446个字节),DPT磁盘分区表(64字节),和结束标志(2字节,固定为0x55aa)组成。也就是说,我的磁盘分区表写的有问题,而磁盘分区表一定是在使用Usboot170软件制作启动盘的时候写入的。那么可能写入的这个磁盘分区表并不被vxworks所接收(启动盘制作的是DOS的)。所以想到了再重新换一种类型的U盘类型来做,果然成功了。
还有就是不要使用ghost那个小软件了,试了几次都不好用了。