build: add a build step for generic sysupgrade nand image
Signed-off-by: Jonas Gorski <jogo@openwrt.org> SVN-Revision: 46784
This commit is contained in:
		@@ -390,6 +390,14 @@ define Build/combined-image
 | 
				
			|||||||
	@mv $@.new $@
 | 
						@mv $@.new $@
 | 
				
			||||||
endef
 | 
					endef
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					define Build/sysupgrade-nand
 | 
				
			||||||
 | 
						sh $(TOPDIR)/scripts/sysupgrade-nand.sh \
 | 
				
			||||||
 | 
							--board $(if $(BOARD_NAME),$(BOARD_NAME),$(DEVICE_NAME)) \
 | 
				
			||||||
 | 
							--kernel $(word 1,$^) \
 | 
				
			||||||
 | 
							--rootfs $(word 2,$^) \
 | 
				
			||||||
 | 
							$@
 | 
				
			||||||
 | 
					endef
 | 
				
			||||||
 | 
					
 | 
				
			||||||
define Device/Init
 | 
					define Device/Init
 | 
				
			||||||
  PROFILES := $(PROFILE)
 | 
					  PROFILES := $(PROFILE)
 | 
				
			||||||
  DEVICE_NAME := $(1)
 | 
					  DEVICE_NAME := $(1)
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										68
									
								
								scripts/sysupgrade-nand.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										68
									
								
								scripts/sysupgrade-nand.sh
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,68 @@
 | 
				
			|||||||
 | 
					#!/bin/sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					board=""
 | 
				
			||||||
 | 
					kernel=""
 | 
				
			||||||
 | 
					rootfs=""
 | 
				
			||||||
 | 
					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
 | 
				
			||||||
 | 
							;;
 | 
				
			||||||
 | 
						*)
 | 
				
			||||||
 | 
							if [ ! "$outfile" ]; then
 | 
				
			||||||
 | 
								outfile=$1
 | 
				
			||||||
 | 
								shift
 | 
				
			||||||
 | 
								continue
 | 
				
			||||||
 | 
							fi
 | 
				
			||||||
 | 
							;;
 | 
				
			||||||
 | 
						esac
 | 
				
			||||||
 | 
					done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [ ! -n "$board" -o ! -r "$kernel" -a  ! -r "$rootfs" -o ! "$outfile" ]; then
 | 
				
			||||||
 | 
						echo "syntax: $0 [--board boardname] [--kernel kernelimage] [--rootfs rootfs] 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"
 | 
				
			||||||
 | 
					[ -z "${rootfs}" ] || cp "${rootfs}" "${tmpdir}/sysupgrade-${board}/root"
 | 
				
			||||||
 | 
					[ -z "${kernel}" ] || cp "${kernel}" "${tmpdir}/sysupgrade-${board}/kernel"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(cd "$tmpdir"; tar cvf sysupgrade.tar sysupgrade-${board})
 | 
				
			||||||
 | 
					err="$?"
 | 
				
			||||||
 | 
					if [ -e "$tmpdir/sysupgrade.tar" ]; then
 | 
				
			||||||
 | 
						cp "$tmpdir/sysupgrade.tar" "$outfile"
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
						err=2
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					rm -rf "$tmpdir"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					exit $err
 | 
				
			||||||
		Reference in New Issue
	
	Block a user