我找來(lái)了現(xiàn)成的文章,因?yàn)槲沂窃谝粋€(gè)廣告滿天飛的不可信任的網(wǎng)站上找到的,而且也沒(méi)有注明版權(quán),我這里就很方便地直接搬上來(lái)了。
如下:
我也是初學(xué)者,根據(jù)wabcon2003-12-27的教程在VMWare上安裝VxWorks操作系統(tǒng)(原文找不到了),生成的bootrom在VMware中加載出現(xiàn):
(tBoot): sysNvRamGet:open failed
Attached TCP/IP interface to lnPci0.停在這里不動(dòng)了。
先說(shuō)明TCP/IP錯(cuò)誤,主要是沒(méi)有將網(wǎng)絡(luò)驅(qū)動(dòng)程序加入bootrom中。
解決辦法:
先將從AMD下載的網(wǎng)卡驅(qū)動(dòng)中的ln97xEnd.h和ln97xEnd.c復(fù)制到pcPentium目錄中,然后修改pcPentium中的Makefile文件
將MACH_EXTRA = 改為MACH_EXTRA = ln97xEnd.o
然后編譯生成bootrom。此時(shí)如果后面的操作都正確,boot已經(jīng)可以成功了。
open failed錯(cuò)誤不影響boot,但是有網(wǎng)友反應(yīng)會(huì)影響到以后的開(kāi)發(fā),以后還是應(yīng)該解決掉。解決的方法也很簡(jiǎn)單,就是修改config.h文件將
#define SYS_WARM_TYPE SYS_WARM_FD 改為
#define SYS_WARM_TYPE SYS_WARM_BIOS
Build Boo ROM的時(shí)候不支持C++語(yǔ)法,即//的注釋符不能被正確解析。
環(huán)境變量的設(shè)置只是臨時(shí)的,關(guān)閉控制臺(tái)之后需要重新設(shè)置環(huán)境變量。
mkboot a: bootrom 在a:后面有個(gè)空格。
就這么多了,歡迎大家和我交流。Have Fun!
————————————————————————————————————————————————
這個(gè)問(wèn)題相信很多人會(huì)遇到,就放這里希望有人可以查到吧!還有上面(tBoot): sysNvRamGet:open failed這個(gè)問(wèn)題。直接在磁盤上建立一個(gè)以“nvram.txt” 命名的txt文件就ok了。如果你想知道為什么,那就看下面的描述,國(guó)際友人寫(xiě)的。
> Hi,
>
> I am using VxWorks 5.5 for target machine Pentium II. When the system
> boots up, VxWorks gives a message as:
>
> 0x2a7a8c(tBoot): sysNvRamGet: open failed
Second attempt:
now I see what is going on. The very first time after building the
boot diskette, the file nvram.txt with the boot parameters, is not
there yet. So this system call tries to open this file and fails.
After you supply the boot parameters by hand, they are written to this
file, and the next time you boot after that, the error message should
not happen.
So, this error message should not cause any problems.
Mark Galecki