42 lines
901 B
Bash
Executable File
42 lines
901 B
Bash
Executable File
#!/bin/sh
|
|
# Copyright (C) 2006-2010 OpenWrt.org
|
|
# Copyright (C) 2010 Vertical Communications
|
|
|
|
find_mount_jffs2() {
|
|
|
|
overlay_head=`hexdump -C -n 8 $(find_mtd_part overlay)| awk 'NR<2 {print $2$3$4$5}'`
|
|
if [ "$overlay_head" = "ffffffff" ] ; then
|
|
echo "overlay_head $overlay_head"
|
|
nvram set flag_format_overlay=1
|
|
fi
|
|
|
|
mount "$(find_mtd_part overlay)" /data -t jffs2
|
|
if [ $? -ne 0 ] ; then
|
|
#data mount failed. this is not suppose to happen.try to recover later
|
|
touch /tmp/need_config_recovery
|
|
nvram set flag_format_overlay=1
|
|
|
|
mtd erase overlay
|
|
mount "$(find_mtd_part overlay)" /data -t jffs2
|
|
fi
|
|
|
|
mkdir -p /data/usr/log
|
|
}
|
|
|
|
jffs2_not_mounted() {
|
|
if [ "$pi_jffs2_mount_success" != "true" ]; then
|
|
return 0
|
|
else
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
do_mount_jffs2() {
|
|
check_skip || {
|
|
find_mount_jffs2 && pi_jffs2_mount_success=true
|
|
}
|
|
}
|
|
|
|
boot_hook_add preinit_mount_root do_mount_jffs2
|
|
|