VxWorks6.6 pcPentium BSP 使用说明(二):创建启动盘

本篇介绍从Solaris、Linux、Windows或VxWorks创建VxWorks启动盘的方法。

从Solaris或Linux创建启动盘

使用Solaris或Linux自带的工具/usr/bin/fdformat。它需要一个引导加载程序vxld.bin,位置为安装目录下的$WIND_BASE/host/$WIND_HOST_TYPE/bin/vxld.bin。

插入一张1.44MB的软盘,键入fdformat命令格式化软盘并安装引导。

fdformat
-U -d -B $WIND_BASE/host/$WIND_HOST_TYPE/bin/vxld.bin

Formatting
1.44 MB in /vol/dev/rdiskette0/no_name#0

Press
return to start formatting floppy.

..................................................
...........

fdformat:
using "vxld.bin" for MS-DOS boot loader

退出并重新插入该软盘。在许多系统中必须键入弹出命令。

>
eject

/vol/dev/rdiskette0/no_name
can now be manually ejected

>
volcheck

复制BootROM的镜像到软盘。使用cp命令复制bin镜像或使用objcopypentium命令对于其他镜像文件。

>
cp bootrom.bin /floppy/floppy0/bootrom.sys

...

>
objcopypentium -O binary bootrom /floppy/floppy0/bootrom.sys

在Solaris下使用一些版本的fdformat进行低级格式化可能会导致启动时间变长。由于现今的软盘只是未格式化,Solaris用户可添加-
x
参数格式化软盘以避免过长的启动时间:

fdformat
-x -U -d -B $WIND_BASE/host/$WIND_HOST_TYPE/bin/vxld.bin

该参数只能在格式化软盘时使用。

从Windows创建启动软盘

C:\WR\VxWorks\target\config\pcPentium\>
format a: /v /q

Insert
new disk for drive A:

and
press ENTER when ready...

The
type of the file system is FAT.

Verifying
1.44M

Format
complete.

Volume
label (11 characters, ENTER for none)?

1457664 bytes total disk space.

1457664 bytes available on disk.

512 bytes in each allocation unit.

2847 allocation units available on disk.

Volume
Serial Number is 307A-4ACB

Format
another (Y/N)? n

C:\WR\VxWorks\target\config\pcPentium>
mkboot a: bootrom.bin

VxSys
1.6 (c) Wind River 1993-2002

Boot
sector installed OK.

1
file(s) copied.

System
transferred. Checking
a:BOOTROM.SYS is contiguous

chkdsk
a:bootrom.sys

The
type of the file system is FAT.

Volume
Serial Number is D4CF-F52B

Windows
is verifying files and folders...

File
and folder verification is complete.

Windows
has checked the file system and found no problem.

1,457,664 bytes total disk space.

271,360 bytes in 1 files.

1,186,304 bytes available on disk.

512 bytes in each allocation unit.

2,847 total allocation units on disk.

2,317 allocation units available on disk.

All
specified file(s) are contiguous.

mkboot.bat将启动引导写入软盘的引导扇区。然后mkboot拷贝启动文件到软盘上并检测确保启动文件是连续的。用户必须注意反馈的报告信息确保启动文件是连续的。引导装载程序将不能正确地处理一个非连续的启动文件。

另一种方法是手动调用mkboot.bat:

格式化

使用.\host\x86-win32\bin\vxsys创建一个引导扇区

拷贝引导镜像并修改扩展名为.bin

对于所有其他启动镜像使用objcopypentium命令

例如:

C:\WR\VxWorks\target\config\pcPentium\>
format a: /v /q

Insert
new disk for drive A:

The
type of the file system is FAT.

The
type of the file system is FAT.

QuickFormatting
1.44M

Format
complete.

Volume
label (11 characters, ENTER for none)?

1457664字节总磁盘空间。

1457664 bytes available on disk.

512 bytes in each allocation unit.

2847 allocation units available on disk.

Volume
Serial Number is DC31-1143

