<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

使用 PREEMPT_RT 在 Ubuntu 中構建實時 Linux 內核

盟通科技 ? 2024-04-12 08:36 ? 次閱讀

如果需要在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

b8762a0e-f864-11ee-9118-92fbcf53809c.png

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.從 "常規設置"/"搶占模式 "中激活 "完全搶占內核(實時)"選項,然后保存并退出。


b88738c6-f864-11ee-9118-92fbcf53809c.png

6.構建內核(注意:這可能需要一些時間)。在編譯過程中,可能有幾個依賴項必須安裝(其中一些在上一步中涉及),因此當遇到編譯錯誤時,請檢查您系統中可能需要的其他軟件包。

sudo make

7.安裝內核模塊:

sudo make modules_install

8.安裝內核:

sudo make install

9.重新啟動并選擇新構建的 PREEMPT_RT 內核,而不是默認內核。您可能需要編輯 Grub 配置,才能進入引導加載器屏幕選擇新的實時內核。有關 Grub 2 引導加載器的更多信息和幫助,請參閱 https://help.ubuntu.com/community/Grub2。


b88b28a0-f864-11ee-9118-92fbcf53809c.png

10.檢查以確認新的實時內核正在使用中。你應該在內核名稱中看到"-rt"。


b88ed874-f864-11ee-9118-92fbcf53809c.png

結論

按照上面的步驟修補、構建并在 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
收藏 人收藏

    評論

    相關推薦

    飛凌推出實時操作系統,Linux RT-Preempt!

    范圍內確定性地滿足調度期限的能力。我們可以通過內核調度領域的專家英葛?莫爾納(Ingo Molnar)發布的REEMPT_RT Patch來實現Linux系統的硬實時。
    發表于 08-16 11:19

    高效輕型線程對Linux實時性能有什么影響

    簡介上個世紀,研發人員投入了大量精力提高Linux實時性能和行為,最著名的是PREEMPT_RT Linux實時擴展。最近,研發人員致力于研
    發表于 05-16 10:45

    高效輕型線程怎么提高Linux實時性能?

    上個世紀,研發人員投入了大量精力提高Linux實時性能和行為,最著名的是PREEMPT_RT Linux實時擴展。最近,研發人員致力于研究適
    發表于 04-02 07:16

    多核設備Linux實時性能怎么提高?

    上個世紀,研發人員投入了大量精力提高 Linux 實時性能和行為,最著名的是 PREEMPT_RT Linux 實時擴展。最近,研發人員致力
    發表于 04-06 08:17

    基于全志A40i開發板——Linux-RT內核應用開發教程(1)

    完整的內核重寫。Linux-RT內核增加PREEMPT_RT補丁后,增加了系統響應的確定性和實時性,但是代價是CPU性能降低。
    發表于 04-19 15:17

    全志A40i開發板——Linux-RT內核應用開發教程(2)

    補丁利用Linux內核的SMP功能來添加這種額外的搶占性,而不需要完整的內核重寫。Linux-RT內核增加
    發表于 04-19 15:22

    基于全志A40i開發板——Linux-RT內核應用開發教程(3)

    。Linux-RT內核增加PREEMPT_RT補丁后,增加了系統響應的確定性和實時性,但是代價是CPU性能降低。rt_input案例案例說明
    發表于 04-19 15:33

    如何實現一種基于Ubuntu Linux環境通過USB方式燒錄rt-smart內核的設計呢

    無誤,會生成 rtthread.elf、rtthread.bin、rtthread.imx 內核的固件文件VSCode上進行用戶應用程序Ubuntu下正常安裝Vscode Vsco
    發表于 06-27 11:42

    99元國產ARM平臺+實時系統,給工業帶來何種意義?

    、免費、功能完善等特性,一直以來工業領域有非常廣泛的應用。但由于Linux內核本身并不是一個實時操作系統,而是一個分時操作系統,因此很多
    發表于 05-03 23:39

    實時系統Preempt RT與Xenomai之爭!誰更主流,誰更實時?

    Preempt RT之間。Xenomai是Linux Kernel外增加獨立的微內核的雙內核
    發表于 06-15 16:42

    如何部署并測試PREEMPT_RT補丁

      本文就基于Toradex Colilbri iMX6 ARM計算機模塊系統著重介紹如何部署并測試PREEMPT_RT補丁。
    發表于 09-18 16:00 ?14次下載

    通過輕型線程提高多核設備中的Linux實時性能

    PREEMPT_RT 也許是 Linux 實時擴展取得的最顯著的成就,PREEMPT_RT 數據包解決了多核設備 Linux 中存在的特別棘
    發表于 05-16 14:42 ?1035次閱讀
    通過輕型線程提高多核設備中的<b class='flag-5'>Linux</b><b class='flag-5'>實時</b>性能

    openEuler Embedded軟實時系統的特性說明

    Preempt_RT 補?。ㄒ韵潞喎Q RT 補?。┛芍苯哟蛟?b class='flag-5'>內核源碼上,并通過內核配置選項 CONFIG_PREEMPT_RT=y 使能軟
    的頭像 發表于 05-10 15:22 ?1265次閱讀

    Ubuntu實時內核 (Real-Time Kernel) 即將GA

    Linux 實時補丁 (PREEMPT_RT) 已經推出多年,并已進入內核主線。去年英特爾收購 Linutronix 后成為 PREEMPT_RT
    的頭像 發表于 01-13 15:22 ?652次閱讀

    Linux實時內核準備支持RISC-V

    目前,Linux RT補丁集允許為ARM64(AArch64)、ARM、PowerPC和x86/x86_64架構啟用PREEMPT_RT。最近正在處理的一組補丁也將擴展對RISC-V的支持。
    的頭像 發表于 10-31 16:29 ?375次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>