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