在Linux開發(fā)中,編譯內(nèi)核是一項(xiàng)常見任務(wù),但不少開發(fā)者在移動(dòng)硬盤或虛擬機(jī)環(huán)境下嘗試時(shí)會(huì)遭遇失敗。本文將簡(jiǎn)要探討這些問題的成因,并介紹一些虛擬機(jī)使用技巧,幫助大家更好地應(yīng)對(duì)相關(guān)問題。
? 在移動(dòng)硬盤里編譯Linux內(nèi)核卻失敗了,這是咋回事?
FAT和NTFS文件系統(tǒng)不能支持軟鏈接,在這寫格式的磁盤里編譯內(nèi)核會(huì)失敗,同樣也不能在這樣的磁盤里解壓內(nèi)核源碼,會(huì)造成軟鏈接被破壞。
不僅僅是不能在FAT/NTFS格式硬盤編譯Linux內(nèi)核,只要編譯過程中會(huì)產(chǎn)生符號(hào)鏈接的軟件,都不能在FAT/NTFS格式的硬盤上編譯。
虛擬機(jī)掛載Windows的磁盤編譯Linux內(nèi)核,為啥失???
原因同上。另外,現(xiàn)在Windows支持WSL方式運(yùn)行Linux,同樣也不建議在WSL方式下編譯Linux內(nèi)核,盡管VolFs能支持Linux文件系統(tǒng)的全部特性,包括符號(hào)鏈接,但與Windows交互的DriveFs并不能完全支持Linux文件系統(tǒng)的全部特性,所以同樣也不能在Windows磁盤里編譯Linux內(nèi)核。
? 虛擬機(jī)使用的這些方法,你都會(huì)嗎?
提示:VMware Workstation軟件商用有版權(quán),請(qǐng)自行解決版權(quán)問題。
1. 安裝VMwareTools
安裝完VMware虛擬機(jī)后,建議安裝VMware tools,以提升虛擬機(jī)性能,特別是顯示性能。安裝VMware Tools的方法和步驟大致如下:
1.1 啟動(dòng)安裝好的虛擬機(jī),點(diǎn)擊虛擬機(jī)軟件菜單 Player-->管理-->安裝VMware Tools,VMware Tools的光盤會(huì)被掛載到系統(tǒng)中,可以在桌面看到光盤,用文件瀏覽器打開可以看到里面的文件,如圖1所示。
圖1 VMware Tools光盤被掛載和光盤內(nèi)容
此時(shí)虛擬機(jī)下方會(huì)提示安裝方法:在客戶機(jī)中裝載虛擬 CD 驅(qū)動(dòng)器,啟動(dòng)終端,使用 tar 命令解壓縮安裝程序,然后執(zhí)行 vmware-install.pl安裝 VMware Tools?;景凑仗崾静僮骷纯?。
圖2 幫助提示
1.2 打開終端,進(jìn)入CD驅(qū)動(dòng)器,將VMwareTools-10.3.23-16594550.tar.gz文件解壓到本地目錄中,如果不想長(zhǎng)期保留的話,可以直接解壓到/tmp目錄中:
$tar?-xzf VMwareTools-10.3.23-16594550.tar.gz -C /tmp
1.3 進(jìn)入解壓后目錄,執(zhí)行安裝命令(注意,安裝需要root權(quán)限):
$cd?/tmp/vmware-tools-distrib
$sudo ./vmware-install.pl
輸入密碼后,回答yes,然后一路回車直到安裝完成。安裝完畢,重啟一下系統(tǒng)。
2. 網(wǎng)卡橋接/共享設(shè)置
網(wǎng)卡設(shè)置更改在關(guān)閉虛擬機(jī)系統(tǒng)的時(shí)候進(jìn)行。打開虛擬機(jī)軟件菜單Player-->管理-->虛擬機(jī)設(shè)置,點(diǎn)擊“硬件”選項(xiàng)卡,選擇“網(wǎng)絡(luò)適配器”,在右邊可以進(jìn)行網(wǎng)絡(luò)設(shè)置,如圖3所示。
圖3 虛擬網(wǎng)卡設(shè)置
橋接模式:虛擬機(jī)與Windows主機(jī)相當(dāng)于通過交換機(jī)進(jìn)行連接,在Windows與虛擬機(jī)Linux進(jìn)行網(wǎng)絡(luò)傳輸或者要與開發(fā)板進(jìn)行網(wǎng)絡(luò)連接調(diào)試的時(shí)候,通常選擇該模式。此時(shí)Windows和Linux都必須設(shè)置為同一個(gè)網(wǎng)段的不同獨(dú)立IP地址。
NAT模式:此時(shí)無需為虛擬機(jī)設(shè)置獨(dú)立IP地址,虛擬機(jī)共享主機(jī)的網(wǎng)絡(luò),如果主機(jī)能上外網(wǎng),此時(shí)虛擬機(jī)也可以上外網(wǎng)。一般用于公司對(duì)網(wǎng)絡(luò)有訪問限制的情況用來更新Linux系統(tǒng)軟件。該模式下不能與開發(fā)板進(jìn)行網(wǎng)絡(luò)連接和調(diào)試。
3. 虛擬機(jī)磁盤擴(kuò)容
磁盤擴(kuò)容也需要在關(guān)閉虛擬機(jī)系統(tǒng)的時(shí)候進(jìn)行。打開虛擬機(jī)軟件菜單Player-->管理-->虛擬機(jī)設(shè)置,點(diǎn)擊“硬件”選項(xiàng)卡,選擇“添加”,在硬件添加向?qū)У挠布愋屠镞x擇“磁盤”,如圖4所示。
圖4 添加硬件和磁盤虛擬磁盤類型建議選擇SCSI,然后創(chuàng)建新的虛擬磁盤,如圖5所示。
圖5 創(chuàng)建SCSI磁盤為磁盤設(shè)置容量大小,根據(jù)實(shí)際情況和需要設(shè)置(注意:虛擬磁盤的大小不要超過物理硬盤實(shí)際剩余容量,否則可能會(huì)帶來問題),另外建議拆分為多個(gè)文件,便于文件拷貝,最后保存為磁盤文件,如圖6所示。
圖6 保存磁盤圖7是我們?yōu)橄到y(tǒng)擴(kuò)容400GB虛擬磁盤的系統(tǒng)配置。
圖7 硬盤擴(kuò)容后的系統(tǒng)配置
4. 虛擬機(jī)訪問Windows共享文件夾
打開虛擬機(jī)軟件菜單Player-->管理-->虛擬機(jī)設(shè)置,點(diǎn)擊“選項(xiàng)”選項(xiàng)卡,選擇“共享文件夾”,在右邊啟用共享文件夾設(shè)置,在Linux虛擬機(jī)就可以訪問主機(jī)的共享文件夾了,如圖8所示。
圖8 啟用共享文件夾
假定將Windows的整個(gè)D盤都共享,共享名稱為“d-volume”,則在Linux系統(tǒng),該共享目錄的路徑則為:/mnt/hgfs/d-volume,如圖9所示。
圖9 查看到共享文件夾的內(nèi)容
5. 如何使用OVA鏡像文件?
一般虛擬機(jī)鏡像文件都比較大,會(huì)采取分包壓縮的方式。這里以M1126提供的OVA鏡像為例。
將下載的分卷壓縮文件m1126-devel.ova.7z.001,m1126-devel.ova.7z.002,…,放到同一個(gè)目錄內(nèi)解壓,得到m1126-devel.ova虛擬機(jī)鏡像壓縮文件。解壓前請(qǐng)務(wù)必檢查一下各個(gè)分卷壓縮文件的sha1sum校驗(yàn)值是否跟sha1sum.txt中登記的一樣。如果不一樣,則對(duì)應(yīng)的文件在下載過程中損壞了,需要重新下載出錯(cuò)的文件。常用的解壓軟件7z、WinRAR等都支持生成sha1sum。生成文件校驗(yàn)值的具體方法,請(qǐng)參考自己所用解壓軟件的說明文檔。
打開VMWare-Workstation-Player,從打開文件菜單對(duì)話框中選擇打開ovf,ova格式,如圖10所示。
圖10 選擇ovf文件類型
然后選擇打開m1126-devel.ova,在此步驟中選擇存放虛擬機(jī)的位置,注意物理磁盤空間要足夠,最好有50G以上的空閑空間。 這一步可能會(huì)出現(xiàn)“導(dǎo)入失敗……”的兼容性提示,在彈出的對(duì)話框選擇“重試”,接著導(dǎo)入。
圖11 選擇虛擬機(jī)存放位置
導(dǎo)入后的虛擬機(jī)至少需要16G的物理磁盤空間,m1126-devel.ova虛擬磁盤容量設(shè)成了40G,后續(xù)使用過程中,如果虛擬磁盤容量不夠,可參考3.3.3小節(jié)的內(nèi)容,增加虛擬磁盤即可。
導(dǎo)入過程需要一點(diǎn)時(shí)間,導(dǎo)入進(jìn)度如圖12所示,請(qǐng)耐心等候?qū)胪瓿伞?/p>
圖12 虛擬機(jī)導(dǎo)入進(jìn)度
待導(dǎo)入完成,啟動(dòng)虛擬機(jī)即可。
D9系列Cortex-A55?核心板 | |
四/五核Cortex-A55
UART*16 CAN FD*4 千兆以太網(wǎng)*2 |