mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-03 22:44:27 -05:00 
			
		
		
		
	imx: decouple sdcard sysupgrade from Apalis boards
Sysupgrade procedure for i.MX 6 Apalis boards is suitable for most other i.MX boards booting from eMMC or SD card. Extract the common parts and decouple the procedure from "apalis" board name in sysupgrade TAR contents, so the procedure is reusable for i.MX 7 boards. Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
This commit is contained in:
		
							parent
							
								
									f987887e14
								
							
						
					
					
						commit
						70a9c75ef3
					
				
							
								
								
									
										63
									
								
								target/linux/imx/base-files/lib/imx.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								target/linux/imx/base-files/lib/imx.sh
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,63 @@
 | 
				
			|||||||
 | 
					#
 | 
				
			||||||
 | 
					# Copyright (C) 2010-2013 OpenWrt.org
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					rootpartuuid() {
 | 
				
			||||||
 | 
						local cmdline=$(cat /proc/cmdline)
 | 
				
			||||||
 | 
						local bootpart=${cmdline##*root=}
 | 
				
			||||||
 | 
						bootpart=${bootpart%% *}
 | 
				
			||||||
 | 
						local uuid=${bootpart#PARTUUID=}
 | 
				
			||||||
 | 
						echo ${uuid%-02}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					bootdev_from_uuid() {
 | 
				
			||||||
 | 
						blkid | grep "PTUUID=\"$(rootpartuuid)\"" | cut -d : -f1
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					bootpart_from_uuid() {
 | 
				
			||||||
 | 
						blkid | grep $(rootpartuuid)-01 | cut -d : -f1
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					rootpart_from_uuid() {
 | 
				
			||||||
 | 
						blkid | grep $(rootpartuuid)-02 | cut -d : -f1
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					imx_sdcard_mount_boot() {
 | 
				
			||||||
 | 
						mkdir -p /boot
 | 
				
			||||||
 | 
						[ -f /boot/uImage ] || {
 | 
				
			||||||
 | 
							mount -o rw,noatime $(bootpart_from_uuid) /boot > /dev/null
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					imx_sdcard_copy_config() {
 | 
				
			||||||
 | 
						imx_sdcard_mount_boot
 | 
				
			||||||
 | 
						cp -af "$UPGRADE_BACKUP" "/boot/$BACKUP_FILE"
 | 
				
			||||||
 | 
						sync
 | 
				
			||||||
 | 
						umount /boot
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					imx_sdcard_do_upgrade() {
 | 
				
			||||||
 | 
						local board_dir="$(tar tf "${1}" | grep -m 1 '^sysupgrade-.*/$')"
 | 
				
			||||||
 | 
						board_dir="${board_dir%/}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						imx_sdcard_mount_boot
 | 
				
			||||||
 | 
						get_image "$1" | tar Oxf - ${board_dir}/kernel > /boot/uImage
 | 
				
			||||||
 | 
						get_image "$1" | tar Oxf - ${board_dir}/root > $(rootpart_from_uuid)
 | 
				
			||||||
 | 
						sync
 | 
				
			||||||
 | 
						umount /boot
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					imx_sdcard_pre_upgrade() {
 | 
				
			||||||
 | 
						[ -z "$UPGRADE_BACKUP" ] && {
 | 
				
			||||||
 | 
							jffs2reset -y
 | 
				
			||||||
 | 
							umount /overlay
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					imx_sdcard_move_config() {
 | 
				
			||||||
 | 
						if [ -b $(bootpart_from_uuid) ]; then
 | 
				
			||||||
 | 
							imx_sdcard_mount_boot
 | 
				
			||||||
 | 
							[ -f "/boot/$BACKUP_FILE" ] && mv -f "/boot/$BACKUP_FILE" /
 | 
				
			||||||
 | 
							umount /boot
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -1,30 +0,0 @@
 | 
				
			|||||||
#
 | 
					 | 
				
			||||||
# Copyright (C) 2010-2013 OpenWrt.org
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
rootpartuuid() {
 | 
					 | 
				
			||||||
	local cmdline=$(cat /proc/cmdline)
 | 
					 | 
				
			||||||
	local bootpart=${cmdline##*root=}
 | 
					 | 
				
			||||||
	bootpart=${bootpart%% *}
 | 
					 | 
				
			||||||
	local uuid=${bootpart#PARTUUID=}
 | 
					 | 
				
			||||||
	echo ${uuid%-02}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
bootdev_from_uuid() {
 | 
					 | 
				
			||||||
	blkid | grep "PTUUID=\"$(rootpartuuid)\"" | cut -d : -f1
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
bootpart_from_uuid() {
 | 
					 | 
				
			||||||
	blkid | grep $(rootpartuuid)-01 | cut -d : -f1
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
rootpart_from_uuid() {
 | 
					 | 
				
			||||||
	blkid | grep $(rootpartuuid)-02 | cut -d : -f1
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
apalis_mount_boot() {
 | 
					 | 
				
			||||||
	mkdir -p /boot
 | 
					 | 
				
			||||||
	[ -f /boot/uImage ] || {
 | 
					 | 
				
			||||||
		mount -o rw,noatime $(bootpart_from_uuid) /boot > /dev/null
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@ -9,11 +9,7 @@ move_config() {
 | 
				
			|||||||
	toradex,apalis_imx6q-eval|\
 | 
						toradex,apalis_imx6q-eval|\
 | 
				
			||||||
	toradex,apalis_imx6q-ixora|\
 | 
						toradex,apalis_imx6q-ixora|\
 | 
				
			||||||
	toradex,apalis_imx6q-ixora-v1.1)
 | 
						toradex,apalis_imx6q-ixora-v1.1)
 | 
				
			||||||
		if [ -b $(bootpart_from_uuid) ]; then
 | 
							imx_sdcard_move_config
 | 
				
			||||||
			apalis_mount_boot
 | 
					 | 
				
			||||||
			[ -f "/boot/$BACKUP_FILE" ] && mv -f "/boot/$BACKUP_FILE" /
 | 
					 | 
				
			||||||
			umount /boot
 | 
					 | 
				
			||||||
		fi
 | 
					 | 
				
			||||||
		;;
 | 
							;;
 | 
				
			||||||
	esac
 | 
						esac
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -17,21 +17,6 @@ enable_image_metadata_check() {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
enable_image_metadata_check
 | 
					enable_image_metadata_check
 | 
				
			||||||
 | 
					
 | 
				
			||||||
apalis_copy_config() {
 | 
					 | 
				
			||||||
	apalis_mount_boot
 | 
					 | 
				
			||||||
	cp -af "$UPGRADE_BACKUP" "/boot/$BACKUP_FILE"
 | 
					 | 
				
			||||||
	sync
 | 
					 | 
				
			||||||
	umount /boot
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
apalis_do_upgrade() {
 | 
					 | 
				
			||||||
	apalis_mount_boot
 | 
					 | 
				
			||||||
	get_image "$1" | tar Oxf - sysupgrade-apalis/kernel > /boot/uImage
 | 
					 | 
				
			||||||
	get_image "$1" | tar Oxf - sysupgrade-apalis/root > $(rootpart_from_uuid)
 | 
					 | 
				
			||||||
	sync
 | 
					 | 
				
			||||||
	umount /boot
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
platform_check_image() {
 | 
					platform_check_image() {
 | 
				
			||||||
	local board=$(board_name)
 | 
						local board=$(board_name)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -109,7 +94,7 @@ platform_do_upgrade() {
 | 
				
			|||||||
	toradex,apalis_imx6q-eval|\
 | 
						toradex,apalis_imx6q-eval|\
 | 
				
			||||||
	toradex,apalis_imx6q-ixora|\
 | 
						toradex,apalis_imx6q-ixora|\
 | 
				
			||||||
	toradex,apalis_imx6q-ixora-v1.1)
 | 
						toradex,apalis_imx6q-ixora-v1.1)
 | 
				
			||||||
		apalis_do_upgrade "$1"
 | 
							imx_sdcard_do_upgrade "$1"
 | 
				
			||||||
		;;
 | 
							;;
 | 
				
			||||||
	esac
 | 
						esac
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -121,7 +106,7 @@ platform_copy_config() {
 | 
				
			|||||||
	toradex,apalis_imx6q-eval|\
 | 
						toradex,apalis_imx6q-eval|\
 | 
				
			||||||
	toradex,apalis_imx6q-ixora|\
 | 
						toradex,apalis_imx6q-ixora|\
 | 
				
			||||||
	toradex,apalis_imx6q-ixora-v1.1)
 | 
						toradex,apalis_imx6q-ixora-v1.1)
 | 
				
			||||||
		apalis_copy_config
 | 
							imx_sdcard_copy_config
 | 
				
			||||||
		;;
 | 
							;;
 | 
				
			||||||
	esac
 | 
						esac
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -133,10 +118,7 @@ platform_pre_upgrade() {
 | 
				
			|||||||
	toradex,apalis_imx6q-eval|\
 | 
						toradex,apalis_imx6q-eval|\
 | 
				
			||||||
	toradex,apalis_imx6q-ixora|\
 | 
						toradex,apalis_imx6q-ixora|\
 | 
				
			||||||
	toradex,apalis_imx6q-ixora-v1.1)
 | 
						toradex,apalis_imx6q-ixora-v1.1)
 | 
				
			||||||
		[ -z "$UPGRADE_BACKUP" ] && {
 | 
							imx_sdcard_pre_upgrade
 | 
				
			||||||
			jffs2reset -y
 | 
					 | 
				
			||||||
			umount /overlay
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		;;
 | 
							;;
 | 
				
			||||||
	esac
 | 
						esac
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user