RTLinux的安裝_第1頁
RTLinux的安裝_第2頁
RTLinux的安裝_第3頁
RTLinux的安裝_第4頁
RTLinux的安裝_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、 RT-linux的安裝詳解修訂版本號1v編輯時間2017.10編輯者M(jìn)ercy校驗者Leo審核者Limis目的:更簡單明了的明白如何安裝RT-linux此篇文檔針對于Centos 要想重新編譯內(nèi)核 安裝RT-linux 首先需要了解一下 RT-linuxRT-Linux開發(fā)者并沒有針對實時操作系統(tǒng)的特性而重寫Linux的內(nèi)核,因為這樣做的工作量非常大,而且要保證兼容性也非常困難。將linux的內(nèi)核代碼做一些修改,將linux本身的任務(wù)以及l(fā)inux內(nèi)核本身作為一個優(yōu)先級很低的任務(wù),而實時任務(wù)作為優(yōu)先級最高的任務(wù)。即在實時任務(wù)存在的情況下運行實時任務(wù),否則才運行l(wèi)inux本身的任務(wù)。RT-Li

2、nux能夠創(chuàng)建精確運行的符合POSIX.1b標(biāo)準(zhǔn)的實時進(jìn)程;并且作為一種遵循GPL v2協(xié)議的開放軟件,可以達(dá)GPL v2協(xié)議許可范圍內(nèi)自由地、免費地使用、修改和再發(fā)生。RT-linux的調(diào)度Linux采用標(biāo)準(zhǔn)的UNIX技術(shù)使得內(nèi)核是不可搶占的。采用基于固定時間片的可變優(yōu)先級調(diào)度,不論進(jìn)程的優(yōu)先級多么低,Linux總會在某個時候分給該進(jìn)程一個時間片運行,即使同時有可以運行的高優(yōu)先級進(jìn)程,它也必須等待低優(yōu)先級進(jìn)程的時間片用完,這對一些要求高優(yōu)先級進(jìn)程立即搶占CPU的實時應(yīng)用是不能滿足要求的。如果還是難以理解。看上面我做的圖解RTLinux程序其實是運行于用戶空間和內(nèi)核態(tài)兩個空間。RTLinux提

3、供了應(yīng)用程序接口。借助這些API函數(shù)將實時處理部分編寫成內(nèi)核模塊,并裝載到RTLinux內(nèi)核中,運行于RTLinux的內(nèi)核態(tài)。非實時部分的應(yīng)用程序則在Linux下的用戶空間中執(zhí)行。這樣可以發(fā)揮Linux對網(wǎng)絡(luò)和數(shù)據(jù)庫的強(qiáng)大支持功能。安裝前的準(zhǔn)備:1:下載通過git下載最新的代碼/?p=linux/kernel/git/rostedt/linux-rt.git;a=summary 這樣下載后的代碼不需要打補(bǔ)丁,已經(jīng)是最新的代碼了。2:分別下載內(nèi)核代碼和補(bǔ)丁Kernel:PREEMPT_RT:下載的內(nèi)核和補(bǔ)丁要對應(yīng),如kernel為linux-2.

4、6.33.7.tar.bz2,補(bǔ)丁為patch-.2-rt30.bz2。注:這里的下載的內(nèi)核和補(bǔ)丁 與你的linux的內(nèi)核版本要對應(yīng)。不然很容易導(dǎo)致編譯失敗! 我比較推薦使用通過git下載最新的代碼 省去了打補(bǔ)丁的步驟 不容易出錯。如果不知道自己內(nèi)核版本可以通過 cat /proc/version 來查看自己的內(nèi)核版本。接下來就開始正式安裝了。1:切換至 / 目錄下 /usr/src/ 建立一個rt-preempt-linux文件夾。 2:通過SSH 將下載的 內(nèi)核補(bǔ)丁包 放入3:解壓 壓縮包。 利用tar命令 將解壓得到的文件 復(fù)制到 先前建立的 rt-preempt-lin

5、ux 下 切換至/usr/src/rt-preempt-linux/linux-rt-3.0/下 一定要切換至linux-rt-3.0下 不然接下來的步驟無法進(jìn)行 容易導(dǎo)致出錯4:配置內(nèi)核 make menuconfig接下來會出現(xiàn)一個類似于圖形界面的東西 找到 Processor type and features 選項 進(jìn)入后在找到 Preemption Model 選項第三個選項也就是我們所需要的搶占式內(nèi)核 Rt-linux 選擇Preemptible Kernel后返回上級菜單找到 Device Dricers 驅(qū)動選項進(jìn)入 找到Staging drivers將它反選。取消勾選。 因為

