日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > > ZYNQ
		


前言

由于zynq 7000系列 自帶的文件系統(tǒng)(ramdisk)大小為16M的,而我現(xiàn)在使用的開發(fā)板中,除去嵌入式linux系統(tǒng)所需要的存儲(chǔ)空間后,剩余的空間只有4M多了。當(dāng)在開發(fā)過程中移植一些庫或者程序到文件系統(tǒng),16M的文件系統(tǒng)容量更顯的相形見絀了。所以給文件系統(tǒng)擴(kuò)容是給zynq 7000 系列開發(fā)新功能的重要環(huán)節(jié)。

目前我在我的zynq 開發(fā)版上測(cè)試,成功將根文件系統(tǒng)擴(kuò)容到336M,至于為什么只能擴(kuò)容到336M,暫時(shí)還沒找到相關(guān)的資料(我的zynq 開發(fā)版硬件ddr3是4G,內(nèi)存是512M),如果有知道原因的,懇請(qǐng)留言評(píng)論,在此感激不盡。

根文件系統(tǒng)ramdisk擴(kuò)容分為三個(gè)步驟(以擴(kuò)容24M為例):

  1. 制作存儲(chǔ)空間為24M的根文件系統(tǒng)(ramdisk.image.gz)
  2. 拷貝原有的linux文件系統(tǒng)中的所有文件
  3. 制作支持24M以上的linux內(nèi)核文件(uImage)

制作存儲(chǔ)空間為24M的根文件系統(tǒng)

制作存儲(chǔ)空間為24M的根文件系統(tǒng),使用到三個(gè)命令:

dd命令: 作用是用指定大小的塊拷貝一個(gè)文件,并在拷貝的同時(shí)進(jìn)行指定的轉(zhuǎn)換
mke2fs命令:作用是將鏡像文件制作成ext2格式的文件系統(tǒng)
tune2fs命令:作用是調(diào)整和查看ext2/ext3文件系統(tǒng)的文件系統(tǒng)參數(shù)
123

三個(gè)命令的簡單介紹:

  • dd命令

    主要選項(xiàng): if=file 輸入文件名,默認(rèn)為標(biāo)準(zhǔn)輸入
     of=file 輸出文件名,默認(rèn)為標(biāo)準(zhǔn)輸出
     ibs=bytes 一次讀入bytes個(gè)字節(jié)(即一個(gè)塊大小為bytes個(gè)字節(jié))
     obs=bytes 一次寫入bytes個(gè)字節(jié)
     bs=bytes 同時(shí)設(shè)置讀和寫的塊大小為bytes
     cbs=bytes 一次轉(zhuǎn)換bytes個(gè)字節(jié)
     skip=blocks 從輸入文件開頭跳過blocks個(gè)塊后再開始復(fù)制
     seek=blocks 從輸出文件開頭跳過blocks個(gè)塊后再開始復(fù)制
     count=blocks 僅僅拷貝blocks個(gè)塊,塊大小等于ibs指定的字節(jié)數(shù)
    1234567891011
    
  • mke2fs命令:

    一般用法:
     
     mke2fs -F 設(shè)備 -L 標(biāo)簽名稱 -m xx% -b 區(qū)塊大小
     -b<區(qū)塊大小> 指定區(qū)塊大小,單位為字節(jié)。
     -c 檢查是否有損壞的區(qū)塊。
     -f<不連續(xù)區(qū)段大小> 指定不連續(xù)區(qū)段的大小,單位為字節(jié)。
     -F 不管指定的設(shè)備為何,強(qiáng)制執(zhí)行mke2fs。
     -i<字節(jié)> 指定"字節(jié)/inode"的比例。
     -N 指定要建立的inode數(shù)目。
     -l<文件> 從指定的文件中,讀取文件西中損壞區(qū)塊的信息。
     -L<標(biāo)簽> 設(shè)置文件系統(tǒng)的標(biāo)簽名稱。
     -m<百分比值> 指定給管理員保留區(qū)塊的比例,預(yù)設(shè)為5%。
     -M 記錄最后一次掛入的目錄。
     -q 執(zhí)行時(shí)不顯示任何信息。
     -r 指定要建立的ext2文件系統(tǒng)版本。
     -R=<區(qū)塊數(shù)> 設(shè)置磁盤陣列參數(shù)。
     -S 僅寫入superblock與group descriptors,而不更改inode able inode
     bitmap以及block bitmap。
     -v 執(zhí)行時(shí)顯示詳細(xì)信息。
     -V 顯示版本信息。
    1234567891011121314151617181920
    
  • tune2fs命令:

    常用選項(xiàng)說明:
     
     -l 查看文件系統(tǒng)信息
     -c max-mount-counts 設(shè)置強(qiáng)制自檢的掛載次數(shù),如果開啟,每掛載一次mount conut就會(huì)加1,超過次數(shù)就會(huì)強(qiáng)制自檢
     -i interval-between-checks[d|m|w] 設(shè)置強(qiáng)制自檢的時(shí)間間隔[d天m月w周]
     -m reserved-blocks-percentage 保留塊的百分比
     -j 將ext2文件系統(tǒng)轉(zhuǎn)換為ext3類型的文件系統(tǒng)
     -L volume-label 類似e2label的功能,可以修改文件系統(tǒng)的標(biāo)簽
     -r reserved-blocks-count 調(diào)整系統(tǒng)保留空間
     -o [^]mount-option[,...] Set or clear the indicated default mount options in the filesystem. 設(shè)置或清除默認(rèn)掛載的文件系統(tǒng)選項(xiàng)
    12345678910
    

