www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 公眾號(hào)精選 > 嵌入式微處理器
[導(dǎo)讀]????????文件系統(tǒng)可以說(shuō)是嵌入式中的一大塊,也是繞不過(guò)的一部分。之前我對(duì)文件系統(tǒng)認(rèn)知一直停留在在U盤格式的理解上,直到接觸了嵌入式Linux才發(fā)現(xiàn)這里面大有文章,以Linux啟動(dòng)掛載根文件系統(tǒng)為例,這個(gè)文件系統(tǒng)可以是真正的存儲(chǔ)設(shè)備上的文件系統(tǒng),也可以是

        文件系統(tǒng)可以說(shuō)是嵌入式中的一大塊,也是繞不過(guò)的一部分。之前我對(duì)文件系統(tǒng)認(rèn)知一直停留在在U盤格式的理解上,直到接觸了嵌入式Linux才發(fā)現(xiàn)這里面大有文章,以Linux啟動(dòng)掛載根文件系統(tǒng)為例,這個(gè)文件系統(tǒng)可以是真正的存儲(chǔ)設(shè)備上的文件系統(tǒng),也可以是網(wǎng)絡(luò)文件系統(tǒng),甚至可以開(kāi)辟一段內(nèi)存,虛擬出來(lái)一個(gè)文件系統(tǒng),這些在一開(kāi)始接觸嵌入式Linux開(kāi)發(fā)的時(shí)候就算講到了講的也不會(huì)很深,我之前跟著某點(diǎn)教程走了一遍之后腦子里樹(shù)立起來(lái)了這個(gè)文件系統(tǒng)的概念,但是感覺(jué)還是模模糊糊,后來(lái)陸陸續(xù)續(xù)看了一些文章還有視頻,才慢慢有了較為清晰的認(rèn)識(shí)。

        了解了這些文件系統(tǒng)相關(guān)的知識(shí),對(duì)理解Linux使用也有幫助,因?yàn)楦夸浵碌脑S多主要目錄都是基于文件系統(tǒng)虛擬出來(lái)的。

        在這里強(qiáng)烈推薦大家入門接觸根文件系統(tǒng)以后,看一下麥子學(xué)院的有一個(gè)專門講文件系統(tǒng)的教程,講的非常詳細(xì)(墻裂推薦),教程鏈接地址我放在文章最后,大家需要自取。

        下面是我自己的個(gè)人筆記相關(guān),大家也可以自己去看一遍完整的教程,如有錯(cuò)誤,歡迎指正。

嵌入式常用文件系統(tǒng)

這是整個(gè)文件系統(tǒng)的勾勒?qǐng)D,下面將以這個(gè)圖展開(kāi)進(jìn)行介紹

查看本機(jī)所有文件系統(tǒng)

使用df -ahT命令查看當(dāng)前系統(tǒng)的所有文件系統(tǒng)

-h顯示大小

-T顯示文件系統(tǒng)類型

-a打印所有文件系統(tǒng)

文件系統(tǒng)總體介紹

一、內(nèi)核生成的文件系統(tǒng)

sysfsproc文件系統(tǒng)是內(nèi)核自動(dòng)生成的文件系統(tǒng) 。

分為兩類:

一類文件系統(tǒng)有大小,稱為基于存儲(chǔ)設(shè)備的文件系統(tǒng)。

一類文件系統(tǒng)根本無(wú)法查看大小,稱為基于邏輯的虛擬文件系統(tǒng)。

二、存儲(chǔ)設(shè)備文件系統(tǒng)

基于存儲(chǔ)設(shè)備的文件系統(tǒng)可以分為內(nèi)存文件系統(tǒng)flash文件系統(tǒng)擴(kuò)展SD卡文件系統(tǒng)網(wǎng)絡(luò)文件系統(tǒng)

三、內(nèi)存文件系統(tǒng)

內(nèi)存文件系統(tǒng)包括tmpfsramdisk