6、 staging drivers 的開啟 會容易導(dǎo)致內(nèi)核編譯失敗。所以這里將其反選。 如果staging drivers開啟著的話容易導(dǎo)致以下情況。LD M drivers/net/bnx2x.o make: * drivers 錯誤 2 unanaodebian:/Experiment/linux/linux-$ make CHK include/linux/version.h CHK include/generated/utsrelease.h CALL scripts/checksyscalls.sh CHK include/generated/compile.h VDS

7、OSYM arch/x86/vdso/vdso-syms.lds VDSOSYM arch/x86/vdso/vdso32-int80-syms.lds VDSOSYM arch/x86/vdso/vdso32-syscall-syms.lds VDSOSYM arch/x86/vdso/vdso32-sysenter-syms.lds VDSOSYM arch/x86/vdso/vdso32-syms.lds LD arch/x86/vdso/built-in.o LD arch/x86/built-in.o LD drivers/staging/built-in.o CC M driver

8、s/staging/comedi/drivers/quatech_daqp_cs.o drivers/staging/comedi/drivers/quatech_daqp_cs.c:70: error: field eoshas incomplete typedrivers/staging/comedi/drivers/quatech_daqp_cs.c: In functiondaqp_interrupt:drivers/staging/comedi/drivers/quatech_daqp_cs.c:291: error: implicitdeclaration of function

9、updrivers/staging/comedi/drivers/quatech_daqp_cs.c: In functiondaqp_ai_insn_read:drivers/staging/comedi/drivers/quatech_daqp_cs.c:405: error: implicit declarationof function sema_initdrivers/staging/comedi/drivers/quatech_daqp_cs.c:418: error: implicitdeclaration of function down_interruptibledriver

10、s/staging/comedi/drivers/quatech_daqp_cs.c: In functiondaqp_cs_attach:drivers/staging/comedi/drivers/quatech_daqp_cs.c:1045: warning: assignmentfrom incompatible pointer typemake4: * drivers/staging/comedi/drivers/quatech_daqp_cs.o 錯誤 1make3: * drivers/staging/comedi/drivers 錯誤 2 make2: * drivers/st

11、aging/comedi 錯誤 2 make1: * drivers/staging 錯誤 2 make: * drivers 錯誤 2 返回最上級菜單。選yes 保存 生效。注:這里可能會提示報錯信息。查看報錯信息會發(fā)現(xiàn)有一個ncurses包未安裝利用yum命令安裝ncurses#yum install ncurses-devel安裝完畢后再編譯內(nèi)核 make menuconfig 此時報錯信息就不會出現(xiàn)了5:#make -j4注:這里make -j4 是衍生出來的。如果cpu核數(shù)多 可以make -j8 或者直接make 也是可以的。但是安裝模塊的速度 make -j8>make -

12、j4>make 模塊安裝完畢。這里可能會顯示一些報錯信息 不列舉。 一般都是幾個模塊或者一兩個模塊未能安裝成功。對后面的工作沒有影響。不必重新安裝模塊。6.#make modules_install7. #make install這里的報錯信息并不用管。因為先前提到過 有些模塊未能成功安裝 所以這里會顯示一些模塊未能找到的報錯信息。8.# make moudules 這里一般會出現(xiàn)兩種情況(1)失敗(2)成功至于為什么會有這兩種情況,并不清楚。前后的操作幾也就隔了10秒 第一次失敗,第二次就成功。虛擬機(jī)上容易出現(xiàn)這種情況。 在server上 似乎這種情況出現(xiàn)的幾率大大減少了。 相同的操作可能在虛擬機(jī)上容易出問題。但是在服務(wù)器上輸入 就沒什么問題。前后大約編譯了20多次。發(fā)現(xiàn)的這個情況。 起初還在找解決方法。 后來方法未找到。回來又試了一次就成功。所以盡量推薦使用實體機(jī)編譯內(nèi)核。 虛擬機(jī)比較容易出問題。8:#make moudules_install或者執(zhí)行 #make install 自動化完成

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論