diff options
author | Felix Fietkau <nbd@openwrt.org> | 2010-01-25 17:11:17 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2010-01-25 17:11:17 +0000 |
commit | 56bc02a305ae8d8a7e927622d924cdab56d4f012 (patch) | |
tree | 079702f93a3ad4420b99f31bc99c1b9b2b9a8a08 /package/base-files/files/lib/firstboot/10_determine_parts | |
parent | 35170c48928e99dda69d46274c2749bc9bff972d (diff) | |
download | upstream-56bc02a305ae8d8a7e927622d924cdab56d4f012.tar.gz upstream-56bc02a305ae8d8a7e927622d924cdab56d4f012.tar.bz2 upstream-56bc02a305ae8d8a7e927622d924cdab56d4f012.zip |
add preinit modularization work by Daniel Dickinson (cshore)
SVN-Revision: 19331
Diffstat (limited to 'package/base-files/files/lib/firstboot/10_determine_parts')
-rw-r--r-- | package/base-files/files/lib/firstboot/10_determine_parts | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/package/base-files/files/lib/firstboot/10_determine_parts b/package/base-files/files/lib/firstboot/10_determine_parts new file mode 100644 index 0000000000..3f56e32a89 --- /dev/null +++ b/package/base-files/files/lib/firstboot/10_determine_parts @@ -0,0 +1,46 @@ +#!/bin/sh + +set_mtd_part() { + partname="rootfs_data" + mtdpart="$(find_mtd_part $partname)" +} + +set_rom_part() { + rom=$(awk '/squashfs/ {print $2}' /proc/mounts) +} + +set_jffs_part() { + jffs=$(awk '/jffs2/ {print $2}' /proc/mounts) +} + +determine_mtd_part() { + set_mtd_part + if [ -z "$mtdpart" ]; then + echo "MTD partition not found." + exit 1 + fi +} + +determine_rom_part() { + check_skip || { + set_rom_part + if [ -z "$rom" ]; then + echo "You do not have a squashfs partition; aborting" + echo "(firstboot cannot be run on jffs2 based firmwares)" + exit 1 + fi + } +} + +determine_jffs2_part() { + check_skip || { + set_jffs_part + } +} + +boot_hook_add switch2jffs determine_mtd_part +boot_hook_add jffs2reset determine_mtd_part +boot_hook_add switch2jffs determine_rom_part +boot_hook_add jffs2reset determine_rom_part +boot_hook_add switch2jffs determine_jffs2_part +boot_hook_add jffs2reset determine_jffs2_part |