tmpfs文件系統(tǒng)是一種臨時(shí)的文件系統(tǒng),是由linux內(nèi)核來(lái)支持的,只需要在內(nèi)存中指定一個(gè)區(qū)域,指定最大的大小,就可以直接使用,不需要對(duì)內(nèi)存進(jìn)行格式化。

ramdisk是將一部分固定大小的內(nèi)存( RAM )空間模擬出硬盤分區(qū),斷電后會(huì)丟失。

四、flash文件系統(tǒng)

flash文件系統(tǒng)包括cramfssquashfsjffs/jffs2yaffs/yaffs2ubifs。

cramfs是只讀壓縮的文件系統(tǒng),可以將文件系統(tǒng)進(jìn)行壓縮,提高存儲(chǔ)效率。

squashfs是只讀壓縮的文件系統(tǒng),相比于cramfs可以支持更大的單個(gè)文件大小。

jffs/jffs2是可以讀寫,壓縮的日志閃存文件系統(tǒng),主要是應(yīng)用于nor flash

yaffs/yaffs2是另一種日志閃存文件系統(tǒng),主要是為nandflash設(shè)計(jì)的文件系統(tǒng),為了應(yīng)對(duì)flash容量的快速增長(zhǎng)。

ubifs是作為jffs2的后繼文件系統(tǒng),滿足大容量的需求。

五、擴(kuò)展文件系統(tǒng)

擴(kuò)展SD卡文件系統(tǒng)包括FAT32ext2/ext3。

FAT32是微軟專為windows開(kāi)發(fā)的文件系統(tǒng),在windows上有很好的兼容性。

ext2/ext3是Linux上的日志文件系統(tǒng),可靠性好,但在windows上支持不太好。

六、網(wǎng)絡(luò)文件系統(tǒng)

網(wǎng)絡(luò)文件系統(tǒng)包括NFSSamba

NFS是開(kāi)發(fā)板與宿主機(jī)進(jìn)行掛載的文件系統(tǒng)。

Samba是windows與Linux之間的共享機(jī)制。

七、虛擬文件系統(tǒng) 

虛擬文件系統(tǒng)無(wú)法查看大小,稱為基于邏輯的虛擬文件系統(tǒng)。

基于邏輯的虛擬文件系統(tǒng)包括進(jìn)程文件系統(tǒng)設(shè)備文件系統(tǒng)。

進(jìn)程文件系統(tǒng)在Linux上常用的是procfs文件系統(tǒng),Linux啟動(dòng)以后自動(dòng)掛載在/proc目錄下。

設(shè)備文件系統(tǒng)在Linux上常用的是sysfs文件系統(tǒng)與devfs文件系統(tǒng),sysfs文件系統(tǒng)在Linux啟動(dòng)以后,自動(dòng)掛載在sys目錄下。

devfs文件系統(tǒng)在Linux內(nèi)核2.6以前使用,現(xiàn)在基本被廢棄。

八、存儲(chǔ)設(shè)備 

存儲(chǔ)設(shè)備可以分為內(nèi)存外存網(wǎng)絡(luò),外存還可以分為內(nèi)置擴(kuò)展。

內(nèi)存對(duì)應(yīng)三、內(nèi)存文件系統(tǒng)。

外存對(duì)應(yīng)四、flash文件系統(tǒng)。

網(wǎng)絡(luò)對(duì)應(yīng)六、網(wǎng)絡(luò)文件系統(tǒng)。

內(nèi)置包括四、flash文件系統(tǒng)三、內(nèi)存文件系統(tǒng)。

擴(kuò)展對(duì)應(yīng)五、擴(kuò)展文件系統(tǒng)。

九、配置選項(xiàng)

要在嵌入式系統(tǒng)上使用這些文件系統(tǒng),內(nèi)核必須支持這些文件系統(tǒng) 。

所以linux內(nèi)核裁剪的時(shí)候進(jìn)行配置。

Linux內(nèi)核虛擬文件系統(tǒng)

