X-Git-Url: http://git.ozo.com/?a=blobdiff_plain;f=root%2Fbin%2Ffirstboot;h=5076d1c181be78afa57c789645c82a9a856f8a81;hb=f6ea7efa4b6dae8de844bb6bc1bcf6e52e375ba0;hp=b8d66c18ae570e70249c1e4c186791c6f12b4525;hpb=fe0811b36fdacc229ac37fa8ec799efcfeecf049;p=openwrt-10.03%2F.git diff --git a/root/bin/firstboot b/root/bin/firstboot index b8d66c18a..5076d1c18 100755 --- a/root/bin/firstboot +++ b/root/bin/firstboot @@ -1,27 +1,45 @@ #!/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 + echo -n "Creating jffs2 partition... " + mtd erase OpenWrt >&- + mount -t jffs2 /dev/mtdblock/4 /jffs + echo "done" + cd /jffs +else + echo "firstboot has already been run" + echo "jffs2 partition is mounted, only resetting files" + cd $jdev +fi + +exec 2>/dev/null -mtd erase OpenWrt -mount -t jffs2 /dev/mtdblock/4 /jffs mount /dev/mtdblock/2 /rom -o ro -cd /jffs + +echo -n "creating directories... " { cd /rom find . -type d + cd - } | xargs mkdir +echo "done" +echo -n "setting up symlinks... " for file in $(cd /rom; find * -type f; find * -type l;) do { ln -sf /rom/$file $file } done +echo "done" touch /tmp/resolv.conf ln -s /tmp/resolv.conf /etc/resolv.conf