您的当前位置:首页正文

OTA 升级中的跟文件系统切换

来源:筏尚旅游网

OTA 升级中跟文件系统切换

贴脚本

#!/bin/sh

kill -9 -1
echo 3 > /proc/sys/vm/drop_caches
sync
#/tmp/是新的最小文件系统
#创建相应目录
mkdir  /tmp/bin/
mkdir  /tmp/sbin/
mkdir  /tmp/proc/
mkdir /tmp/dev/
mkdir /tmp/sys/
mkdir /tmp/lib/
mkdir /tmp/root/

#拷贝必要的库
cp /lib/libc* /tmp/lib/
cp /lib/ld* /tmp/lib/
#拷贝设备节点文件
cp -a /dev/*  /tmp/dev/


#拷贝sh busybox,切换根目录时同时切换终端
cp /bin/sh /tmp/bin/
cp /bin/busybox /tmp/bin/
# 拷贝升级需要的工具
cp /sbin/reboot /tmp/sbin/
cp /sbin/flashcp /tmp/sbin/
#pivot_root 切换跟文件系统,并把旧的文件系统移动到/tmp/root/下
pivot_root /tmp/  /tmp/root/
#挂载 procfs 和sysfs
busybox mount none /proc -t proc
busybox mount none /sys -t sysfs
#卸载旧文件系统
busybox umount /root/proc
busybox umount /root/dev/pts
busybox umount /root/sys
busybox umount /root/opt
busybox umount /root/data
busybox umount  /root/run
busybox umount /root/dev/shm
busybox umount /root/media/sdcard

busybox umount -l  /root/dev
#卸载旧跟文件系统
busybox umount  -l /root
#烧写镜像
flashcp /rootfs/rootfs.squashfs /dev/mtd4
flashcp /rootfs/rootfs1.squashfs /dev/mtd5

reboot













因篇幅问题不能全部显示,请点此查看更多更全内容