47 lines
		
	
	
		
			932 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			932 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/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
 |