The phrase is no longer needed as of August 23, 2000 with Nicaragua's joining of the Berne Convention. Additionally, in at least one instance, elements/cache-url/bin/cache-url, its existence in the file between Copyright lines is just weird and feels misleading, even though it is not. Remove all of the lines, because sanity. Change-Id: I24fd76c2b4f66b8036010b5079db39ead729abee
		
			
				
	
	
		
			126 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			126 lines
		
	
	
		
			3.7 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
 | 
						|
 | 
						|
# Dig up the initrd and kernel to use.
 | 
						|
BOOTDIR="$WORK_DIR/boot"
 | 
						|
KERNEL=
 | 
						|
RAMDISK=
 | 
						|
if [ -f $WORK_DIR/etc/redhat-release ]; then
 | 
						|
 | 
						|
    # Prioritize PAE if present
 | 
						|
    KERNEL=$(ls -1rv $BOOTDIR/vmlinuz*  | grep PAE | grep -v debug | head -1)
 | 
						|
    if [ ! $KERNEL ]; then
 | 
						|
        KERNEL=$(ls -1rv $BOOTDIR/vmlinuz* | grep -v debug | head -1)
 | 
						|
        if [ ! $KERNEL ]; then
 | 
						|
            echo "No suitable kernel found."
 | 
						|
            exit 1
 | 
						|
        fi
 | 
						|
    fi
 | 
						|
 | 
						|
    KERNEL=$(basename $KERNEL)
 | 
						|
    KERNEL_VERSION=`echo $KERNEL | sed 's/vmlinuz-//g'`
 | 
						|
 | 
						|
    RAMDISK=$(basename `ls $BOOTDIR/initramfs-$KERNEL_VERSION.img`)
 | 
						|
    if [ ! $RAMDISK ]; then
 | 
						|
        echo "Can't find an initramfs for the $KERNEL_VERSION version of the kernel."
 | 
						|
        exit 1
 | 
						|
    fi
 | 
						|
 | 
						|
elif [ -f $WORK_DIR/etc/debian_version ]; then
 | 
						|
    KERNEL=$(basename `ls -1rv $BOOTDIR/vmlinuz*generic | head -1`)
 | 
						|
    RAMDISK=$(basename `ls -1rv $BOOTDIR/initrd*generic | head -1`)
 | 
						|
elif [ -f $WORK_DIR/etc/SuSE-release ]; then
 | 
						|
    KERNEL=$(basename `ls -1rv $BOOTDIR/vmlinuz`)
 | 
						|
    RAMDISK=$(basename `ls -1rv $BOOTDIR/initrd`)
 | 
						|
else
 | 
						|
    echo "ERROR: Unable to detect operating system"
 | 
						|
    exit 1
 | 
						|
fi
 | 
						|
 | 
						|
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
 |