1下載下傳核心和更新檔
運作uname -a可以看到目前核心版本。
更新檔位址: https://www.kernel.org/pub/linux/kernel/projects/rt/ 從中選擇一個與目前核心版本接近并且更新的更新檔下載下傳(系統啟動時會自動選擇版本更高的核心)
核心位址: http://www.kernel.org/pub/linux/kernel/ 根據下載下傳的更新檔版本下載下傳核心,核心版本要和更新檔一緻。
下面以linux-4.14.0核心(xilinx)與patch-4.14.0-rt1.patch更新檔為例進行說明。
2.打更新檔
将解壓後的更新檔放到解壓後的核心檔案夾裡面
patch -p1 < patch-4.14-rt1.patch
patch -R -p1 < patch-4.14-rt1.patch(解除安裝更新檔)
3.核心配置
1.安裝幾個必要的套件
sudo apt-get install libncurses5-dev flex bison
2.然後設定核心搶占模式
Preemption Model
Fully Preemptible Kernel(Real-Time
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiIXZ05WZj91YpB3IwczX0xCMwADMwAzXy9GbvNGL2EzXlpXazxSPRpWT3VEVMR3ZIN1X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLldTN0MmZlZmNmZGN1MmY5MWOlRTMkhDO3MWY2E2NkJ2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
注意:由于Linux的版本不同,位置可能不一樣,直接/在menuconfig裡面不知道什麼原因時搜尋Preemption Model時搜不到的,懷疑沒有編寫進kconfig,是以可以查詢到配置頁面的kconfig檔案,先判斷有沒有将執行語句編寫進去,可以加一句容易搜尋的測試用于定位
vim Kconfig.preempt
3.make mrproper # 删除目錄下殘留的.o檔案和其他從屬檔案
make menuconfig
回到上一層,進入”Device Drivers”中,去掉“Staging drivers”
4.編譯核心重新開機
檢視核心版本 妥了!