如果需要在Linux 中實現實時計算性能,進而有效地將 Linux 轉變為 RTOS,那么大多數發行版都可以打上名為 PREEMPT_RT 的實時內核補丁來完成。
簡介
我們曾介紹過在 Ubuntu 22.04 中啟用實時 Linux 內核有多簡單,因為 Canonical 已將該內核列為一個選項。但要為默認 Linux 內核打上補丁,以便在自己的發行版中構建自己的實時 Linux 內核,也并不困難?;静襟E是下載內核源代碼和 PREEMPT_RT 補丁、打補丁、構建內核、重啟系統并選擇新的實時內核。有關實時 Linux 項目的更多信息,包括 RT_PREEMPT 補丁的最新穩定版本,請查看 Linux 基金會的項目頁面。
01
前提條件
Ubuntu 22.04 LTS 桌面--安裝說明請參閱:
https://ubuntu.com/tutorials/install-ubuntu-desktop#1-overview
需要:
1、足夠的可用磁盤空間(約 40GB,取決于內核配置)
2、互聯網連接
3、關于構建 Linux 內核的一些基本知識:
https://www.linux.com/topic/desktop/how-compile-linux-kernel-0
Motrotech
安裝說明
我們從 Ubuntu 22.04 默認的 Linux 內核(5.15.0-43-generic 版本)開始。
1.創建工作目錄
mkdir ~/kernel
cd ~/kernel
2.從 kernel.org 下載特定 Linux 內核版本的內核源文件和實時補丁文件。
wget https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.15.96.tar.gz
wget https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/5.15/patch-5.15.96-rt61.patch.xz
3.解壓源文件
tar -xzf linux-5.15.96.tar.gz
xz -d patch-5.15.96-rt61.patch.xz
cd linux-5.15.96
patch -p1 <../patch-5.15.96-rt61.patch
4.配置內核編譯選項并安裝依賴軟件包。
cp /boot/config-5.15.0-43-generic .config
sudo apt update
sudo apt install make gcc libncurses-dev libssl-dev flex libelf-dev bison
make menuconfig
5.從 "常規設置"/"搶占模式 "中激活 "完全搶占內核(實時)"選項,然后保存并退出。
6.構建內核(注意:這可能需要一些時間)。在編譯過程中,可能有幾個依賴項必須安裝(其中一些在上一步中涉及),因此當遇到編譯錯誤時,請檢查您系統中可能需要的其他軟件包。
sudo make
7.安裝內核模塊:
sudo make modules_install
8.安裝內核:
sudo make install
9.重新啟動并選擇新構建的 PREEMPT_RT 內核,而不是默認內核。您可能需要編輯 Grub 配置,才能進入引導加載器屏幕選擇新的實時內核。有關 Grub 2 引導加載器的更多信息和幫助,請參閱 https://help.ubuntu.com/community/Grub2。
10.檢查以確認新的實時內核正在使用中。你應該在內核名稱中看到"-rt"。
結論
按照上面的步驟修補、構建并在 Ubuntu 中安裝實時 Linux 內核并不困難。這個過程對于其他 Linux 發行版也是一樣的。
現在,您就可以在 Linux 中開發實時應用程序了。
北京盟通科技有限公司成立于2013年,是工業自動化領域的高新技術企業。公司專注于實時現場總線技術及工業通訊技術的研發、推廣及技術支持服務。依托于核心團隊多年的海外和行業經驗,盟通科技與歐洲多家自動化領域的佼佼者達成戰略合作關系,為客戶提供EtherCAT主站協議棧、OPC UA SDK軟件開發包、CANopen協議棧、FSoE協議軟件、CAN總線硬件、DINA安全模塊、艾默生Connext軟件等工業協議的標準和定制化產品。
-
Ubuntu
+關注
關注
5文章
536瀏覽量
28966 -
LINUX內核
+關注
關注
1文章
312瀏覽量
21407 -
preempt-rt
+關注
關注
0文章
4瀏覽量
1685
發布評論請先 登錄
相關推薦
評論