導航:首頁 > 操作系統 > linux內核映像

linux內核映像

發布時間:2022-06-26 03:04:15

㈠ 為什麼linux內核要壓縮

Linxu的內核壓縮主要原因是用在嵌入式系統環境裡面的。在嵌入式系統的存儲空容量一般都比較小,內核要常駐內存,採用zImage可以佔用較少的存儲空間,因此犧牲一點性能上的代價也是值得的,所以一般嵌入式系統均採用壓縮的內核映像文件,即zImage。

這里說下Linux的內核影像文件:
Linux 內核映像文件有兩種:一種是非壓縮版本,叫Image;另一種是它的壓縮版本,叫zImage。zImage是Image經過壓縮形成的,所以它的大小比Image小。為了能使用zImage這個壓縮版本,必須在它的開頭加上解壓縮的代碼,將zImage 解壓縮之後才能執行,因此它的執行速度比Image要慢。

㈡ Linux 內核映像文件

編譯後在
/usr/src/linux/arch/i386/boot/
成功後你應該
cp /usr/src/linux/arch/i386/boot/ /boot/bzImage-2.4.18
也就是在
/boot/下

㈢ linux 內核映像文件在哪個目錄

內核文件一般都放在/boot 下 根目錄下一般有他的符號連接
通常的 你查看 /boot 目錄後 那些包含vmlinuz 字樣的文件就是內核了

㈣ 什麼是嵌入式Linux內核的映像結構

Linux內核由5個主要的子系統組成;

1.進程調度(SCHED)控制著進程對CPU的訪問。當需要選擇下一個進程運行時,由調度程序選擇最值的運行的進程。可運行進程是僅等待CPU資源的進程,如果某個進程在等待其它的資源,則該進程是不可運行進程。Linux使用了比較簡單的基於優先順序的進程調度演算法選擇新的進程。

2.內存管理(MM)允許多個進程安全地共享主內存區域。Linux的內存管理支持虛擬內存,即在計算機中運行的程序,其代碼,數據和堆棧的總量可以超過內存的大小,操作系統只將當前使用的程序塊保留在內存,其餘的程序塊則保留在磁碟上。必要時,操作系統負責在磁碟和內存之間交換程序塊。

內存管理從邏輯上可以分為影件無關的部分和影件相關的部分。影件無關的部分提綱了進程的映射和虛擬內存的對換,影件相關的部分為內存管理硬體提供了虛擬介面。

3.虛擬文件系統(Virtual File System ,VFS)隱藏了各種不同硬體的具體細節,為所有設備提供了統一的介面,還支持多達數十種不同的文件系統,這也是Linux的特色。

4.網路介面(NET)提供了對不同網路標準的存取和各種網路硬體的支持。網路介面可分為網路協議和網路驅動程序兩部分。網路協議部分負責實現每一種可能的網路傳輸協議,網路設備驅動程序負責與硬體設備進行通信。

㈤ boot 文件夾里有一般linux內核映像\\linux內核映像什麼意思

鏡像文件

㈥ linux的uboot啟動映像,zImage和uImage的區別

uboot只是一個啟動引導部分的代碼 也就是硬體的初始化,堆棧初始化,分配內存這些 後面的image就是系統鏡像,真正的操作系統,包括文件管理,內存管理,進程調度這些 zimage和uimage vmlinux是內核文件,zImage是一般情況下默認的壓縮內核映像文件,壓縮vmlinux,加上一段解壓啟動代碼得到。而uImage則是使用工具mkimage對普通的壓縮內核映像文件(zImage)加工而得。它是uboot專用的映像文件,它是在zImage之前加上一個長度為64位元組的「頭」,說明這個內核的版本、載入位置、生成時間、大小等信息;其0x40之後與zImage沒區別。其實就是一個自動跟手動的區別,有了uImage頭部的描述,u-boot就知道對應Image的信息,如果沒有頭部則需要自己手動去搞那些參數。如何生成uImage文件?首先在uboot的/tools目錄下尋找mkimage文件,把其到系統/usr/local/bin目錄下,這樣就完成製作工具。然後在內核目錄下運行make uImage,如果成功,便可以在arch/arm/boot/目錄下發現uImage文件,其大小比 zImage多64個位元組。此外,平時調試用uImage,不用去管調整了哪些東西;zImage則是一切OK後直接燒0X0。開機就運行

㈦ 什麼是內核映像

