mirror of https://github.com/OpenIPC/firmware.git
39 lines
961 B
Bash
Executable File
39 lines
961 B
Bash
Executable File
#!/bin/sh
|
|
rootfs=/squashfs
|
|
rootdir=/overlay/root
|
|
workdir=/overlay/work
|
|
|
|
mount -t devtmpfs devtmpfs /dev
|
|
mount -t proc proc /proc
|
|
mount -t sysfs sysfs /sys
|
|
|
|
sleep 1
|
|
fsck.fat -a /dev/mmcblk0p1
|
|
mkdir -p $rootfs /mnt /overlay /sdcard /tmp
|
|
|
|
echo OpenIPC: Copy squashfs
|
|
mount -r /dev/mmcblk0p1 /sdcard || exec sh
|
|
cp -f /sdcard/rootfs.squashfs.* /tmp || exec sh
|
|
mount /tmp/rootfs.squashfs.* $rootfs || exec sh
|
|
|
|
mount -t tmpfs tmpfs -o size=5M /overlay
|
|
[ -f /sdcard/settings.tar ] && tar -xf /sdcard/settings.tar -C /overlay
|
|
|
|
echo OpenIPC: Mount overlayfs
|
|
mkdir -p $rootdir $workdir
|
|
mount -t overlay overlay -o lowerdir=$rootfs,upperdir=$rootdir,workdir=$workdir /mnt
|
|
|
|
mount -o move /dev /mnt/dev
|
|
mount -o move /overlay /mnt/overlay
|
|
mount -o move $rootfs /mnt/rom
|
|
|
|
ln -sf ../wireless/interfaces /mnt/etc/network/interfaces
|
|
cp -f /bin/savesettings /mnt/usr/sbin
|
|
|
|
umount /sdcard
|
|
umount /proc
|
|
umount /sys
|
|
|
|
echo OpenIPC: Switch to new root
|
|
exec switch_root /mnt /sbin/init
|