溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Linux的rootfs與linuxrc進(jìn)程怎么配置

發(fā)布時間:2022-02-18 09:54:23 來源:億速云 閱讀:150 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹“Linux的rootfs與linuxrc進(jìn)程怎么配置”的相關(guān)知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Linux的rootfs與linuxrc進(jìn)程怎么配置”文章能幫助大家解決問題。

內(nèi)核啟動的最后階段啟動了三個進(jìn)程 進(jìn)程0:進(jìn)程0其實就是剛才講過的idle進(jìn)程,叫空閑進(jìn)程,也就是死循環(huán)。 

進(jìn)程1:kernel_init函數(shù)就是進(jìn)程1,這個進(jìn)程被稱為init進(jìn)程。 

進(jìn)程2:kthreadd函數(shù)就是進(jìn)程2,這個進(jìn)程是linux內(nèi)核的守護(hù)進(jìn)程。這個進(jìn)程是用來保證linux內(nèi)核自己本身能正常工作的。 在嵌入式操作系統(tǒng)中一般會指定/linuxrc為init進(jìn)程

Linux的rootfs與linuxrc進(jìn)程怎么配置

1、/linuxrc是一個可執(zhí)行的應(yīng)用程序

(1)/linuxrc是應(yīng)用層的,和內(nèi)核源碼一點關(guān)系都沒有

(2)/linuxrc在開發(fā)板當(dāng)前內(nèi)核系統(tǒng)下是可執(zhí)行的。因此在ARM SoC的linux系統(tǒng)下,這個應(yīng)用程序就是用arm-linux-gcc編譯鏈接的;如果是在PC機(jī)linux系統(tǒng)下,那么這個程序就是用gcc編譯連接的。

(3)/linuxrc如果是靜態(tài)編譯連接的那么直接可以運行;如果是動態(tài)編譯連接的那么我們還必須給他提供必要的庫文件才能運行。但是因為我們/linuxrc這個程序是由內(nèi)核直接調(diào)用執(zhí)行的,因此用戶沒有機(jī)會去導(dǎo)出庫文件的路徑,因此實際上這個/linuxrc沒法動態(tài)連接,一般都是靜態(tài)連接的。

2、/linuxrc執(zhí)行時引出用戶界面

(1)操作系統(tǒng)啟動后在一系列的自己運行配置之后,最終會給用戶一個操作界面(也許是cmdline,也許是GUI),這個用戶操作界面就是由/linuxrc帶出來的。

(2)用戶界面等很多事并不是在/linuxrc程序中負(fù)責(zé)的,用戶界面有自己專門的應(yīng)用程序,但是用戶界面的應(yīng)用程序是直接或者間接的被/linuxrc調(diào)用執(zhí)行的。用戶界面程序和其他的應(yīng)用程序就是進(jìn)程2、3、4·····,這就是我們說的進(jìn)程1(init進(jìn)程,也就是/linuxrc)是其他所有應(yīng)用程序進(jìn)程的祖宗進(jìn)程。

3、/linuxrc負(fù)責(zé)系統(tǒng)啟動后的配置

(1)就好像一個房子建好之后不能直接住,還要裝修一樣;操作系統(tǒng)啟動起來后也不能直接用,要配置下。

(2)操作系統(tǒng)啟動后的應(yīng)用層的配置(一般叫運行時配置,英文簡寫etc)是為了讓我們的操作系統(tǒng)用起來更方便,更適合我個人的愛好或者實用性。

4、/linuxrc在嵌入式linux中一般就是busybox

(1)busybox是一個C語言寫出來的項目,里面包含了很多.c文件和.h文件。這個項目可以被配置編譯成各個平臺下面可以運行的應(yīng)用程序。我們?nèi)绻胊rm-linux-gcc來編譯busybox就會得到一個可以在我們開發(fā)板linux內(nèi)核上運行的應(yīng)用程序。

(2)busybox這個程序開發(fā)出來就是為了在嵌入式環(huán)境下構(gòu)建rootfs使用的,也就是說他就是專門開發(fā)的init進(jìn)程應(yīng)用程序。

(3)busybox為當(dāng)前系統(tǒng)提供了一整套的shell命令程序集。譬如vi、cd、mkdir、ls等。在桌面版的linux發(fā)行版(譬如ubuntu、redhat、centOS等)中vi、cd、ls等都是一個一個的單獨的應(yīng)用程序。但是在嵌入式linux中,為了省事我們把vi、cd等所有常用的shell命令集合到一起構(gòu)成了一個shell命令包,起名叫busybox。

根目錄rootfs中還應(yīng)該有什么

1、/linuxrc

2、dev目錄下的設(shè)備文件。在linux中一切皆是文件,因此一個硬件設(shè)備也被虛擬化成一個設(shè)備文件來訪問,在linux系統(tǒng)中/dev/xxx就表示一個硬件設(shè)備,我們要操作這個硬件時就是open打開這個設(shè)備文件,然后read/write/ioctl操作這個設(shè)備,最后close關(guān)閉這個設(shè)備。

在最小rootfs中/dev目錄也是不可少的,這里面有一兩個設(shè)備文件是rootfs必須的。

3、sys和proc目錄。在最小rootfs中也是不可省略的,但是這兩個只要創(chuàng)建了空文件夾即可,里面是沒東西的,也不用有東西。這兩個目錄也是和驅(qū)動有關(guān)的。屬于linux中的虛擬文件系統(tǒng)。

4、usr是系統(tǒng)的用戶所有的一些文件的存放地,這個東西將來busybox安裝時會自動生成。

5、etc目錄是很關(guān)鍵很重要的一個,目錄中的所有文件全部都是運行時配置文件。/etc目錄下的所有配置文件會直接或者間接的被/linuxrc所調(diào)用執(zhí)行,完成操作系統(tǒng)的運行時配置。etc目錄是制作rootfs的關(guān)鍵,所以后面下一個課程專門講這個etc目錄。

6、lib目錄也是rootfs中很關(guān)鍵的一個,不能省略的一個。lib目錄下放的是當(dāng)前操作系統(tǒng)中的動態(tài)和靜態(tài)鏈接庫文件。我們主要是為了其中的動態(tài)鏈接庫。

關(guān)于“Linux的rootfs與linuxrc進(jìn)程怎么配置”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識,可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI