2015年11月13日 星期五

BIOS code "Hello world"

Build NT32 Emulator

切換路徑到"workspace"
















(cd "位置" - 進入指定位置                     cd ".." - 上一層)


Run "edksetup" -> Run "edksetup --nt32" -> Run "Build" -> Run "Build run"























(輸入 reset 可以關掉shell)

(以後這段省略)
_________________________________________________________________________________
檔案類型與作用
xx.dec
Package DEClaration File 包裹聲明檔
xx.dsc
Platform DeSCription File 平台聲明檔
xx.fdf
Flash Description File 閃存描述檔
xx.inf
Setup Information File 安裝訊息檔

是用來描述在程式的安裝過程中使用和包含的檔和要安裝的資料夾有關的資訊的設置檔的檔

案格式。

查詢副檔名   http://www.filefacts.net/zh/ (參考就好)
_________________________________________________________________________________
加入INF

將想加入的APP INF路徑,放入Nt32Pkg.dsc [Components]下

EX.
D:\MyWorkSpace\AppPkg\Applications\Hello\Hello.inf  放入 Nt32Pkg.dsc
(路徑重複省略)

試著build看看
發現有成功加入Hello.inf,但是顯然是缺少ShellCEntryLib。

開啟Hello.inf
可以觀察出ShellCEntryLib,應該是在ShellPkg/ShellPkg.dec被描述。

開啟ShellPkg.dec
ShellCEntryLib是指ShellCEntryLib.h 的 header檔。
(位置應該是在 D:\MyWorkSpace\ShellPkg\Include\Library )

那麼如何把ShellCEntryLib.h 匯入 NT32 Emulator
要先找出 ShellCEntryLib 的 inf檔。
一般在同的PKG(package)下,得找找。
(位置 D:\MyWorkSpace\ShellPkg\Library\UefiShellCEntryLib )

同樣加在Nt32Pkg.dsc裡,因為是Library 所以加在[LibraryClasses]下。

再次"build"後,"build run"進入shell















沒有留言:

張貼留言