目的是為了使用與文件接口統(tǒng)一的操作來(lái)完成系統(tǒng)信息管理。

包括procfs 、 devfs 、 sysfs。

內(nèi)核中首先需要配置支持這三種文件系統(tǒng)

procfs是Linux內(nèi)核信息的抽象文件接口,大量的內(nèi)核中的信息以及可調(diào)參數(shù)都被作為常規(guī)文件映射到了一個(gè)目錄樹(shù)中/proc

這樣我們就可以簡(jiǎn)單直接的通過(guò)echocat這樣的文件操作命令對(duì)系統(tǒng)信息進(jìn)行查取和調(diào)整了。

大量的系統(tǒng)工具也通過(guò)procfs來(lái)獲取內(nèi)核參數(shù),例如ps、lspci等。

一、procfs文件系統(tǒng) 

首先對(duì)procfs進(jìn)行掛載

# -t 是指定文件系統(tǒng)類型 ,第二個(gè)參數(shù)是掛載設(shè)備,因?yàn)槭莾?nèi)核設(shè)備,所以寫none,第三個(gè)參數(shù)是掛載目錄
mount -t proc none /proc
# 或者在 /etc/fstab條目下添加
none /proc proc defaults 0 0
在fstab下添加會(huì)在開(kāi)機(jī)以后自動(dòng)掛載

一旦proc卸載掉,那么df命令就無(wú)法使用了。

因?yàn)?code style="font-size: 14px;overflow-wrap: break-word;padding: 2px 4px;border-radius: 4px;margin-right: 2px;margin-left: 2px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.05);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;">df命令實(shí)際是去查看/proc/mounts文件來(lái)查看信息。

很多命令例如ps都是通過(guò)proc目錄來(lái)查看系統(tǒng)信息。

再查看一下proc目錄下的文件:帶數(shù)字的表示是進(jìn)程信息 。

其他的都是系統(tǒng)信息

cmdline文件表示內(nèi)核啟動(dòng)參數(shù)。

cpuinfo文件表示cpu信息。

meminfo文件表示內(nèi)存信息。

sys目錄表示系統(tǒng)運(yùn)行相關(guān)的信息,包括內(nèi)核等,但斷電后重新上電會(huì)再次使用默認(rèn)設(shè)置。

二、tmpfs文件系統(tǒng) 

是一種虛擬內(nèi)存文件系統(tǒng),使用內(nèi)存作為存儲(chǔ)分區(qū)進(jìn)行文件的臨時(shí)性存取,掉電會(huì)丟失,創(chuàng)建時(shí)不需要使用mkfs進(jìn)行格式化 

使用如下命令進(jìn)行掛載。

# -o 指定大小
mount -t tmpfs none -o size=10M /tmp

所以一般tmp目錄都是臨時(shí)創(chuàng)建的虛擬文件系統(tǒng)。

在這個(gè)文件夾下創(chuàng)建的文件斷電后會(huì)丟失。

所以通常使用這個(gè)目錄保存應(yīng)用程序運(yùn)行時(shí)的信息,不用擔(dān)心丟失。

作用是通過(guò)內(nèi)存的讀取速度提高程序效率,延長(zhǎng)flash壽命。

三、devfs文件系統(tǒng) 

Linux2.6內(nèi)核以前設(shè)備文件的抽象機(jī)制:提供了一種類似于文件的方法來(lái)管理位于/dev目錄下的所有設(shè)備。

特殊設(shè)備文件/dev/console以及/dev/tty。

/dev目錄下的zero以及null是黑洞文件,相當(dāng)于輸入給黑洞文件的信息全部都會(huì)消失。

devfs文件系統(tǒng)后來(lái)集成到了sysfs文件系統(tǒng)。

devfs缺點(diǎn):設(shè)備映射不同,沒(méi)有主/次設(shè)備號(hào),不能支持太多設(shè)備。

四、sysfs文件系統(tǒng)

Linux內(nèi)核2.6以后引入sysfs文件系統(tǒng):掛載于/sys目錄下,把實(shí)際連接到系統(tǒng)上的設(shè)備和總線組織成一個(gè)分級(jí)的文件。

用戶空間的程序也同樣可以使用這些信息實(shí)現(xiàn)和內(nèi)核的交互,該文件系統(tǒng)是當(dāng)前系統(tǒng)上實(shí)際設(shè)備樹(shù)的一個(gè)直觀反映。

這些信息比/dev目錄下的信息更為詳細(xì)與豐富,準(zhǔn)確。

每個(gè)設(shè)備在sysfs中都有唯一對(duì)應(yīng)的目錄。

使用如下命令創(chuàng)建掛載點(diǎn)

## -t 是指定文件系統(tǒng)類型 ,第二個(gè)參數(shù)是掛載設(shè)備,因?yàn)槭莾?nèi)核設(shè)備,所以寫none,第三個(gè)參數(shù)是掛載目錄
mount -t sysfs none /sys
# 或者在 /etc/fstab條目下添加
none /sys sysfs defaults 0 0
# 在fstab下添加會(huì)在開(kāi)機(jī)以后自動(dòng)掛載

udev工具是管理熱插拔的工具,利用了sysfs提供的信息來(lái)實(shí)現(xiàn)所有devfs的功能,通過(guò)檢測(cè)設(shè)備的插入與拔出,動(dòng)態(tài)的在/dev目錄下創(chuàng)建與刪除設(shè)備文件。

總結(jié):一切皆文件的抽象思想,使得Linux系統(tǒng)的管理變得簡(jiǎn)單統(tǒng)一。

嵌入式網(wǎng)絡(luò)文件系統(tǒng)

一、Network FileSystem 

通過(guò)NFS掛載遠(yuǎn)程主機(jī)目錄,訪問(wèn)該目錄就像訪問(wèn)本地目錄一樣。

使用NFS服務(wù)能夠方便的使各Linux系統(tǒng)之間實(shí)現(xiàn)共享。

Samba:在Linux與windows系統(tǒng)之間共享?;贑/S模式,客戶端-服務(wù)器模式。使用RPC(Remote Procedure Call,遠(yuǎn)程過(guò)程調(diào)用)。

RPC定義了一種與系統(tǒng)無(wú)關(guān)的方法來(lái)實(shí)現(xiàn)進(jìn)程間通信。

二、NFS服務(wù)安裝

# 安裝nfs
sudo apt-get install nfs-kernel-server
# 查看使用幫助
sudo server nfs-kernel-server
# 查看nfs服務(wù)狀態(tài)
sudo server nfs-kernel-server status
# 啟動(dòng)nfs服務(wù)
sudo server nfs-kernel-server start
# 關(guān)閉nfs服務(wù)
sudo server nfs-kernel-server stop
# 重啟nfs服務(wù)
sudo server nfs-kernel-server restart
# 重新加載配置文件
sudo server nfs-kernel-server reload
# 強(qiáng)制重新加載配置文件
sudo server nfs-kernel-server force-reload

三、NFS設(shè)置

/etc/exports控制著nfs服務(wù)器導(dǎo)出的訪問(wèn)目錄列表 。

示例/home/yuzhou/linux/nfs *(rw,sync,no_root_squash)規(guī)則

/home/yuzhou/linux/nfs 表示要共享的目錄
*表示主機(jī)名,或者域名或者ip地址,* 表示允許所有主機(jī)訪問(wèn)
(rw,sync,no_root_squash)表示共享參數(shù)
rw,表示允許讀寫
sync,表示實(shí)時(shí)同步
no_suntree_check,表示不檢測(cè)是否為共享目錄的子目錄
no_root_squash,表示root用戶擁有所有權(quán)限

showmount -a顯示所有客戶端的ip地址

showmount -e顯示所有導(dǎo)出的目錄列表

exportfs -r重新加載導(dǎo)出列表

三、開(kāi)發(fā)板使用NFS

確保宿主機(jī)關(guān)閉防火墻,如果可以連接,也可以不關(guān)。

nfs內(nèi)核支持 , Network FileSystem --> [] NFS Client。

查看開(kāi)發(fā)板kernel是否支持NFS,使用cat /proc/filesystem命令,檢查是否有NFS一行,如下圖所示。

使用如下命令手動(dòng)掛載nfs目錄。

# -t指定文件系統(tǒng)類型 目標(biāo)設(shè)備 掛載點(diǎn)
mount -t nfs 192.168.1.10:/home/nfs /tmp

initramfs文件系統(tǒng)

內(nèi)核啟動(dòng)的時(shí)候需要掛載根文件系統(tǒng),所以要在內(nèi)核鏡像中對(duì)存儲(chǔ)設(shè)備進(jìn)行初始化,但這樣會(huì)導(dǎo)致內(nèi)核鏡像過(guò)大。所以可以使用ramfs文件系統(tǒng)

一、rootfs、ramfs、ramdisk與tmpfs區(qū)別

  • rootfs根文件系統(tǒng)的英文rootfs不同,它是指內(nèi)核啟動(dòng)的初始根文件系統(tǒng),內(nèi)核自身虛擬了一個(gè)文件系統(tǒng),如果這個(gè)空間內(nèi)沒(méi)有文件系統(tǒng),就回去查找其他文件系統(tǒng)。
  • ramfs是基于內(nèi)存的文件系統(tǒng),沒(méi)有內(nèi)存大小的限制,會(huì)動(dòng)態(tài)增加容量,直至耗盡系統(tǒng)內(nèi)存,使用的是基于內(nèi)存的緩存,所以io效率高。
  • ramdisk是基于 ram塊設(shè)備,占據(jù)一塊固定的內(nèi)存,使用 mke2fs格式化工具創(chuàng)建文件系統(tǒng),還需要一個(gè)文件系統(tǒng)驅(qū)動(dòng)來(lái)讀寫其中的文件??臻g固定導(dǎo)致容量有限,想要寫入更多內(nèi)容需要重新格式化。由于Linux塊設(shè)備緩沖的特點(diǎn),所以 ramdisk上的數(shù)據(jù)會(huì)被拷貝到內(nèi)存上進(jìn)行備份,造成內(nèi)存浪費(fèi)。
  • ramfs的缺點(diǎn)是可能不同增長(zhǎng)直至耗盡內(nèi)存,所以只有 root用戶或者被收授權(quán)的用戶可以允許使用 ramfs,但是 tmpfs增加了容量的限制,允許用戶把數(shù)據(jù)寫入交換分區(qū),允許普通用戶使用。

二、initrd與initramfs

  • initrdintramfs之前的設(shè)計(jì) 。
  • 作用都是為了在掛載真正的根文件系統(tǒng)之前將設(shè)備驅(qū)動(dòng),工具以及一些初始化流程先加載到內(nèi)存中運(yùn)行。
  • initrd基于 ramdisk技術(shù), initrd的初始化程序是 /linuxrc文件,負(fù)責(zé) 最終完成真正根文件系統(tǒng)的掛載。我們的Ubuntu上都會(huì)有一個(gè) boot目錄,內(nèi)核從 boot分區(qū)找到 initrd鏡像,然后由 initrd鏡像完成真正跟文件系統(tǒng)的掛載。在PC上 initrd用的比較少, initramfs在嵌入式用的多。
  • initramfs的實(shí)現(xiàn)設(shè)計(jì)比 initrd更簡(jiǎn)單,靈活一點(diǎn)。是基于 ramfs文件系統(tǒng)。不是在內(nèi)核啟動(dòng)完成以后再?gòu)拇疟P加載到內(nèi)存再進(jìn)行掛載,而是構(gòu)建到內(nèi)核鏡像中,所以內(nèi)核啟動(dòng)完成以后,直接被拷貝到了 rootfs空間,作為初始根文件系統(tǒng),完成掛載真正的根文件系統(tǒng)。

三、initramfs使用

使用如下命令打包initramfs鏡像

# 使用cpio命令進(jìn)行打包
# -o指輸出 -H newc 指定打包格式為newc,這是initramfs必須指定的打包格式
# gzip是將它進(jìn)行壓縮,此處可以壓縮也可以不壓縮
find .|cpio -o -H newc | gzip > ~/myinitramfs.cpio.gz

使用如下命令進(jìn)行解壓查看

# -i 表示指定文件輸入進(jìn)來(lái) -d表示進(jìn)行解壓
# --no-absolute-filenames表示不解壓到宿主機(jī)根目錄下
zcat hello.cpio.gz | cpio -i -d -H newc --no-absolute-filenames

需要在內(nèi)核配置中進(jìn)行設(shè)置 General setup -->鏡像復(fù)制路徑以內(nèi)核源碼根目錄為根目錄

總結(jié):Linux內(nèi)核 --> initrd/initramfs(包含根文件系統(tǒng)的設(shè)備驅(qū)動(dòng)) --> Real Root Filesystem

詳細(xì)的官方描述文檔:內(nèi)核源碼目錄下 Documentation/filesysytems/ramfs-rootfs-initramfs.txt

嵌入式flash上的文件系統(tǒng)cramfs與squashfs

嵌入式系統(tǒng)上面為了提高安全性與降低文件系統(tǒng)的空間占用。

文件系統(tǒng)一般設(shè)置具有如下兩個(gè)特點(diǎn):只讀 + 壓縮。

squashfscramfs的替代品。

cramfs全稱compressed ROM filesyatem,主要用于嵌入式Linux系,簡(jiǎn)單與空間高效。

cramfs最大支持的256MB基本可以滿足嵌入式Linux要求,允許的最大文件系統(tǒng)大小為256+16=272MB,必須設(shè)置內(nèi)核的頁(yè)大小也為4KB,才可以正確讀取cramfs文件系統(tǒng)。

cramfs因?yàn)槭菍?duì)頁(yè)進(jìn)行壓縮的,所以查看數(shù)據(jù)的時(shí)候先要知道數(shù)據(jù)在哪一頁(yè)才能進(jìn)行解壓縮,這一點(diǎn)要求cramfs不能對(duì)元數(shù)據(jù)進(jìn)行壓縮,否則無(wú)法查看元數(shù)據(jù),不能進(jìn)行判斷。

ACL是指訪問(wèn)控制列表,可以對(duì)文件進(jìn)行權(quán)限管理,在嵌入式系統(tǒng)中基本不需要。cramfs的超級(jí)塊與目錄結(jié)構(gòu)不進(jìn)行壓縮,所謂布局與管理相對(duì)來(lái)說(shuō)比較簡(jiǎn)單。

這里說(shuō)的壓縮是指數(shù)據(jù)一直處于被壓縮狀態(tài),只有真正使用的時(shí)候才會(huì)對(duì)數(shù)據(jù)進(jìn)行解壓縮。

cramfs在2013年被linus標(biāo)記為過(guò)時(shí)的文件系統(tǒng),推薦使用aquashfs替代cramfs

這兩個(gè)文件系統(tǒng)都是只讀文件系統(tǒng)。

嵌入式文件系統(tǒng)jffs/jffs2與yaffs/yaffs2

是專門針對(duì)閃存的特性進(jìn)行設(shè)計(jì)。

flash閃存的類型:是一種非易失性存儲(chǔ)器,以塊為單元進(jìn)行擦除和再編程 任何flash的器件的寫入操作只能在空或者已經(jīng)擦除的單元內(nèi)進(jìn)行,在進(jìn)行寫入操作之前必須執(zhí)行擦除。分為硬件特性,存取特性,以及兩種特性決定的結(jié)論對(duì)比。

XIP是指片內(nèi)執(zhí)行功能,代碼可以直接存儲(chǔ)在flash上面,不需要拷貝到內(nèi)存。