好了,啰嗦了那么多,現(xiàn)在來看制作存儲(chǔ)空間為24M的根文件系統(tǒng)的詳細(xì)步驟。

1. 制作 ramdisk 文件系統(tǒng)

1)建立文件系統(tǒng)映象,設(shè)置文件系統(tǒng)大小為24576/1024 = 24M :

Host# dd if=/dev/zero of=ramdisk.image bs=1k count=24576 1

2)格式化為 ext2 文件系統(tǒng):

Host# mke2fs -F ramdisk.image -L“24M volume” -b 1024 -m 0 1

3)調(diào)整和查看 ext2/ext3 文件系統(tǒng)的文件系統(tǒng)參數(shù):

Host# tune2fs ramdisk.image -i 0 1

4)修改權(quán)限:

Host# chmod a+rwx ramdisk.image 1

5)壓縮鏡像文件,生成 ramdisk.image.gz :

Host# gzip -v9 ramdisk.image 1

拷貝原有的linux文件系統(tǒng)中的所有文件

擴(kuò)容的根文件系統(tǒng)(ramdisk.image.gz)已經(jīng)生成,但剛才生成的跟文件系統(tǒng)里什么東西都沒有,而能運(yùn)行l(wèi)inux系統(tǒng)的根文件系統(tǒng),需要很多系統(tǒng)文件,直接拷貝原有的linux文件系統(tǒng)中的所有文件,到這個(gè)新生成的根文件系統(tǒng)中,就能像以前運(yùn)行l(wèi)inux系統(tǒng)。

1)提取 initrd 鏡像文件:

Host# gunzip ramdisk.image.gz 1

2)掛載 initrd 鏡像文件:

Host# chmod u+rwx ramdisk.image  Host# mkdir tmp_mnt/  Host# mount -o loop ramdisk.image tmp_mnt/  123

3)提取 原有的initrd 鏡像文件:

Host# gunzip ramdisk.image.gz 1

4)掛載 原有的initrd 鏡像文件: 新建一個(gè)目錄src_ramdisk,將原有的根文件系統(tǒng)放如這個(gè)目錄下。

Host# cd src_ramdisk Host# chmod u+rwx ramdisk.image  Host# mkdir tmp_mnt/  Host# mount -o loop ramdisk.image tmp_mnt/  Host# cd tmp_mnt/  12345

5)將原來的文件系統(tǒng)中的所有文件復(fù)制到tmp_mnt中:

Host# cp  -ri  *  ../tmp_mnt 1

6)壓縮ramdisk.image,并生成 uramdisk.image

Host# cd .. Host# gzip ramdisk.image.gz  Host# mkimage -A arm -T ramdisk -C gzip -d ramdisk.image.gz uramdisk.image.gz 123

制作支持24M以上的linux內(nèi)核文件

我們將文件系統(tǒng)擴(kuò)容后,在啟動(dòng)過程中可能會(huì)報(bào)錯(cuò),報(bào)錯(cuò)的原因是在內(nèi)核配置里預(yù)留的啟動(dòng)內(nèi)存空間不夠引起的,所以需要改內(nèi)核的配置,從新編譯,內(nèi)核配置要改的地方如下:

# make ARCH=arm menuconfig 1

保存設(shè)置后,編譯生成uImage:

Host# make -j 4 ARCH=arm CROSS_COMPILE=arm-xilinx-linux-gnueabi- UIMAGE_LOADADDR=0X8000 uImage 1

驗(yàn)證

將修改好的uImage 和ramdisk 復(fù)制到sd卡中,并加載進(jìn)入系統(tǒng)。

使用 df -h 命令查看空間使用情況。

Host# df -h 1


本站聲明: 本文章由作者或相關(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)系本站刪除。
關(guān)閉