如何做一个hitools烧写替换的ext4镜像:
以下介绍都假设你电脑上有7zip软件,所说的打开,都是指右键点击文件,右键菜单“7zip”->“打开压缩包”
如果你自编译或者下载到的是.ext4.gz的文件,打开解压得到.ext4的文件,直接就可以用hitools烧入了,无需处理
如果是.tar.gz的文件,打开是全套分区内容,关闭之,.tar.gz文件复制到U盘,插到linux环境下做hitools需要的镜像。
如果是squashfs-factory.img或者squashfs-sysupgrade.img文件:7zip打开它解压
通常有0.img和1.img两个文件:0.img是一个fat分区(启动信息和kernel镜像)扔掉,1.img是openwrt的squashfs分区,复制到U盘,插到linux环境下做hitools需要的镜像。
ssh控制台登录linux环境(ttyd浏览器登录也行),假设U盘已插入,已挂载为/mnt/sda1
ls /mnt/sda1 #看看u盘上的内容能不能看到
######将U盘上rootfs.tar.gz解压到rootfs.ext4分区镜像文件##########################
#####生成rootfs.ext4分区镜像文件并挂载到/tmp/tmp/mnt
cd /tmp/tmp
mkdir mnt #创建挂载目录: /tmp/tmp/mnt
dd if=/dev/zero of=/mnt/sda1/rootfs.ext4 bs=1M count=500 #生成一个500M的roofs.ext4文件
mkfs.ext4 /mnt/sda1/rootfs.ext4 #将新文件格式化为ext4格式
mount -t ext4 -o loop /mnt/sda1/rootfs.ext4 mnt #将rootfs.ext4文件挂载到/tmp/tmp/mnt目录
cd mnt
tar xzvf /mnt/sda1/rootfs.tar.gz #解压到mnt目录
cd ..
sync
umount mnt #卸载mnt目录rootfs.ext4文件
#####将U盘上1.img squashfs分区转换到rootfs.ext4分区镜像文件##########################
#####生成rootfs.ext4分区镜像文件并挂载到/tmp/tmp/mnt
cd /tmp/tmp
mkdir mnt #创建挂载目录: /tmp/tmp/mnt
dd if=/dev/zero of=/mnt/sda1/rootfs.ext4 bs=1M count=500 #生成一个500M的roofs.ext4文件
mkfs.ext4 /mnt/sda1/rootfs.ext4 #将新文件格式化为ext4格式
mount -t ext4 -o loop /mnt/sda1/rootfs.ext4 mnt #将rootfs.ext4文件挂载到/tmp/tmp/mnt目录
mkdir src #创建挂载目录: /tmp/tmp/src
mount -t squashfs -o loop /mnt/sda1/1.img src #将U盘上1.img挂载到/tmp/tmp/src目录
cd mnt
cp -rf ../src/* . #全体复制
cd ..
sync #刷新缓冲
umount mnt #卸载mnt目录rootfs.ext4文件
umount src #卸载src目录1.img文件
#就完成了ext4文件系统制作
#####rootfs.ext4分区镜像文件的使用##########################
#可以1.直接刷新rootfs分区后断电重启(如果在盒子上的openwrt中制作的)
dd if=/mnt/sda1/rootfs.ext4 of=/dev/mmcblk0p4
#可以2.卸载U盘用于电脑hitools烧录
umount /mnt/sda1
#拔u盘