基於PC搭建CoretexA15 KVM環境(1)——host環境搭建

來源:互聯網
上載者:User

我好像每年都要倒騰一次這種東西。由於需要學習KVM在ARM上的虛擬化技術,缺乏必要的硬體支援,所以必須在PC上類比ARM平台。。大約是安裝若干個作業系統,然後類比下看效能。。。

參考http://www.virtualopensystems.com/media/kvm-resources/kvm-arm-guide.pdf進行配置。

平台搭建,是個極其需要耐心的活兒==|

1、安裝所需要的工具鏈

2、安裝FastModels。直接去ARM官方網站下載。解壓之後運行./setup.bin即可。注意需要註冊獲得license,是個evaluate的,沒有破解的方法。。。

3、運行sgcanvas

之前要首先進行環境變數的設定:

首先是liscense.dat的位置

exportARMLMD_LICENSE_FILE=/home/himiko/IBM/ARM/license.dat

路徑寫你自己的license.dat的路徑

其次是FastModelsTools_7.1的安裝地址

exportMAXCORE_HOME=/home/himiko/ARM/FastModelsTools_7.1

同樣的,寫你自己的FastModelsTools_7.1的安裝路徑~

然後是Protfolio那個地址的設定

exportPVLIB_HOME=/home/himiko/ARM/FastModelsPortfolio_7.1

最後終於可以運行了

建議同志們直接將setup_all.sh添加到~/.bashrc的最後一句中。如下

gedit ~/.bashrc

source~/ARM/FastModelsTools_7.1/etc/setup_all.sh


4、按照那個Guide裡面的指示,選取已有的Examples進行編譯~

/home/himiko/ARM/FastModelsPortfolio_7.1/examples/RTSM_VE/Build_Cortex-A15x1/裡面那個唯一的項目載入到FastModels,載入完成的結果是這個樣子的(至少我載入出來是這樣。。。)

5Project->BuildSystem

顯然出現了GCC錯誤的資訊。設定GCC為GCC,不要指定版本

設定完畢之後再Project->BuildSystem

然後傳說中的Arm-CoretexA15就類比編譯好了,接下來就是裝Linux的任務了

6、首先安裝arm上的gcc4.6之類的crosscompiler環境

sudo apt-getinstall gcc-4.6-arm-linux-gnueabi binutils-arm-linux-gnueabilibc6-armel-cross linux-libc-dev-armel-cross libncurses5-devgcc-arm-linux-gnueabi libc6-dev-armel-cross cpp-arm-linux-gnueabi

然後等他裝就好了,看你網速了


7、下載kvm映像

wgethttp://www.virtualopensystems.com/media/kvm-resources/uImage

8、下載git然後需要git下KVM代碼

下載git

sudo apt-getinstall gitgit clonegit://github.com/virtualopensystems/linux-kvm-arm.git

此步時間相當長,做好心裡準備……

cd ~/linux-kvm-arm

9、下載uboot製作image

sudo apt-getinstall uboot-tools

10、設定ARCHCROSS_COMPILE變數。文檔中的意思是直接使用已經有的那個

先裝curl

sudo apt-getinstall curl

然後獲得設定檔

curlhttp://www.virtualsystems.com/media/kvmresources/kernel-config>.config

下面組建組態檔案

CROSS_COMPILE=arm-linux-gnueabi-ARCH=arm make menuconfig

執行完畢後如下:

我開啟了networking和virtualization~反正要是不夠的話下次再進來配置好了~


最後編譯hostkernel(等~)。好吧,沒多久就會有問題的。。。


百度一下,我就知道。。。。直接執行這個命令,因為缺少了mkimage工具

sudo apt-get install uboot-mkimage

然後再編譯吧

CROSS_COMPILE=arm-linux-gnueabi-ARCH=arm make uImage

很快就結束了。。。

11、然後抓FDT

git clonegit://github.com/virtualopensystems/arm-dts.git./scripts/dtc/dtc-O dtb -o host-a15.dtb./arm-dts/fast_models/rtsm_ve-cortex_a15x1.dts./scripts/dtc/dtc-O dtb -o guest-a15.dtb./arm-dts/versatile_express/vexpress-v2f-2xv6-ca15x2.dts

12、抓新的bootloader

git clonegit://github.com/virtualopensystems/boot-wrapper.gitclean之後makemake cleanCROSSS_COMPILE=arm-linux-gnueabi-ARCH=arm make

13、這個bootwrapper是後面啟動host時候需要使用的

make cleanCROSS_COMPILE=arm-linux-gnueabi- ARCH=arm make

會產生linux-semi-system.axf檔案,是semihost啟動方式下需要的

14、通過nfs server方式搭建host的root檔案

sudo apt-get install nfs-kernel-server nfs-common

再/etc/exports最後一行添加

/srv/nfsroot 192.168.0.0/255.255.0.0(rw,sync,no_root_squash,no_subtree_check,insecure)

每次修改完成這個檔案之後必須重新啟動nfs server

sudo /etc/init.d/nfs-kernel-server restart

15、準備linux的檔案系統

wget http://www.virtualopensystems.com/media/kvm-resources/fs-alip-armel.cramfs

所謂的cramfs是一個ram的file system,是一個簡單的檔案系統,linux在啟動的時候會首先將其載入到記憶體當中。Android的檔案系統格式是yaffs2,其實這個和我們所熟知的ext3/4/2沒有本質上的區別~~

sudo mount -o loop -t cramfs fs-alip-armel.cramfs /mntsudo cp -a /mnt/* /srv/nfsroot/sudo umount /mnt

解壓出來之後就可以清楚的看出來實際上就是一個很小的檔案系統,只包括必要的命令。

16、編寫fast models的啟動參數。cd到剛剛編譯出來的Cortex-a15下

cd ~/ARM/FastModelsPortfolio_7.1/examples/RTSM_VE/Build_Cortex-A15x1/Linux-Release-GCC-4.1gedit params

在params檔案中寫以下參數

motherboard.smsc_91c111.enabled=1motherboard.hostbridge.userNetworking=1cluster.cpu0.semihosting-cmd_line="--kernel /home/himiko/uImage --dtb /home/himiko/linux-kvm-arm/host-a15.dtb -- earlyprintk console=ttyAMA0 mem=2048M root=/dev/nfs nfsroot=192.168.63.117:/srv/nfsroot/ rw ip=dhcp"

保持再當前的目錄,執行命令

model_shell cadi_system_Linux-Release-GCC-4.1.so -f params ~/boot-wrapper/linux-system-semi.axf 



注意,路徑需要根據自己的實際情況進行修改!!!!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.