SD卡
和ETH0以及USB一样,SD也是默认配置好的,不需要修改任何东西。
- DTS的配置
根据原理图,看到SD卡的电源由GPIO0控制,因此DTS中sdmmc节点下的slot-pwr-gpios需要设置为PAD_GPIO0:
# vi infinity2m.dtsi
# vi infinity2m-ssc011a-s01a-padmux-display.dtsi
- kernel config的配置
# cd kernel
# ARCH=arm make menuconfig
每次修改需要保存一下配置
# cp .config ./arch/arm/configs/infinity2m_spinand_ssc011a_s01a_minigui_defconfig -f
# cd ..
重新编译固件并更新kernel:
# ./Release_to_customer.sh -f nand -p ssd201
# cat images/scripts/\[\[kernel.es
那么,系统启动后,把SD卡接上,将会看到/dev/mmcblk0节点:
- SD卡的挂载
和U盘一样,SD卡也分自动挂载和手动挂载。
- 手动
需要确保/dev/mmcblk0p1节点出来了,这样才能使用mount命令进行挂载:
# ls /dev/mmcblk0*
# mount /dev/mmcblk0p1 /mnt -o iocharset=utf8
- 自动
根据我们之前USB自动挂载的工作,SD卡的自动挂载只需要在其基础上稍作修改即可。
首先是mdev.conf,它由rootfs.mk生成,所以修改它:
# vi project/image/configs/i2m/rootfs.mk
然后添加sdcard_insert和sdcard_remove:
# cd project/image/rootfs/
# tar -xvf rootfs.tar.gz
# touch rootfs/etc/hotplug/sdcard_insert rootfs/etc/hotplug/sdcard_remove
# chmod o+x ./rootfs/etc/hotplug/sdcard_insert ./rootfs/etc/hotplug/sdcard_remove
# vi rootfs/etc/hotplug/sdcard_insert
# vi rootfs/etc/hotplug/sdcard_remove
# cat rootfs/etc/hotplug/sdcard_insert
# cat rootfs/etc/hotplug/sdcard_remove
# mkdir rootfs/sdcard
修改完后,我们重新把rootfs打包:
# tar -cvf rootfs.tar.gz ./rootfs
最后重新编译固件,并更新rootfs:
# cd ../../../
# ./Release_to_customer.sh -f nand -p ssd201
# cat images/scripts/\[\[rootfs.es
系统起来后,可以看到SD卡已经被挂载到/sdcard下了:
至此,SD卡自动挂载功能完成。
文档更新时间: 2021-08-17 14:45 作者:Aeeditor