 d06a1caafb
			
		
	
	d06a1caafb
	
	
	
		
			
			Corrected the if; then statement to follow bash convention. Change-Id: Ia3f80520bb9446c4feb5ce36dccffa2b1c1d72c4
		
			
				
	
	
		
			91 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			91 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| #
 | |
| # Copyright 2012 Hewlett-Packard Development Company, L.P.
 | |
| #
 | |
| # Licensed under the Apache License, Version 2.0 (the "License"); you may
 | |
| # not use this file except in compliance with the License. You may obtain
 | |
| # a copy of the License at
 | |
| #
 | |
| #     http://www.apache.org/licenses/LICENSE-2.0
 | |
| #
 | |
| # Unless required by applicable law or agreed to in writing, software
 | |
| # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 | |
| # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 | |
| # License for the specific language governing permissions and limitations
 | |
| # under the License.
 | |
| 
 | |
| set -e
 | |
| 
 | |
| SCRIPTNAME=$(basename $0)
 | |
| SCRIPT_HOME=$(dirname $0)
 | |
| if [ -d $SCRIPT_HOME/../share/diskimage-builder ]; then
 | |
|     export _PREFIX=$SCRIPT_HOME/../share/diskimage-builder
 | |
| else
 | |
|     export _PREFIX=$SCRIPT_HOME/..
 | |
| fi
 | |
| export _LIB=$_PREFIX/lib
 | |
| source $_LIB/die
 | |
| 
 | |
| function show_options () {
 | |
|     echo "Usage: $SCRIPTNAME -i <image> [-d <outdir>] [-o <prefix]"
 | |
|     echo
 | |
|     echo "Options:"
 | |
|     echo "    -i filename -- extract kernel + ramdisk from this file"
 | |
|     echo "    -d dir      -- save files in \$dir; defaults to /tmp"
 | |
|     echo "    -o prefix   -- set the prefix of the output files; defaults to 'baremetal'"
 | |
|     echo "                   eg, baremetal-vmlinuz and baremetal-initrd"
 | |
|     echo "    -x          -- turn on tracing"
 | |
|     echo "    -h          -- print this message"
 | |
|     exit 0
 | |
| }
 | |
| 
 | |
| echo 'DEPRECATED: Please consider using the `baremetal` element.'
 | |
| echo
 | |
| 
 | |
| TEMP=`getopt -o hd:i:o:x -n $SCRIPTNAME -- "$@"`
 | |
| if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi
 | |
| 
 | |
| # Note the quotes around `$TEMP': they are essential!
 | |
| eval set -- "$TEMP"
 | |
| 
 | |
| export OUT_DIR=/tmp
 | |
| export OUT_PFX=baremetal
 | |
| 
 | |
| while true ; do
 | |
|     case "$1" in
 | |
|         -d) export OUT_DIR=$2; shift 2 ;;
 | |
|         -i) export IMAGE_FILE=$2; shift 2 ;;
 | |
|         -o) export OUT_PFX=$2; shift 2 ;;
 | |
|         -h) show_options;;
 | |
|         -x) shift; set -x;;
 | |
|         --) shift ; break ;;
 | |
|         *) echo "Internal error!" ; exit 1 ;;
 | |
|     esac
 | |
| done
 | |
| 
 | |
| if [[ ! -n "$IMAGE_FILE" ]]; then
 | |
|    die "You must specify an image to read from with -i \$filename"
 | |
| elif [[ ! -r "$IMAGE_FILE" ]]; then
 | |
|    die "Image file $IMAGE_FILE is not readable"
 | |
| fi
 | |
| 
 | |
| source $_LIB/img-defaults
 | |
| source $_LIB/common-functions
 | |
| source $_LIB/img-functions
 | |
| 
 | |
| echo "Extracting kernel + ramdisk from $IMAGE_FILE to $OUT_PFX-vmlinuz and $OUT_PFX-initrd in $OUT_DIR"
 | |
| 
 | |
| ensure_nbd
 | |
| 
 | |
| # sets WORK_DIR
 | |
| mount_qcow_image $IMAGE_FILE
 | |
| 
 | |
| select_boot_kernel_initrd $WORK_DIR
 | |
| 
 | |
| sudo cp $BOOTDIR/$KERNEL $OUT_DIR/$OUT_PFX-vmlinuz
 | |
| sudo cp $BOOTDIR/$RAMDISK $OUT_DIR/$OUT_PFX-initrd
 | |
| sudo chmod a+r $OUT_DIR/$OUT_PFX-vmlinuz
 | |
| sudo chmod a+r $OUT_DIR/$OUT_PFX-initrd
 | |
| 
 | |
| unmount_qcow_image
 |