針對(duì)flash設(shè)計(jì)的兩種文件系統(tǒng)對(duì)比。共性是都是為flash設(shè)計(jì)的,都是日志文件系統(tǒng)。

yaffs是針對(duì)大容量設(shè)計(jì)的文件系統(tǒng),所以僅僅支持nand flash。

掉電保護(hù),損耗平衡,垃圾回收都是為了保證數(shù)據(jù)可靠,提高使用壽命,以及提高存取效率。

掛載時(shí)間與內(nèi)存消耗是重點(diǎn)關(guān)注的兩個(gè)方面。

掛載時(shí)間決定了嵌入式系統(tǒng)的啟動(dòng)時(shí)間,jaffs2會(huì)對(duì)整個(gè)文件系統(tǒng)進(jìn)行全部盤掃描,將日志節(jié)點(diǎn)掃描出來(lái),在內(nèi)存中創(chuàng)建文件系統(tǒng)的目錄結(jié)構(gòu)。所以掛載時(shí)間慢,內(nèi)存消耗多。

舉例說(shuō)明:

jaffs2掛載16M文件系統(tǒng)需要消耗半分鐘,而yaffs2是立即掛載

jaffs2在128M,頁(yè)大小為512K的文件系統(tǒng)上,大約會(huì)消耗4M內(nèi)存,而yaffs只需要512K字節(jié)。

Direct使用:

考慮到文件系統(tǒng)的移植性,yaffs2支持在沒(méi)有操作系統(tǒng),沒(méi)有VFS,沒(méi)有MTD驅(qū)動(dòng)的情況下,直接使用yaffs2,因?yàn)閥affs自帶nand flash 驅(qū)動(dòng),所以移植性,模塊性,擴(kuò)展性更好,已經(jīng)被移植到UCOSII上。

ramdisk根文件系統(tǒng)

文件系統(tǒng)與操作系統(tǒng)通過(guò)某種形式連接起來(lái)(內(nèi)存,flash,網(wǎng)絡(luò))。

將內(nèi)核的指針指向文件系統(tǒng),讀出文件,內(nèi)核就可以啟動(dòng)成功。

ramdisk稱為內(nèi)存磁盤。

# 設(shè)置相關(guān)參數(shù)
# root表示啟動(dòng)的根文件系統(tǒng)在哪個(gè)設(shè)備
# 設(shè)備信息 ram nfs flash
# init進(jìn)程是什么,內(nèi)核啟動(dòng)后的第一個(gè)可執(zhí)行文件 init =
# 內(nèi)核啟動(dòng)時(shí),使用那個(gè)設(shè)備作為控制臺(tái) console=

root = /dev/ram
initrd=<start_addr>,<size>
init=/linuxrc
console=ttymxc0

內(nèi)核可以自解壓.gz類型的壓縮包。

根文件系統(tǒng)類型

了解完以上知識(shí)以后我們知道Linux的根文件系統(tǒng)可以設(shè)置為flash相關(guān)的文件系統(tǒng)內(nèi)存相關(guān)的文件系統(tǒng)或者網(wǎng)絡(luò)文件系統(tǒng)。

這在uboot中通過(guò)指定以下環(huán)境變量來(lái)指定。

tootfstype = jffs2 , yaffs2, squashfs , ubifs 等 。

根文件系統(tǒng)指定在flash上的話,需要指定分區(qū)。

mtdparts環(huán)境變量 指定flash分區(qū)表。

內(nèi)核中必須有mtd驅(qū)動(dòng)才可以支持識(shí)別分區(qū)表。

推薦教程

上面提到的文件系統(tǒng)教程鏈接

鏈接:https://pan.baidu.com/s/1izJq1YETQO2UClwmUZC99Q 提取碼:1quy


來(lái)源:于宙,作者:yz001

免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場(chǎng),如有問(wèn)題,請(qǐng)聯(lián)系我們,謝謝!

嵌入式ARM

掃描二維碼,關(guān)注更多精彩內(nèi)容

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