1. 程式人生 > >為什麼嵌入式LINUX核心和根檔案系統分開存放

為什麼嵌入式LINUX核心和根檔案系統分開存放

http://wxqxq520.blog.sohu.com/164207588.html 

Flash 的分割槽可以根據需要劃分,uClinux 中支援Flash 儲存器的塊裝置驅動負責定義上述的分割槽和PC 機下的Linux 不同,Flash 的分割槽把系統核心檔案和根檔案系統單獨劃分到兩個分割槽中,而PC 機的硬碟是把核心檔案和根檔案系統放在一個分割槽內。PC 機下Linux 的Bootloader 是LILO 或GRUB。它們在系統啟動時能智慧地在分割槽中找到核心檔案塊, 並把它載入到RAM 中執行。對於Flash 而言,把核心的映象檔案寫進一個單獨的分割槽對嵌入式系統有兩大優點:

① 系統可以直接在Flash 上執行;
② LILO 或GRUB 更易找到核心程式碼並載入,甚至可以不用LILO 或GRUB 引導而直接執行。
核心檔案和根檔案系統在Flash 中的放置,可以根據系統設計需要適當選擇, 選擇如表1 所列。

模式選擇 優點 缺點
核心和根檔案系統放在固定偏移地址單元(單獨分割槽) 適用於主要系統成員地址單元固定,易於載入程式( Bootloader)載入和分別升級核心和根檔案系統 在核心和根檔案系統之間不可避免要浪費Flash 空間
根檔案系統緊跟核心放置(不單獨分割槽) 節省Flash 儲存空間 核心檔案和根檔案系統合二為
一,單獨升級不夠方便
核心和根檔案系統壓縮放置 節省大量的Flash 儲存空間,可選擇壓縮放置核心或根檔案系統 系統需要載入程式(Bootloader)和RAM 支援

可見,一般LINUX 核心映象都是壓縮的,因為對於X86系列處理器,系統啟動初期,處於真實模式狀態,
可以尋得的地址空間十分有限,如果核心過大,就無法載入(還記得dos嗎?因為dos只能工作在真實模式,這就是
Dos下的應用程式不能超過640k的原因)。待核心載入完畢,系統被置成保護模式,32根地址線可以尋得4G地址,於是可以將被壓縮過的核心展開了...有些處理器,如alpha,就沒有這一限制。

對於嵌入式LINUX 而言,根檔案系統有好多種,有直讀的,有讀寫的,有專門針對NORFLASH的,有專門針對NANDFLASH 的,等等,因此,當然如果把 核心映象放到根檔案系統中的話,必須要BOOTLOAD 支援相應的檔案系統,否則也無法讀取並載入核心到RAM中,因此無法啟動,基於這幾點,因此,一般FLASH 系統中

核心和根檔案系統放在固定偏移地址單元(單獨分割槽)的,

相關推薦

為什麼嵌入式LINUX核心檔案系統分開存放

http://wxqxq520.blog.sohu.com/164207588.html  Flash 的分割槽可以根據需要劃分,uClinux 中支援Flash 儲存器的塊裝置驅動負責定義上述的分割槽。和PC 機下的Linux 不同,Flash 的分割槽把系統核心檔案

嵌入式linux 核心檔案系統燒寫方式簡介

總體來說,嵌入式Linux核心和根檔案的引導與PC機差不多。嵌入式linux核心和根檔案系統可以存放在各種可能的儲存裝置中,一般情況下我們將核心和根檔案系統直接燒入到Flash中(包括NOR和NAND flash),這種方法的缺點是在核心和根檔案系統出現修改時我們就不得不得

嵌入式Linux中的檔案系統的理解解析

   當我們在Windows下,提到檔案系統時,你的第一反應是想到的是什麼?是不是Windows下的一些Fat32、NTFS等的檔案系統的型別。而在Linux中,你可能會想到Ext2、Ext3,但你還必須要有一個根檔案系統的概念。根檔案系統首先是一種檔案系統,該檔案系統不僅具有普通檔案系統的儲存資料檔案的功

怎樣從網路上核心檔案系統啟動開發板

首先在ubuntu虛擬機器上要有nfs伺服器 1.啟動開發板uboot,輸入 下面的命令 set bootargs console=ttySAC0 root=/dev/nfs nfsroot=192.168.1.19:/work/nfs_root/tmp/fs_mini

移植u-boot-2011.03到S3C2440(utu2440)的方法與步驟###8. u-boot引導啟動nand flash中核心檔案系統cramfs使用者檔案系統yaffs2支援

rivers/rtc/hctosys.c: unable to open rtc device (rtc0)uncorrectable error : <3>uncorrectable error : <3>end_request: I/O error, dev mtdblock2, 

Linux核心檔案系統的關係詳解

Linux核心與根檔案系統的關係 開篇題外話:對於Linux初學者來說,這是一個很糾結的問題,但這也是一個很關鍵的問題! 一語破天機: “儘管核心是 Linux 的核心,但檔案卻是使用者與作業系統互動所採用的主要工具。這對 Linux 來說尤其如此,這是因為在 UNIX 傳