QuickFormat
another (Y/N)? n

C:\WR\VxWorks\host\x86-win32\bin>
vxsys a:

VxSys
1.6 (c) Wind River 1993-2002

Boot
sector installed OK.

现在复制启动镜像到软盘。对.bin的镜像使用copy命令

C:\WR\VxWorks\target\config\pcPentium>
copy bootrom.bin a:bootrom.sys

对于其他所有的镜像使用objcopypentium命令

C:\WR\VxWorks\host\x86-win32\bin\objcopypentium
-O binary --gap-fill=0

bootrom
a:bootrom.sys

现在验证该文件是连续的。非连续的镜像将无法启动。

C:\WR\VxWorks\target\config\pcPentium>
chkdsk a:bootrom.sys

The
type of the file system is FAT.

Volume
Serial Number is DC31-1143

CHKDSK
is verifying files and directories...

File
and directory verification completed.

1457664字节总磁盘空间。

964608 bytes available on disk.

964608 bytes available on disk.

2847 total allocation units on disk.

2847 total allocation units on disk.

1884 allocation units available on disk.

All
specified file(s) are contiguous.

你也可以使用硬盘来引导VxWorks。你必须从计算机的BIOS上显示的主磁盘上的主引导分区引导。

建议您使用FDISK或类似的实用程序来创建主引导分区。原因是FDISK的使用PC
BIOS调用来创建磁盘主引导记录。BIOS的任务是在启动过程中装载启动引导。因此,建议使用像FDISK一样通过BIOS改写分区的实用程序。

磁盘分区和文件系统可以支持FAT12、FAT16或VxWorks专有的VXLONGNAMES文件系统。引导加载程序不支持FAT32格式。如果您需要FAT32格式,分出一个小的FAT16分区作为主引导分区,第二个较大的分区作为FAT32格式包含剩余的磁盘空间。

在上面的例子中用盘符“C:”取代盘符“A:”创建引导磁盘时,vxsys.com会问提示如下问题:

That‘s
a hard disk!Are
you sure (y/n)?

您应该输入“Y”,以确认操作。这是为了防止误覆盖其他的从本磁盘启动的操作系统。

从vxWorks创建可启动磁盘

VxWorks下的三个引导工具用法如下:

STATUS
mkbootFd

(

int drive,    /* destination drive number: (0 - 3)  */

int fdType,   /* type of floppy disk: (0 - 1)       */

char *in      /* source file name                   */

)

STATUS
mkbootAta    
(   
int ctrl,     /* dest. controller number: (0 - 1)   */

int drive,    /* dest. drive number: (0 - 1)        */

char *in      /* source file name                   */

)

STATUS
mkbootTffs   
(

int drive,       /* drive number: (0 - TFFS_MAX_DRIVES - 1) */

int removable,   /* removable or not: (TRUE - FALSE)        */

char *in         /* source file name                        */

)

所有例程成功后均会返回OK,如果在复制镜像文件到磁盘时失败则会返回ERROR。这些例程的源代码在BSP文件mkboot.c中。

示例

示例1:使用mkbootFd创建一个启动软盘:

软盘位于驱动器0(或a:),镜像文件的名称是bootrom.sys

->
mkbootFd 0, 0, "bootrom.sys"

示例2:使用mkbootFd创建一个可引导的磁盘:

硬盘位于ATA控制器0通道,其驱动器号为0(或C:)。镜像文件的名称是bootrom.sys

-> mkbootAta 0, 0, "bootrom.sys"

示例3:使用mkbootTffs创建一个可启动的TrueFFS磁盘:

磁盘驱动器TrueFFS位于0(或C:),这是一个非移动驱动器。镜像文件的名称是bootrom.sys

->
mkbootTffs 0, 0, "bootrom.sys"

这些板不具有非易失性RAM,因此,系统断电后引导参数将不被保留。然而,静态引导参数可以设置在config.h中的启动参数设置行DEFAULT_BOOT_LINE

BootROM程序

