RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

使用 PREEMPT_RT 在 Ubuntu 中構建實時 Linux 內(nèi)核

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

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

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

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)核(實時)"選項,然后保存并退出。


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

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。


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

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


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

結論

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Ubuntu
    +關注

    關注

    5

    文章

    563

    瀏覽量

    29703
  • LINUX內(nèi)核

    關注

    1

    文章

    316

    瀏覽量

    21644
  • preempt-rt
    +關注

    關注

    0

    文章

    4

    瀏覽量

    1706
收藏 人收藏

    評論

    相關推薦

    飛凌推出實時操作系統(tǒng),Linux RT-Preempt!

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

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

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

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

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

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

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

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

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

    全志A40i開發(fā)板——Linux-RT內(nèi)核應用開發(fā)教程(2)

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

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

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

    如何實現(xiàn)一種基于Ubuntu Linux環(huán)境通過USB方式燒錄rt-smart內(nèi)核的設計呢

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

    實時系統(tǒng)Preempt RT與Xenomai之爭!誰更主流,誰更實時?

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

    如何部署并測試PREEMPT_RT補丁

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

    輕型線程提高多核設備Linux實時性能的方案分析

    上個世紀,研發(fā)人員投入了大量精力提高 Linux 實時性能和行為,最著名的是 PREEMPT_RT Linux 實時擴展。最近,研發(fā)人員致力
    發(fā)表于 10-23 10:48 ?0次下載

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

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

    openEuler Embedded軟實時系統(tǒng)的特性說明

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

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

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

    Linux實時內(nèi)核準備支持RISC-V

    目前,Linux RT補丁集允許為ARM64(AArch64)、ARM、PowerPC和x86/x86_64架構啟用PREEMPT_RT。最近正在處理的一組補丁也將擴展對RISC-V的支持。
    的頭像 發(fā)表于 10-31 16:29 ?604次閱讀
    RM新时代网站-首页