制作ext4文件系统,并复制到米尔ricoboard板载eMMC,成功挂载。
时间:10-02
整理:3721RD
点击:
1。从rootfs目录制作ext4格式的根文件系统命名为rootfs.ext4,我写了一个脚本mk_roofs.sh:
我的根文件系统目录名字就是rootfs,所以的使用方法为,
这样就可以生成roofs.ext4文件系统文件了。
接下来就是挂载该文件到板载eMMC的分区中,这次我将根文件系统挂载到了eMMC的分区2中,由于该分区中有米尔官方的根文件系统,所以要先把原先的分区内容删除,然后rootfs.ext4的内容到eMMC的分区2中。
首先挂载ext4文件系统
删除mmcblk1p2中的内容
事后修改bootargs
可以用来测试gpio输出高低电平,使用方法如下:
分别设置gpio163(GPIO5_3)输出高电平、低电平。
脚本以及通过我的测试可用。
- #!/bin/sh
- sudo genext2fs -b 30000 -d $1/ rootfs.ext4
- sudo tune2fs -j -J size=1 rootfs.ext4
- sudo e2fsck -pDf rootfs.ext4
我的根文件系统目录名字就是rootfs,所以的使用方法为,
- sh mk_roofs.sh roofs
这样就可以生成roofs.ext4文件系统文件了。
接下来就是挂载该文件到板载eMMC的分区中,这次我将根文件系统挂载到了eMMC的分区2中,由于该分区中有米尔官方的根文件系统,所以要先把原先的分区内容删除,然后rootfs.ext4的内容到eMMC的分区2中。
首先挂载ext4文件系统
- mount -t ext4 /home/mmc4/rootfs.ext4 /home/mmc1
- mount -t ext4 /dev/mmcblk1p2 /home/mmc2
删除mmcblk1p2中的内容
- cd mmc2/
- rm -fr *
- cp -fr * /home/mmc2/ -R
- setenv bootargs console=ttyO0,115200 root=/dev/mmcblk1p2 rw init=/linuxrc
- 3306] No soundcards found.
- [ 1.376792] mmc1: MAN_BKOPS_EN bit is not set
- [ 1.382045] VFS: Cannot open root device "mmcblk1p2" or unknown-block(0,0): error -6
- [ 1.389947] Please append a correct "root=" boot option; here are the available partitions:
- [ 1.398409] b300 7761920 mmcblk0 driver: mmcblk
- [ 1.403946] b301 1048576 mmcblk0p1 00b1432a-01
- [ 1.409328] b302 6712320 mmcblk0p2 00b1432a-02
- [ 1.414724] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
- [ 1.423029] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
事后修改bootargs
- setenv bootargs console=ttyO0,115200 root=/dev/mmcblk1p2 rw init=/linuxrc rootwait
我写了一个控制gpio的脚本。
- #!/bin/ash
- PIN=$1
- VALUE=$2
- if test -d /sys/class/gpio/gpio$PIN/
- then
- echo $VALUE > /sys/class/gpio/gpio$PIN/value
- else
- echo $PIN > /sys/class/gpio/export
- echo out > /sys/class/gpio/gpio$PIN/direction
- echo $VALUE > /sys/class/gpio/gpio$PIN/value
- fi
可以用来测试gpio输出高低电平,使用方法如下:
分别设置gpio163(GPIO5_3)输出高电平、低电平。
脚本以及通过我的测试可用。