摘要:話說以上的芯片,本身提供了硬件虛擬化的指令集,也就是指令。要開啟硬件虛擬化,最開始要從引導(dǎo)程序開始設(shè)置。因?yàn)槔蠋煾嬖V我,沒有驅(qū)動(dòng),所以從讀取根目錄,而又沒有驅(qū)動(dòng),有驅(qū)動(dòng)但又沒有驅(qū)動(dòng),因此就又是一個(gè)創(chuàng)造的過程了哈哈哈哈
話說armv7以上的芯片,本身提供了硬件虛擬化的指令集,也就是VT指令。要開啟硬件虛擬化,最開始要從引導(dǎo)程序開始設(shè)置。
唔,我使用的是u-boot,u-boot項(xiàng)目的地址是https://github.com/linux-sunxi/u-boot-sunxi/
支持硬件虛擬化技術(shù)的u-boot項(xiàng)目地址(應(yīng)該)是:https://github.com/jwrdegoede/u-boot-sunxi
如果不確定下的項(xiàng)目是不是正確的,下下來之后首先看看configs/sun7i.h里面,應(yīng)當(dāng)有:
#define CONFIG_ARMV7_VIRT
這一句。
這個(gè)u-boot目前支持到cubieboard2,哎,老夫買的是cubietruck,這么高端大氣的設(shè)備為什么不能夠支持呢?
uboot在編譯時(shí),通過根目錄下的boards.cfg設(shè)定了編譯規(guī)則,可以看到果然支持硬件虛擬化的uboot沒有提供cubietruck的規(guī)則。。。
用meld查看一下兩個(gè)項(xiàng)目之間的差異吧~
當(dāng)然差異非常多,我們的關(guān)心沒有那么大
按照meld指示把boards.cfg改了,這樣我們編譯就可以使用
make Cubietruck CROSS_COMPILE=arm-linux-gnueabihf- -j8
了~
事情當(dāng)然不會(huì)這么簡(jiǎn)單,編譯很顯然報(bào)錯(cuò)了。
這是為什么呢?引導(dǎo)程序加載時(shí),很顯然一切存儲(chǔ)都沒有到位,此時(shí)是通過一個(gè)DRAM的設(shè)備讀取加載信息的,話說DRAM,也經(jīng)歷NorFlash啊SDRAM啊的發(fā)展更迭,這個(gè)是題外話我就不說(不懂)了
編譯時(shí)候根據(jù)報(bào)錯(cuò)(我就不貼了),發(fā)現(xiàn)board/sunxi/文件夾下,需要對(duì)不同的設(shè)備的dram進(jìn)行編寫,比如里面有dram_cubieboard2.c,就是沒有dram_cubietruck.c,這個(gè)文件提供了一個(gè)sunxi_dram_init的函數(shù),將會(huì)在同一目錄下的board.c中用到。那么我們加一個(gè)就好了。
同樣用meld把不支持虛擬化那邊的uboot搞過來一個(gè)dram_cubietruck.c,瞅了一瞅,發(fā)現(xiàn)兩邊的差不多都是一個(gè)道理,直接加上,不需要什么修改。
board/sunxi文件夾下還有個(gè)Makefile,隨手那么一搜,發(fā)現(xiàn)
COBJS-$(CONFIG_CUBIEBOARD2) += dram_cubieboard2.o
下面果然沒有cubietruck,
所以加上一條:
COBJS-$(CONFIG_CUBIETRUCK) += dram_cubietruck.o
好了。。這樣uboot就可以正常編譯以及工作了=w=
但是xen依然還不能啟動(dòng)。。因?yàn)槔蠋煾嬖V我,uboot沒有mmc驅(qū)動(dòng),所以從nand讀取根目錄,而dom0又沒有nand驅(qū)動(dòng),linux-sunxi有nand驅(qū)動(dòng)但又沒有xen驅(qū)動(dòng),因此就又是一個(gè)創(chuàng)(chao)造(xi)的過程了哈哈哈哈~
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/11498.html
摘要:學(xué)習(xí)樹莓派的的初識(shí)學(xué)習(xí)樹莓派的的初識(shí)初識(shí)初識(shí)學(xué)習(xí)書籍正點(diǎn)原子嵌入式驅(qū)動(dòng)開發(fā)指南章節(jié)第三十章學(xué)習(xí)內(nèi)容書中介紹的獲取可以有三個(gè)途徑第一個(gè)是的官方代碼。網(wǎng)上的燒寫樹莓派教程很多,但是為了學(xué)習(xí)我選擇了官方的代碼。Linux學(xué)習(xí) - 樹莓派4b的U-Boot的初識(shí)初識(shí)U-Boot學(xué)習(xí)書籍:《【正點(diǎn)原子】I.MX6U嵌入式Linux驅(qū)動(dòng)開發(fā)指南V1.5.1》章節(jié):第三十章學(xué)習(xí)內(nèi)容:書中介紹uboot的獲...
摘要:異步編程基于實(shí)現(xiàn)框架說明偶然間在上看到有贊官方倉庫的手把手教你實(shí)現(xiàn)與。由于此前用過,對(duì)于的洋蔥模型嘆為觀止。文檔中是基于擴(kuò)展進(jìn)行開發(fā),而對(duì)并不友好,向來習(xí)慣在下開發(fā)的我一鼓作氣,將改寫并兼容了此項(xiàng)目。 PHP異步編程: 基于 PHP 實(shí)(chao)現(xiàn)(xi) NODEJS web框架 KOA 說明 偶然間在 GITHUB 上看到有贊官方倉庫的 手把手教你實(shí)現(xiàn)co與Koa 。由于此前用過...
摘要:幾個(gè)月之內(nèi)就開發(fā)了幾十款小程序的開發(fā)者陳林,有著自己的解答。資深小程序開發(fā)者陳林,是小程序風(fēng)口下的探索者之一,借助小程序無需安裝,易于傳播的特點(diǎn),陳林以小游戲類目為核心,配合小程序間可相互跳轉(zhuǎn)的特性。 showImg(https://segmentfault.com/img/remote/1460000020165110);你是一條產(chǎn)品經(jīng)理,現(xiàn)在要出一個(gè)大型需求的方案,你會(huì)怎么做? ...
摘要:要想放到樹莓派上運(yùn)行,需要官方提供的固件四下載直接下載我們所需的在文件夾中,將其中的復(fù)制到卡的分區(qū)中之前分區(qū)時(shí)大小為,格式為的那個(gè),再將編譯好的一同復(fù)制進(jìn)去。 2021SC@SDUSC 一、uboot的介紹 1.1、計(jì)算機(jī)系統(tǒng)的主要部件 (1)計(jì)算機(jī)系統(tǒng)就是以CPU為核心來運(yùn)行的系統(tǒng)。典型的...
摘要:系列專欄博主結(jié)合工作實(shí)踐輸出的,解決實(shí)際問題的專欄,朋友們看過來開發(fā)實(shí)戰(zhàn)開發(fā)實(shí)戰(zhàn)嵌入式通用開發(fā)實(shí)戰(zhàn)嵌入式通用開發(fā)實(shí)戰(zhàn) 【系列專欄】:博主結(jié)合工作實(shí)踐輸出的,解決實(shí)際問題的專欄,朋友們看過來! 《QT開發(fā)實(shí)戰(zhàn)》 《嵌入式通用開發(fā)實(shí)戰(zhàn)》 《
閱讀 3338·2021-11-22 14:44
閱讀 2549·2019-08-30 14:10
閱讀 2610·2019-08-30 13:12
閱讀 1226·2019-08-29 18:36
閱讀 1351·2019-08-29 16:16
閱讀 3339·2019-08-26 10:33
閱讀 1769·2019-08-23 18:16
閱讀 389·2019-08-23 18:12