海思3519AV100 emmc分区

海思3519AV100 emmc分区

分区规划制作文件系统烧写文件系统修改uboot bootargs参数挂载config和data分区

分区规划

emmc大小7456M,分区规划: uboot: 1M kernel: 10M rootfs: 256M config: 10M data: 7000M

制作文件系统

进入sdk osdrv目录,执行下面指令编译全部drv: make OSDRV_CROSS=arm-himix200-linux CHIP=hi3519av100 BOOT_MEDIA=emmc all 等待编译完成,编译完成后: 后osdrv/pub目录下生成编译好的的rootfs_glibc文件夹 在osdrv/tools/pc/ext4_utils/bin下生成make_ext4fs工具 使用make_ext4fs对rootfs_glibc进行ext4打包 make_ext4fs -l 256M -s rootfs_hi3519av100_256M.ext4 rootfs_3519AV100

烧写文件系统

使用Hitool工具将rootfs_hi3519av100_256M.ext4烧写到rootfs分区 按上面配置好之后,点击烧写按钮,等待烧写完成。

修改uboot bootargs参数

烧写完成后,系统会起不来, 因为uboot的bootargs参数和HiTool烧录不一致,需要根据HiTool烧录设置新的bootargs参数 重启设备,进入uboot,在uboot命令行设置下面新的bootargs参数: setenv bootargs ‘mem=128M console=ttyAMA0,115200 root=/dev/mmcblk0p3 rootfstype=ext4 rw rootwait blkdevparts=mmcblk0:1M(boot),10M(kernel),256M(rootfs),10M(config),7000M(data)’ 保存参数: saveenv

重启设备,正常启动。

挂载config和data分区

正常启动后,查看/dev下emmc分区设备文件

#ls /dev/mmcblk0* -l brw------- 1 root root 179, 0 Jan 17 1970 /dev/mmcblk0 brw------- 1 root root 179, 8 Jan 17 1970 /dev/mmcblk0boot0 brw------- 1 root root 179, 16 Jan 17 1970 /dev/mmcblk0boot1 brw------- 1 root root 179, 1 Jan 17 1970 /dev/mmcblk0p1 brw------- 1 root root 179, 2 Jan 17 1970 /dev/mmcblk0p2 brw------- 1 root root 179, 3 Jan 17 1970 /dev/mmcblk0p3 brw------- 1 root root 179, 4 Jan 17 1970 /dev/mmcblk0p4 brw------- 1 root root 179, 5 Jan 17 1970 /dev/mmcblk0p5 brw------- 1 root root 179, 24 Jan 17 1970 /dev/mmcblk0rpmb

下面的5个分区,即设定的uboot, kernel,rootfs,config,data brw------- 1 root root 179, 1 Jan 17 1970 /dev/mmcblk0p1 brw------- 1 root root 179, 2 Jan 17 1970 /dev/mmcblk0p2 brw------- 1 root root 179, 3 Jan 17 1970 /dev/mmcblk0p3 brw------- 1 root root 179, 4 Jan 17 1970 /dev/mmcblk0p4 brw------- 1 root root 179, 5 Jan 17 1970 /dev/mmcblk0p5

格式化config和data即可对分区进行挂载和使用

mount -t ext4 /dev/mmcblk0p4 /config

if [ $? -ne 0 ];then

echo -e "\e[1;31m>>>>>>>>>>>>>>>>>> mount mmcblk0p4 faild <<<<<<<<<<<<<<<<<<<\033[0m"

umount /config

mkfs.ext4 /dev/mmcblk0p4

mount -t ext4 /dev/mmcblk0p4 /config

echo remount mmcblk0p4 state $?

fi

mkdir /mnt/mmc

mount -t ext4 /dev/mmcblk0p5 /mnt/mmc

if [ $? -ne 0 ];then

echo -e "\e[1;31m>>>>>>>>>>>>>>>>>> mount mmcblk0p5 faild <<<<<<<<<<<<<<<<<<<\033[0m"

umount /mnt/mmc

mkfs.ext4 /dev/mmcblk0p5

mount -t ext4 /dev/mmcblk0p5 /mnt/mmc

echo remount mmcblk0p5 state $?

fi