X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/fe0811b36fdacc229ac37fa8ec799efcfeecf049..eaf97a931e11636239f2654bea2dc956dfa427ff:/root/bin/firstboot diff --git a/root/bin/firstboot b/root/bin/firstboot index b8d66c18a..637f68896 100755 --- a/root/bin/firstboot +++ b/root/bin/firstboot @@ -1,21 +1,32 @@ #!/bin/sh +# $Id$ exec 2>/dev/null -umount /jffs -mount | grep jffs2 && { - echo "firstboot has already been run" - echo "to run firstboot again you must boot failsafe" - exit +[ -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 + cd /jffs +else + echo "firstboot has already been run" + echo "fixing symlinks instead" + cd $jdev +fi -mtd erase OpenWrt -mount -t jffs2 /dev/mtdblock/4 /jffs mount /dev/mtdblock/2 /rom -o ro -cd /jffs + { cd /rom find . -type d + cd - } | xargs mkdir for file in $(cd /rom; find * -type f; find * -type l;)