启明云端分享|SSD20X 如何使用SD卡根文件系统
提示:作為Espressif(樂鑫科技)大中華區合作伙伴及sigmastar(廈門星宸)VAD合作伙伴,我們不僅用心整理了你在開發過程中可能會遇到的問題以及快速上手的簡明教程供開發小伙伴參考。同時也用心整理了樂鑫及星宸科技的新產品、新方案的主要特點及應用!希望你能第一時間了解并快速用上好的方案和產品!
前言
SSD20X平臺下,我們使用spi-nand/spi-nor Flash作為啟動盤,容量一般為128/256/512MB。如果我們的文件系統大小超出了Flash的容量,將遇到困難,一個場景是我們想要在SSD20X上運行較完備ubuntu系統(后面我們會介紹如何在SSD20X上運行它)。而SD卡的容量足夠大(以GB為單位),可以解決Flash容量限制問題。
大概的做法是將uboot和kernel放置在flash中,然后把我們較大的根文件系統放置在SD卡里面。之所以不能把uboot和kernel也放置在SD卡里,是因為SSD20X僅支持從spi-flash啟動,讓kernel起來后再掛載SD卡中的文件系統,這也意味著,我們可以使用容量更小的Flash,16MB也足夠了。
一、制作SD卡文件系統
我們需要先準備一個文件系統:
> # mkdir sd_rootfs > > # cd sd_rootfs > > # cp ../project/image/output/rootfs/* ./ -rf > > # cp ../project/image/output/customer/ . -rf > > # cp ../project/image/output/appconfigs/ . -rf > > # cp ../project/image/output/miservice/config/ . -rf > > # tar -cvf rootfs.tar ./*編寫一個腳本,實現一鍵制作完成:
# touch make_sd_rootfs.sh#!/bin/shPWD=$(pwd)images_dir=${PWD}/images_for_mksdcardif [ "$1" == "" ]; thenecho "!!!!!!!!!!!! usage: sudo ./make_sd_rootfs.sh /dev/sdb !!!!!!!!!!!"exit 0fisfdisk ${1}mkfs.ext3 -F -j ${1}1mkdir tmp_rootfsmount -t ext3 ${1}1 tmp_rootfstar -xvf ./rootfs.tar -C tmp_rootfsumount tmp_rootfsrm -rf tmp_rootfs# chmod a+x make_sd_rootfs.sh把SD卡接入到ubuntu中,假設SD卡被識別為/dev/sdb,則執行:
# sudo ./make_sd_rootfs.sh /dev/sdb等待制作完成。
本地驗證:
制作完成,將SD卡取出并插入入到開發板的SD卡座上。
二、KERNEL支持EXT2/3/4
需要確保kernel支持EXT2/3/4:
# ARCH=arm make menuconfigFile systems ---><*> The Extended 3 (ext3) filesystem如果沒有支持,需重新配置并更新kernel。
三、設置bootargs
重新設置bootargs,使root指向SD卡中的文件系統所在分區,這樣kernel起來后會掛載SD卡中的文件系統,并作為根目錄:
```bash SigmaStar # setenv bootargs console=ttyS0,115200 root=/dev/mmcblk0p1 rw init=/linuxrc rootwait=1 LX_MEM=0x3f00000 mma_heap=mma_heap_name0,miu=0,sz=0xa00000 mma_memblock_remove=1 highres=off mmap_reserved=fb,miu=0,sz=0x300000,max_start_off=0x3300000,max_end_off=0x3600000 mtdparts=nand0:384k@1280k(IPL0),384k(IPL1),384k(IPL_CUST0),384k(IPL_CUST1),768k(UBOOT0),768k(UBOOT1),256k(ENV),256k(ENV1),0x20000(KEY_CUST),0x60000(LOGO),0x500000(KERNEL),0x500000(RECOVERY),-(UBI)SigmaStar # saveenv4、開始使用
重新上電后,可以看到SD卡中的文件系統已經被正確掛載了,并且空間足夠大。
這樣我們就有更多空間來做更多的事情了。
在開發過程中,你也可以選擇7寸彩屏開發板進行開發
總結
以上是生活随笔為你收集整理的启明云端分享|SSD20X 如何使用SD卡根文件系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 启明云端分享| ESP32-C3智能写字
- 下一篇: 启明云端分享|sigmastar SSD