Linux內核在PC上以文件的形式存在(保存成磁碟文件形式),就是所謂的「映像文件」。Linux內核映像文件最終是要燒錄到目標板的flash中。
Linux
內核映像文件有兩種:一種是非壓縮版本,叫Image;另一種是它的壓縮版本,叫zImage。zImage是Image經過壓縮形成的,所以它的大小比Image小。為了能使用zImage這個壓縮版本,必須在它的開頭加上解壓縮的代碼,將zImage
解壓縮之後才能執行,因此它的執行速度比Image要慢。但考慮到嵌入式系統的存儲空容量一般都比較小,內核要常駐內存,採用zImage可以佔用較少的存儲空間,因此犧牲一點性能上的代價也是值得的,所以一般嵌入式系統均採用壓縮的內核映像文件,即zImage。
zImage是ARM
Linux常用的一種壓縮映像文件,uImage是U-boot專用的映像文件,它是在zImage之前加上一個長度為0x40的「頭」,說明這個映像文件的類型、載入位置、生成時間、大小等信息。換句話說,如果直接從uImage的0x40位置開始執行,zImage和uImage沒有任何區別。另外,Linux2.4內核不支持uImage,Linux2.6內核加入了很多對嵌入式系統的支持,但是uImage的生成也需要設置。

㈧ linux內核的文件都在哪兒

linux內核默認存放到/boot下,而/usr/src中可查看內核的信息。
幾種linux內核文件的區別:
1、vmlinux 編譯出來的最原始的內核文件,未壓縮。
2、zImage 是vmlinux經過gzip壓縮後的文件。
3、bzImage bz表示「big zImage」,不是用bzip2壓縮的。兩者的不同之處在於,zImage解壓縮內核到低端內存(第一個640K),bzImage解壓縮內核到高端內存(1M以上)。如果內核比較小,那麼採用zImage或bzImage都行,如果比較大應該用bzImage。
4、uImage U-boot專用的映像文件,它是在zImage之前加上一個長度為0x40的tag(64個位元組,說明這個映像文件的類型、載入位置、生成時間、大小等信息)。其實就是一個自動跟手動的區別,有了uImage頭部的描述,u-boot就知道對應Image的信息,如果沒有頭部則需要自己手動去搞那些參數。換句話說,如果直接從uImage的0x40位置開始執行,zImage和uImage沒有任何區別。
5、vmlinuz 是bzImage/zImage文件的拷貝或指向bzImage/zImage的鏈接。
6、initrd 是「initial ramdisk」的簡寫。一般被用來臨時的引導硬體到實際內核vmlinuz能夠接管並繼續。

㈨ 關於linux內核的問題。

1、bzImage: linux 內核映像文件(linux操作系統內核,內部一般集成了很多需要的設備驅動模塊)
2、moles(*.ko): linux模塊(驅動等),可以在linux內核啟動後,動態載入和卸載。
3、make moudles install:將編譯生成的模塊拷貝到文件系統特定目錄中(不是內核映像文件bzImage中)。
4、ramdisk:內存磁碟,將部分內存做成的磁碟設備,可以把它格式化成文件系統,並裝載到根文件系統中。

㈩ linux 內核 鏡像 工具 哪些 yocto

linux內核鏡像格式
一、Linux內核鏡像格式
Linux內核有多種格式的鏡像,包括vmlinux、Image、zImage、bzImage、uImage、xipImage、bootpImage等.
(1)kernel鏡像格式:vmlinux
vmlinuz是可引導的、可壓縮的內核鏡像,vm代表Virtual Memory.Linux支持虛擬內存,因此得名vm.它是由用戶對內核源碼編譯得到,實質是elf格式的文件.也就是說,vmlinux是編譯出來的最原始的內核文件,未壓縮.這種格式的鏡像文件多存放在PC機上.
【 attention】elf格式文件
ELF,Executable and Linkable Format,可執行可鏈接格式,是UNIX實驗室作為應用程序二進制介面而發布的,擴展名為elf.可以簡單的認為,在elf格式的文件中,除二進制代 碼外,還包括該可執行文件的某些信息,比如符號表等.
(2)kernel鏡像格式:Image
Image是經過obj處理的只包含二進制數據的內核代碼,它已經不是elf格式了,但這種格式的內核鏡像還沒有經過壓縮.
【 attention】obj
GNU使用工具程序obj作用是拷貝一個目標文件的內容到另一個目標文件中,也就是說,可以將一種格式的目標文件轉換成另一種格式的目標文件. 通過使用binary作為輸出目標(-o binary),可產生一個原始的二進制文件,實質上是將所有的符號和重定位信息都將被拋棄,只剩下二進制數據.
(3)kernel鏡像格式:zImage
zImage是ARM linux常用的一種壓縮鏡像文件,它是由vmlinux加上解壓代碼經gzip壓縮而成,命令格式是#make zImage.這種格式的Linux鏡像文件多存放在NAND上.
(4)kernel鏡像格式:bzImage
bz表示big zImage,其格式與zImage類似,但採用了不同的壓縮演算法,注意,bzImage的壓縮率更高.
(5)kernel鏡像格式:uImage
uImage是uboot專用的鏡像文件,它是在zImage之前加上一個長度為0x40的頭信息(tag),在頭信息內說明了該鏡像文件的類型、載入 位置、生成時間、大小等信息.換句話說,若直接從uImage的0x40位置開始執行,則zImage和uImage沒有任何區別.命令格式是#make uImage.這種格式的Linux鏡像文件多存放在NAND上.
(6)kernel鏡像格式:xipImage
這種格式的Linux鏡像文件多存放在NorFlash上,且運行時不需要拷貝到內存SDRAM中,可以直接在NorFlash中運行.

