日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

嵌入式文件系统镜像制作及烧写

發(fā)布時間:2025/3/15 windows 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 嵌入式文件系统镜像制作及烧写 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

將rootfs和userdata兩個目錄分別制作為鏡像文件進行燒寫:

鏡像文件對應文件系統(tǒng)類型的選擇,采用:

rootfs制作為rootfs.img鏡像,采用的文件系統(tǒng)類型為cramfs,只讀,用于保護根文件系統(tǒng);

userdata制作為userdata.img鏡像,采用的文件系統(tǒng)類型為yaffs2,可讀寫;

配置linux內(nèi)核,支持兩種文件系統(tǒng):

cd??/opt/kernel

make?menuconfig

?File?Systems->

??[*]?Miscellaneous?filesystems??--->

<*>Compressed?ROM?file?system?support?(cramfs)?//支持cramfs文件系統(tǒng)

??File?Systems->

?????????[*]?Miscellaneous?filesystems??--->

<*>???YAFFS2?file?system?support?//已經(jīng)支持

保存退出

make?zImage

cp?arch/arm/boot/zImage?/tftpboot/

重啟開發(fā)板

cat?/proc/filesystems?//查看是否支持cramfsyaffs2

rootfsuserdata分別制作為cramfsyaffs2文件系統(tǒng)鏡像:

目錄????????????鏡像文件??????????????文件系統(tǒng)類型

rootfs????????rootfs.img??????????cramfs

userdata????userdata.img?????yaffs2

rootfs.img鏡像制作步驟:

cd?/opt/

mkfs.cramfs?rootfs???rootfs.img

cp?rootfs.img?/tftpboot

userdata.img鏡像制作步驟:

ftp下載mkyaffs2image工具到虛擬機中:

sudo?cp??mkyaffs2image??/usr/sbin

sudo?chmod?777?/usr/sbin/mkyaffs2image

cd?/opt/project

mkyaffs2image?userdata?userdata.img

chmod?666?userdata.img

cp?userdata.img?/tftpboot

至此四個軟件包都準備就緒:

u-boot.bin,zImage,rootfs.img,userdata.img

存放目錄:/tftpboot

nandflash分區(qū)規(guī)劃,用于部署鏡像文件:

0----------2M----------7M----------17M------------剩余

??uboot?????zImage???rootfs.img??userdata.img

注意:鏡像文件大小要小于各個分區(qū)的大小!請確認!
修改nandflash的分區(qū)表

cd?/opt/kernel

vim?drivers/mtd/nand/s3c_nand.c?找到分區(qū)表,修改如下分區(qū)表信息:

struct?mtd_partition?s3c_partition_info[?]?=?{

//第一分區(qū)信息?

{

???????.name???????????=?"uboot",?//分區(qū)的名稱

???????.offset?????????=?(0),?//分區(qū)的起始地址

???????.size???????????=?(SZ_1M*2),?//分區(qū)的大小

},

//第二分區(qū)信息?

{

?????.name???????????=?"kernel",?

?????.offset?????????=?MTDPART_OFS_APPEND,?//追加

?????.size???????????=?(SZ_1M*5),?

},

//第三分區(qū)信息?

{

?????????.name???????????=?"rootfs",?? ? //第一次寫成大寫了下面圖片不對

?????????.offset?????????=?MTDPART_OFS_APPEND,?

?????????.size???????????=?(SZ_1M*10),?

},

//第四分區(qū)信息?

{

?????????.name???????????=?"userdata",

?????????.offset?????????=MTDPART_OFS_APPEND,?

?????????.size???????????=?MTDPART_SIZ_FULL?//剩余

}

};

保存退出

make?zImage

cp?arch/arm/boot/zImage?/tftpboot

重啟開發(fā)板

cat?/proc/mtd?//查看分區(qū)表

ls?/dev/mtd*?-lh?//查看字符設備文件和塊設備文件

/dev/mtd0:第一個分區(qū)的字符設備文件

/dev/mtdblock0:第一個分區(qū)的塊設備文件

zImage,rootfs.img,userdata.img燒寫到nand上:

燒寫方法有兩種,一種通過uboot,另一種通過mtd工具

利用uboot來進行燒寫的步驟:

燒寫zImage:

tftp?50008000?zImage

nand?erase?200000?500000

nand?write?50008000?200000?500000

?

燒寫rootfs.img

tftp?50008000?rootfs.img

nand?erase?700000?a00000

nand?write?50008000?700000?a00000


燒寫userdata.img

tftp?50008000?userdata.img

nand?erase?1100000???

nand?write.yaffs?50008000?1100000?$filesize

或者

nand?write.yaffs?50008000?1100000?$(filesize)

設置本地啟動的參數(shù)信息:

setenv?bootcmd?nand?read?50008000?200000?500000?\;?bootm?50008000

setenv?bootargs?root=/dev/mtdblock2?init=/linuxrc?console=ttySAC0,115200?rootfstype=cramfs

saveenv

重啟開發(fā)板,看rootfs是否能掛接,所在第三塊分區(qū)


驗證根文件系統(tǒng)是否為只讀:

cd??/

mkdir?helloworld?//看是否能創(chuàng)建目錄??可以創(chuàng)建

手動掛接存放userdata數(shù)據(jù)的第四塊分區(qū)到根文件系統(tǒng)home目錄:

在開發(fā)板上執(zhí)行:

mount?-t?yaffs2?/dev/mtdblock3?/home?

mount?//看是否掛接成功

cd?/home?//進入第四塊分區(qū)?

ls?//查看第四塊分區(qū)的內(nèi)容,是否有之前userdata目錄的內(nèi)容

.??/home/scripts/run.sh??//手動運行軟件啟動腳本,"."后跟一個空格

此時???led燈QT啟動成功

自動掛接存放userdata數(shù)據(jù)的第四塊分區(qū)到根文件系統(tǒng)home目錄:

vim?/opt/rootfs/etc/init.d/rcS,在文件最后添加:

mount?-t?yaffs2?/dev/mtdblock3?/home

ifconfig?eth0?192.168.1.110

ifcofig?lo?127.0.0.1

保存退出


鏡像包下載地址:http://linux.linuxidc.com/pub/2011/10/09/制作根文件系統(tǒng)鏡像工具mkfs編譯/
操作參考:http://www.linuxidc.com/Linux/2011-10/44887.htm

http://www.embedu.org/Column/Column508.htm

啟動信息顯示:

UBIFS:?mounted?UBI?device?0,?volume?0,?name?"rootfs"

UBIFS:?file?system?size:???126341120?bytes?(123380?KiB,?120?MiB,?995?LEBs)

UBIFS:?journal?size:???????6348800?bytes?(6200?KiB,?6?MiB,?50?LEBs)

UBIFS:?media?format:???????w4/r0?(latest?is?w4/r0)

UBIFS:?default?compressor:?lzo

UBIFS:?reserved?for?root:??4952683?bytes?(4836?KiB)

VFS:?Mounted?root?(ubifs?filesystem)?on?device?0:14.

Freeing?init?memory:?148K




與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的嵌入式文件系统镜像制作及烧写的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。