vxsys.com
驱动器号:

此命令将在磁盘引导扇区安装一个VxWorks引导载入程序。该驱动器可以是由BIOS的引导的软盘(驱动器A:)或硬盘。VxWorks的引导载入程序在根目录搜索bootrom.sys并直接加载到内存0x8000的线性地址中。然后跳转到0x8000执行romInit()

附注:

经过引导加载器在磁盘引导扇区创建引导,您不必再为新的ROM镜像重复vxsys创建引导的操作。只需复制一个新的启动映像到已经安装引导的磁盘即可。

vxld.bin

vxld.bin既不是一个命令,也不是一个程序,而是一个由vxsys.com安装到磁盘或软盘上引导扇区的副本。他被单独便提及以便于替换Solaris、Linux或其他第三方引导创建的引导加载程序。

mkboot
驱动器号:源文件

此命令是一个MS
- DOS批处理文件,它调用vxsys.com安装VxWorks的引导加载程序到启动扇区,然后使用复制源文件到“盘符:bootrom.sys”。它也调用MS-DOS的chkdsk校验bootrom.sys是否连续。

vxload.com
[image_file]

此命令用于从MS-DOS启动并加载VxWorks镜像,尤其是bootrom镜像。它可以在PC启动时更方便快捷地加载镜像。
vxload需要一个参数,即镜像文件的名称。 vxload.com不与任何Microsoft Windows版本兼容,它仅支持在MS-DOS下运行。

VxWorks的低内存镜像运行在内存0x8000到0xa0000的空间。这限制了提供给镜像的可用的内存池的大小。config.h中的INCLUDE_BOOT_ADDMEM配置使能代码运行时是否可使用内存池中指定的高内存(内存物理地址大于0x100000)单镜像为低内存版本时。此选项不能用在系统的内存少于4MB的情况下。

加载低内存镜像的内存大小ADDED_BOOTMEM_SIZE的默认值为2MB。这个值可能会增加,但要确保该池不与下载下来的vxWorks镜像重叠,当INCLUDE_BOOT_ADDMEM配置为使用低内存启动镜像时。如果有重叠,加载的vxWorks镜像运行会破坏已加载的内存池。

确定ADDED_BOOTMEM_SIZE值的计算方法如下:

(RAM_LOW_ADRS + vxWorks image size) < (memTopPhys + ADDED_BOOTMEM_SIZE)

memTopPhys在BSP文件sysLib.c中被计算。

VxWorks6.6 pcPentium BSP 使用说明(二):创建启动盘

时间: 2024-08-03 11:31:27

VxWorks6.6 pcPentium BSP 使用说明(二):创建启动盘的相关文章

VxWorks6.6 pcPentium BSP 使用说明(一):基本概念

"VxWorks6.6 BSP 使用说明"将发布pcPentium和idp945两个系列的BSP的使用说明.每个系列约5篇文章.之后还将发布由这两个官方提供的BSP的实战移植方法. 本说明适用范围 pcPentium/2/3/4 - 386/486 和 Pentium/2/3/4 引言 该参考文档提供运行pcPentium,pcPentium2,pcPentium3和pcPentium4的VxWorks BSP的板卡特性信息. 在板卡上运行VxWorks之前,核实板卡运行在正确的配置,

VxWorks6.6 pcPentium BSP 使用说明(三):设备驱动

本文主要介绍了pcPentium BSP中包含的驱动程序.包含了官方提供的所有驱动程序,除了aic7888Lib--现在已用得很少的一个AIC-7888 SCSI控制器的驱动介绍.建议重点阅读ataDrv和ataShow部分,其他部分可以略看. BSP通过VxBus的驱动合集和老的非VxBus驱动来支持设备.此版本中,VxBus是默认配置,非VxBus驱动程序支持已被删除. VxBus驱动遵循VxWorks 6.2中引进的总线模型.在此模型中,VxBus提供大部分功能,这在以前是需要放入BSP文

PE和CDlinux二合一启动盘制作

