触觉智能分享|SSD20X 使用SD卡根文件系统

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/sh

PWD=$(pwd)

images_dir=${PWD}/images_for_mksdcard

if [ "$1" == "" ]; then

echo "!!!!!!!!!!!! usage: sudo ./make_sd_rootfs.sh /dev/sdb !!!!!!!!!!!"

exit 0

fi

sfdisk ${1}

mkfs.ext3 -F -j ${1}1

mkdir tmp_rootfs

mount -t ext3 ${1}1 tmp_rootfs

tar -xvf ./rootfs.tar -C tmp_rootfs

umount tmp_rootfs

rm -rf tmp_rootfs

# chmod a+x make_sd_rootfs.sh

把SD卡接入到ubuntu中,假设SD卡被识别为/dev/sdb,则执行:

# sudo ./make_sd_rootfs.sh /dev/sdb

等待制作完成。

图片

本地验证:

# sudo mount /dev/sdb1 /mnt

# sudo umount /mnt

图片

制作完成,将SD卡取出并插入入到开发板的SD卡座上。

 KERNEL支持EXT2/3/4

需要确保kernel支持EXT2/3/4:

# ARCH=arm make menuconfig

File systems  --->

<*> The Extended 3 (ext3) filesystem

如果没有支持,需重新配置并更新kernel。

设置bootargs

重新设置bootargs,使root指向SD卡中的文件系统所在分区,这样kernel起来后会挂载SD卡中的文件系统,并作为根目录:

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 # saveenv

开始使用

重新上电后,可以看到SD卡中的文件系统已经被正确挂载了,并且空间足够大。

图片

# mount

图片

# df -h

图片

现在,我们有更多空间来做更多的事情了。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Industio_触觉智能

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值