二、Linux內核鏡像的產生過程
在嵌入式Linux中,內核的啟動過程分為兩個階段.其中,第一階段啟動代碼放在arch/arm/kernel/head.S文件中,該文件與體系 結果相關,與用戶的開發板無關,主要是初始化ARM內核等.第二階段啟動代碼是init目錄下的main.c.現以執行命令#make zImage為例來說明,arm-linux內核鏡像的產生過程.
(1)當用戶對Linux內核源碼進行編譯時,kernel的第1/2階段代碼會生成可執行文件vmlinux,該文件是未被壓縮的鏡像文件,非常大,不能直接下載到NAND中,通常放在PC機上,這也是最原始的Linux鏡像文件.試驗時該文件約50M.
(2)鏡像文件vmlinux由於很大,肯定不能直接燒入NAND中,因此需要進行二進制化,即經過obj處理,使之只包含二進制數據的內核代 碼,去除不需要的文件信息等,這樣就製作成了image鏡像文件.該鏡像文件也是未壓縮,只是經過了二進制化而變小.試驗時該文件約5M.
(3) 一般來說,內存SDRAM中的內核鏡像是經過壓縮的,只是在運行時再將其解壓.所以,編譯時會先使用gzip將鏡像文件image進行壓縮(壓縮比約為 2:1),再將壓縮後的鏡像文件和源碼中的兩個文件arch/arm/boot/compressed/head.S、arch/arm/boot /compressed/misc.c一起鏈接生成壓縮後的鏡像文件compress/vmlinux.試驗時該文件約為2.5M.注意,這兩個源碼文件 是解壓程序,用於將內存SDRAM中的壓縮鏡像zImage進行解壓.
(4)壓縮後的鏡像文件compress/vmlinux經過二進制化,最終生成鏡像文件zImage,試驗時該文件約為2.5M.當然,在內存 SDRAM中運行壓縮鏡像文件zImage時,會首先調用兩個解壓程序arch/arm /boot/compressed/head.S、arch/arm/boot/compressed/misc.c將自身解壓,然後再執行kernel 的第一階段啟動代碼arch/arm/kernel/head.S.簡而言之,在內存中運行內核時,kernel先自身解壓,再執行第一階段啟動代碼.試 驗時運行在內存中的鏡像文件約為5M,與image鏡像文件大小相同.
(

閱讀全文

與linux內核映像相關的資料

熱點內容
私人影院好看的電影 瀏覽:999
徐錦江的古裝電影 瀏覽:638
noah是什麼干什麼的app 瀏覽:60
APP雲南移動服務密碼怎麼改 瀏覽:749
鬼青春雜作少兒不宜電影 瀏覽:261
小說網站流量排行 瀏覽:457
兒童電影搞笑免費 瀏覽:108
我的世界安卓手機怎麼換號 瀏覽:503
2b2t的伺服器是什麼 瀏覽:213
主角姓秦的重生秦家的小說 瀏覽:361
php十大設計原則 瀏覽:640
怎麼能看出來哪個app有會員 瀏覽:323
艾倫演的警察五點下班什麼電影 瀏覽:646
床戲微電影 瀏覽:534
瀟湘溪苑嬌妻怕打針 瀏覽:432
泰國科幻電影機器人 瀏覽:693
十部頂級粵語電影 瀏覽:588
黑色豪門之純情老婆全本免費 瀏覽:290
最美人物微電影名字 瀏覽:62