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