 4392d1a92b
			
		
	
	4392d1a92b
	
	
	
		
			
			Add dtb support for Build/sysupgrade-tar definition and sysupgrade-tar.sh script. This changes are required for updating dtb separately. Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com> Link: https://github.com/openwrt/openwrt/pull/16904 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
		
			
				
	
	
		
			93 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			93 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/sh
 | |
| 
 | |
| . $TOPDIR/scripts/functions.sh
 | |
| 
 | |
| board=""
 | |
| kernel=""
 | |
| rootfs=""
 | |
| dtb=""
 | |
| outfile=""
 | |
| err=""
 | |
| 
 | |
| while [ "$1" ]; do
 | |
| 	case "$1" in
 | |
| 	"--board")
 | |
| 		board="$2"
 | |
| 		shift
 | |
| 		shift
 | |
| 		continue
 | |
| 		;;
 | |
| 	"--kernel")
 | |
| 		kernel="$2"
 | |
| 		shift
 | |
| 		shift
 | |
| 		continue
 | |
| 		;;
 | |
| 	"--rootfs")
 | |
| 		rootfs="$2"
 | |
| 		shift
 | |
| 		shift
 | |
| 		continue
 | |
| 		;;
 | |
| 	"--dtb")
 | |
| 		dtb="$2"
 | |
| 		shift
 | |
| 		shift
 | |
| 		continue
 | |
| 		;;
 | |
| 	*)
 | |
| 		if [ ! "$outfile" ]; then
 | |
| 			outfile=$1
 | |
| 			shift
 | |
| 			continue
 | |
| 		fi
 | |
| 		;;
 | |
| 	esac
 | |
| done
 | |
| 
 | |
| if [ ! -n "$board" -o ! -r "$kernel" -a  ! -r "$rootfs" -o ! "$outfile" -o -n "$dtb" -a ! -r "$dtb" ]; then
 | |
| 	echo "syntax: $0 [--board boardname] [--kernel kernelimage] [--rootfs rootfs] [--dtb dtb] out"
 | |
| 	exit 1
 | |
| fi
 | |
| 
 | |
| tmpdir="$( mktemp -d 2> /dev/null )"
 | |
| if [ -z "$tmpdir" ]; then
 | |
| 	# try OSX signature
 | |
| 	tmpdir="$( mktemp -t 'ubitmp' -d )"
 | |
| fi
 | |
| 
 | |
| if [ -z "$tmpdir" ]; then
 | |
| 	exit 1
 | |
| fi
 | |
| 
 | |
| mkdir -p "${tmpdir}/sysupgrade-${board}"
 | |
| echo "BOARD=${board}" > "${tmpdir}/sysupgrade-${board}/CONTROL"
 | |
| if [ -n "${rootfs}" ]; then
 | |
| 	case "$( get_fs_type ${rootfs} )" in
 | |
| 	"squashfs")
 | |
| 		dd if="${rootfs}" of="${tmpdir}/sysupgrade-${board}/root" bs=1024 conv=sync
 | |
| 		;;
 | |
| 	*)
 | |
| 		cp "${rootfs}" "${tmpdir}/sysupgrade-${board}/root"
 | |
| 		;;
 | |
| 	esac
 | |
| fi
 | |
| [ -z "${kernel}" ] || cp "${kernel}" "${tmpdir}/sysupgrade-${board}/kernel"
 | |
| [ -z "${dtb}" ] || cp "${dtb}" "${tmpdir}/sysupgrade-${board}/dtb"
 | |
| 
 | |
| mtime=""
 | |
| if [ -n "$SOURCE_DATE_EPOCH" ]; then
 | |
| 	mtime="--mtime=@${SOURCE_DATE_EPOCH}"
 | |
| fi
 | |
| 
 | |
| (cd "$tmpdir"; tar --sort=name --owner=0 --group=0 --numeric-owner -cvf sysupgrade.tar sysupgrade-${board} ${mtime})
 | |
| err="$?"
 | |
| if [ -e "$tmpdir/sysupgrade.tar" ]; then
 | |
| 	cp "$tmpdir/sysupgrade.tar" "$outfile"
 | |
| else
 | |
| 	err=2
 | |
| fi
 | |
| rm -rf "$tmpdir"
 | |
| 
 | |
| exit $err
 |