工具软件--微PE启动盘制作工具.CDlinux_0.9.7.1.iso镜像.FbinstTool工具 步骤1:使用微PE启动盘制作工具制作PE盘,注意启动方式选择Fbinst启动方式. 2.将CDlinux_0.9.7.1.iso镜像使用rar压缩工具解压到制作好的PE盘,包含CDlinux目录和mkisofs.sh文件. 3.使用FbinstTool工具修改grldr文件,如下: default 0timeout 3 title CDLINUX 0.9.7.1find --set-root

linux系统中创建windows启动盘

平时工作中用到linux的操作命令较多,因此为了方便,就给电脑装了双系统,一般工作的时候,都选择进入linux系统.但是今天有件工作之外的事情需要解决下:创建一个windows启动盘.如果按照往常来说,我会启动windows,然后用xxx工作制作u盘启动工具,傻瓜式的创建启动盘.但是今天不想再重启系统进入windows做u盘的启动盘了.想在想在linux系统中做u盘启动盘. 之前也接触到在linux中做u盘启动盘的一些博客或其他信息,全部是说用dd命令就可以搞定,之前也试过,dd命令刻录wind

制作 OS X Mavericks 启动盘

众所周知,OS X Mavericks 并无安装光盘,该系统是通过 App Store 直接下载到本地并进行安装的.但是,不少的用户会有使用 USB 安装的需求(比如需要一个纯净的操作系统,而非从先前的系统升级上来,或者需要在多台 Mac 上安装该系统),在这些情况下,创建一个启动盘来执行 Mavericks 的安装过程就显得尤为重要了. 其实创建启动盘的整个过程并不复杂,但是在开始之前,请确定您可以在现有的系统上准确定位下列 App: Intall OS X Mavericks.app ——这

DevExpress XtraReports 入门二 创建 data-aware(数据感知) 报表

原文:DevExpress XtraReports 入门二 创建 data-aware(数据感知) 报表 本文只是为了帮助初次接触或是需要DevExpress XtraReports报表的人群使用的,为了帮助更多的人不会像我这样浪费时间才写的这篇文章,高手不想的看请路过 本文内容来DevExpress XtraReports帮助文档,如看过类似的请略过. 废话少说 开始正事 一.创建应用程序并添加报表 启动 MS Visual Studio (2005.2008.或 2010). 在 Visua

Ubuntu 14.04 Android 使用Maven二 创建自己的Mavenproject

依据https://code.google.com/p/maven-android-plugin/wiki/GettingStarted 介绍,有两种方法能够创建Mavenproject. 第一种方法是用archetype, 可是我使用了之后,发现archetype产生的项目编译时有一个依赖找不到,无论了,先换其它方法. 另外一种方法就是使用android命令行创建项目,然后复制样例代码project的pom文件并改动, Ubuntu 14.04 设置Android开发环境 描写叙述了怎样用命令

Ubuntu 14.04 Android 使用Maven二 创建自己的Maven工程

根据https://code.google.com/p/maven-android-plugin/wiki/GettingStarted 介绍,有两种方法可以创建Maven工程. 第一种方法是用archetype, 但是我使用了之后,发现archetype产生的项目编译时有一个依赖找不到,不管了,先换其他方法. 第二种方法就是使用android命令行创建项目,然后复制例子代码工程的pom文件并修改, Ubuntu 14.04 设置Android开发环境 描述了如何用命令行创建项目 Ubuntu

Orleans学习总结(二)--创建工程

通过第一篇Orleans学习总结(一)--入门认识我们大致知道知道是干嘛的了,下面我们来动手造一个传说中的神秘的高并发集群Orleans程序. 一.创建四个C#工程 1.IGrain工程,用来定义各种业务逻辑对象的接口的工程 1)创建一个Class Library工程 2)安装Olreans依赖PM> Install-Package Microsoft.Orleans.OrleansCodeGenerator.Build或者右键Refrerence->Manage NuGet Packages