summaryrefslogtreecommitdiffstats
path: root/root/bin/firstboot
diff options
context:
space:
mode:
Diffstat (limited to 'root/bin/firstboot')
-rwxr-xr-xroot/bin/firstboot16
1 files changed, 12 insertions, 4 deletions
diff --git a/root/bin/firstboot b/root/bin/firstboot
index b484e1a81..637f68896 100755
--- a/root/bin/firstboot
+++ b/root/bin/firstboot
@@ -3,18 +3,26 @@
exec 2>/dev/null
-umount /jffs
-if [ -z "$(mount | grep jffs2)" ]; then
+[ -f "/tmp/.firstboot" ] && {
+ echo "firstboot is already running"
+ return
+}
+touch /tmp/.firstboot
+
+jdev=$(mount | awk '/jffs2/ {print $3}')
+
+if [ -z "$jdev" ]; then
mtd erase OpenWrt
mount -t jffs2 /dev/mtdblock/4 /jffs
- mount /dev/mtdblock/2 /rom -o ro
cd /jffs
else
echo "firstboot has already been run"
echo "fixing symlinks instead"
- cd /
+ cd $jdev
fi
+mount /dev/mtdblock/2 /rom -o ro
+
{
cd /rom
find . -type d