作業系統
linux系統:
deepin 2014.3 desktop
1.edk2或者
udk2014
最新版edk2
獲取**:
官網上的穩定版,有
udk2010
和udk2014
,此時要按照要求配置好整個
workspace
和根目錄的關係。
1.首先為系統安裝git:
a) 在shell
下執行指令:
sudo apt-get install git
。就可以為系統安裝
git
2.使用git
的clone
工具,獲得最新的
edk2原始碼
a) 指令如下:git clone
3.建立工作目錄:edk2
a) 在/home/kair/
目錄下建立
edk2
目錄,作為
edk2
的工作空間(此處
kair
目錄是使用者名稱,也就是使用者操作空間)
中的檔案和
basetools
(unix
)中的檔案統一放到目錄
edk2
下面。
設定好之後的目錄如下:
4.配置好環境變數,設定好需要的配置檔案,如下圖:
a) 執行指令:source edksetup.sh
該指令執行成功後,在/edk2/conf/
目錄下,會自動生成
target.txt,tools_def.txt
等一些重要的配置檔案。
b ) target.txt和
tools_def.txt
這些檔案配置了要編譯工程是
64為還是
32位置,使用的
c編譯器的型別和版本等資訊,在這裡配置後,檔案中的資訊就是預設資訊。
5.編譯uefi
模擬器
a) 編譯指令:emulatorpkg/build.sh -a ia32或者
emulatorpkg/build.sh -a x64(64位)
b) 預設編譯指令:build
c) 預設編譯指令對應的是在conf
目錄下面,
target.txt
檔案下配置的相關資訊,按照其中的配置資訊進行的編譯。
6.啟動uefi
模擬器
a) 啟動指令:
emulatorpkg/build.sh -a ia32 run或者
emulatorpkg/build.sh -a x64 run(
64位)
b) 預設啟動指令:build run(
對應上面的預設編譯指令,前提是配置檔案中已經配置 好需要說明的資訊)
1.版本問題:
a) emulatorpkg取代了
unixpkg
。網上很多資料,包括官方文件的資料,都是對應於
unixpkg
被取代之前的內容。這一點需要注意。
b) gcc的版本可能導致問題出現:
較低版本的gcc
可能回和
edk2
的新版本,在編譯的時候出現問題,如果使用
edk2
或者udk2014
穩定版,建議用
gcc4.6
及以上的版本。
2.編譯和啟動的問題:
a) 預設的編譯命令為build。
i. 只需要配置好target.txt
等配置檔案)之後,就可以編譯成功
ii. 特別注意,這裡要編譯成功的前提有兩個:第一,需要在basetools
目錄下執行
make
命令,生成編譯
uefi
的工具鏈;第二,修改
target.txt
檔案,將預設的
nt32pkg
修改為embeddedpkg。
b) 新版本下正確的便以指令是:
emulatorpkg/build.sh -a ia32或者
emulatorpkg/build.sh -a x64(64位)
c) 正確的執行指令,也就是在上面編譯指令後面,加上run
,即可啟動
uefi
模擬器。
這裡只執行預設的build run
指令,不能成功啟動模擬器。
d) 上述的問題的詳細原因還在探索和學習的過程中。
3.環境中缺少某些第三方庫檔案
a) 32位編譯的時候,報錯
b) 64位編譯的時候,可以通過
c) 提示缺少gdb
,安裝後問題會解決
d) 安裝後,還有錯誤,如下:
4.系統中缺少某些東西
d) 根據提示資訊,修改**即可成功
c) 成功解決問題:
d) 成功編譯輸出hello world
linux下對gens遊戲模擬器的編譯
gens版本 gens gs v2.15.5 gs m5 gens gs linux版本 version 2.6.27.9 159.fc10.i686 gcc版本 4.3.2 編譯過程 因為源 中已經存在configure檔案,所以不需要通過工程管理工具autoconf自動生成 首先在源 目錄下執行...
linux下街機模擬器聯機
最近中午比較喜歡和同事打打kof97 因為我用linux所以每次用模擬器需要切換到window。久而久之感覺比較麻煩。最後想使用wine模擬winkawaks達到linux也能聯機模擬器遊戲目的。首先,應該在linux安裝wine 這個是在linux系統裡面模擬執行window程式的工具。每個使用l...
mtk模擬器及編譯命令
編譯命令 make custom gprs gsm new remake update clean module name 編譯時進入dos下工程所在的目錄,然後輸入上面的命令語句即可開始編譯。引數 custom 是不同的軟體版本,編譯時可忽略引數 custom 系統會自動判斷。gprs gsm是說...