linux核心檔案系統的燒寫

-----------------------------------------------開發板起動後,在倒計時狀態,按任意鍵進入控制檯。---------------------------------------------------配置開發板和主機ip地址(兩者應

Linux核心檔案系統的關係

http://tieba.baidu.com/p/2852126057 開篇題外話:對於Linux初學者來說,這是一個很糾結的問題,但這也是一個很關鍵的問題! 一語破天機: “儘管核心是 Linux 的核心,但檔案卻是使用者與作業系統互動所採用的主要工具。這對 Linux

Linux核心移植檔案系統製作(詳細步驟精講)

start_kernel是所有 Linux 平臺進入系統核心初始化後的入口函式,它主要完成剩餘的與硬體平臺相關的初始化工作,在進行一系列與核心相關的初始化後,呼叫第一個使用者程序-init 程序並等待使用者程序的執行,這樣整個 Linux 核心便啟動完畢。該函式所做的具體工作有:呼叫 setup_arch

Linux啟動過程分析》核心掛載檔案系統

說明:本文基於Linux2.6.29核心分析;其他核心版本僅供參考。   前邊通過原始碼情景分析,看過了匯流排、裝置、驅動及其發現機制,Linux2.6核心udev裝置節點建立相關;對於檔案系統,一直望而生畏,但核心學習、這部分又不可能繞的過去。目前對VFS中使用的has

linux目錄結構檔案系統詳解

FHS: /bin:所有使用者可用的基本命令程式檔案; /sbin: 供系統管理使用的工具程式; /boot: 引導載入器必須用到的各靜態檔案:kernel,inintramfs(initrd),

Linux學習之目錄結構檔案系統

目錄結構和根檔案系統 1、Linux結構 2、Linux檔案系統 (1)程式編譯方式 1、動態連結編譯:動態編譯的可執行檔案需要附帶一個動態連結庫,執行時呼叫連結庫中的庫檔案。 2、靜態連結編譯:在編譯時將庫檔案提出來放在該執行檔案中,不依賴動態連結庫 注意:庫檔案只有被呼叫

uboot中利用TFTPNFS載入核心映象檔案系統

origin: http://www.cnblogs.com/cjjnjust/articles/1754849.html 主機說明: 實驗板說明: MPC8349itx開發板: IP: 59.64.155.244  閘道器 59.64.155.1 開發板eth0為

如何把核心、uboot、檔案系統下載到開發板中

1、首先準備好所需要的檔案:u-boot、uImage、rootfs.img。 2、下載u-boot: tftp   0x40000000   u-boot.bin nand   erase  0    0x60000 nand    write   ox40000000

淺談linux中的檔案系統(rootfs的原理介紹)

linux中有一個讓很多初學者都不是特別清楚的概念,叫做“根檔案系統”。我接觸linux前前後後也好幾年了,但是對這個問題,至今也不是特別的清楚,至少沒法給出一個很全面很到位的解釋。於是,今天我們就來理一理這個話題。 一、先交代一下檔案系統 在開始討論根檔案

[置頂] 《Linux啟動過程分析》核心掛載檔案系統 http://blog.csdn.net/tankai19880619/article/details/12093239

說明:本文基於Linux2.6.29核心分析;其他核心版本僅供參考。   前邊通過原始碼情景分析,看過了匯流排、裝置、驅動及其發現機制,Linux2.6核心udev裝置節點建立相關;對於檔案系統,一直望而生畏,但核心學習、這部分又不可能繞的過去。目前對VFS中使用的hash表還未做研究,它在dent

Linux檔案系統檔案系統

    在學習Linux的過程中,會遇到“檔案系統”和“根檔案系統”兩個概念,這兩個概念容易混淆,總覺得為什麼Linux需要這麼多的檔案系統,這兩種系統的各自作用是什麼,有什麼區別呢?     “儘管

linux核心---嵌入式linux核心的五個子系統

轉自:https://blog.csdn.net/qq_27522735/article/details/63251168 Linux核心主要由程序排程(SCHED)、記憶體管理(MM)、虛擬檔案系統(VFS)、網路介面(NET)和程序間通訊(IPC)5個子系統組成,如圖1所示。   圖1

Linux技術】嵌入式linux核心的五個子系統

Perface    Linux核心主要由程序排程(SCHED)、記憶體管理(MM)、虛擬檔案系統(VFS)、網路介面(NET)和程序間通訊(IPC)5個子系統組成,如圖1所示。 圖1 Linux核心的組成部分與關係 1.程序排程    程序排程控制系統中的多個程序對CPU的訪問,使

從NFS啟動Linux並掛載檔案系統

要搞嵌入式NFS確實必不可少,否則每次都要重啟煩都煩死。這裡總結在NFS建立過程中遇到的幾個問題。 下面記錄幾個遇到的問題 VFS: Cannot open root device “