summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2020-09-02 05:11:10 +0300
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2020-09-02 16:38:12 +0300
commitdb1fa470e1af84145ae22411cc35b7a7cccbe965 (patch)
tree519920d6c00efe1ade8c5413539256a9d00f58fe
parent0f562883509ddaf1cd66d89f36361262b3bd3f83 (diff)
Support overriding the image file name
Add support for overriding the image file name, using the same mechanism as for DTB files. The 'image' parameter can specify both the image make target and image destination file name, separated by a ':'. If no ':' is found, the image make target is used as the image destination file name. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-rw-r--r--images/CrOS.sh2
-rw-r--r--images/FIT.sh2
-rw-r--r--images/srec.sh2
-rw-r--r--images/uImage.sh2
-rwxr-xr-xkbuild.sh28
-rwxr-xr-xkflash.sh24
6 files changed, 42 insertions, 18 deletions
diff --git a/images/CrOS.sh b/images/CrOS.sh
index b79e9a4..2f607ef 100644
--- a/images/CrOS.sh
+++ b/images/CrOS.sh
@@ -45,4 +45,4 @@ make_CrOS_image() {
--bootloader $bootloader
}
-image_file=$output_dir/arch/$arch/boot/vmlinuz.image
+_image_file=vmlinuz.image
diff --git a/images/FIT.sh b/images/FIT.sh
index f42ff2b..e297501 100644
--- a/images/FIT.sh
+++ b/images/FIT.sh
@@ -90,4 +90,4 @@ EOF
PATH="$output_dir/scripts/dtc:$PATH" mkimage -f $kernel_its ${kernel_its/its/itb}
}
-image_file=$output_dir/arch/$arch/boot/kernel_fdt.itb
+_image_file=kernel_fdt.itb
diff --git a/images/srec.sh b/images/srec.sh
index e0528d3..282567c 100644
--- a/images/srec.sh
+++ b/images/srec.sh
@@ -15,4 +15,4 @@ make_srec_image() {
done
}
-image_file=$output_dir/arch/$arch/boot/$image_kernel.xz.srec
+_image_file=$image_kernel.xz.srec
diff --git a/images/uImage.sh b/images/uImage.sh
index 45cb581..ca0ec4e 100644
--- a/images/uImage.sh
+++ b/images/uImage.sh
@@ -6,4 +6,4 @@ make_uImage_image() {
$output_dir/arch/$arch/boot/uImage
}
-image_file=$output_dir/arch/$arch/boot/uImage
+_image_file=uImage
diff --git a/kbuild.sh b/kbuild.sh
index 7a87ad9..611d411 100755
--- a/kbuild.sh
+++ b/kbuild.sh
@@ -204,13 +204,23 @@ version=$(cat $output_dir/include/generated/utsrelease.h | cut -d '"' -f 2)
# Create the image
#
-if [[ -r "$kbuild_root/images/$image.sh" ]] ; then
- source "${kbuild_root}/images/$image.sh" || exit 1
- eval make_${image}_image
+_image_type=${image/:*/}
+
+if [[ -r "$kbuild_root/images/${_image_type}.sh" ]] ; then
+ source "${kbuild_root}/images/${_image_type}.sh" || exit 1
+ eval make_${_image_type}_image
else
- image_file=$output_dir/arch/$arch/boot/$image
+ _image_file=${_image_type}
fi
+if echo "${image}" | grep -q ':' ; then
+ _image_name=${image/*:/}
+else
+ _image_name=${_image_file}
+fi
+
+_image_file="$output_dir/arch/$arch/boot/${_image_file}"
+
#
# Copy the files to their destination directories.
#
@@ -229,7 +239,7 @@ copy_dtbs() {
local dest_dir=$1
local dtb
- if [[ $image == FIT || $image == CrOS ]] ; then
+ if [[ $_image_type == FIT || $_image_type == CrOS ]] ; then
return
fi
@@ -244,12 +254,12 @@ copy_dtbs() {
if [[ -d "$target_dir" ]] ; then
mkdir -p $target_dir/boot
- cp $image_file $target_dir/boot/
+ cp ${_image_file} $target_dir/boot/${_image_name}
copy_dtbs $target_dir/boot/
fi
-if [[ $image != CrOS && -d "$tftp_dir" ]] ; then
- cp $image_file $tftp_dir/
+if [[ $_image_type != CrOS && -d "$tftp_dir" ]] ; then
+ cp ${_image_file} $tftp_dir/${_image_name}
copy_dtbs $tftp_dir/
fi
@@ -271,7 +281,7 @@ fi
# Print status and terminate
#
-echo "Kernel image available in $image_file"
+echo "Kernel image available in ${_image_file}"
if [[ x$modules == xmodules ]] ; then
echo "Kernel modules installed to $mod_path/lib/modules/$version"
fi
diff --git a/kflash.sh b/kflash.sh
index 448006f..a83e84c 100755
--- a/kflash.sh
+++ b/kflash.sh
@@ -106,13 +106,27 @@ esac
target_dir=${target_dir:-${target_root[$arch]}}
tftp_dir=${tftp_dir:-$tftp_root/$platform}
-if [[ -r "$kbuild_root/images/$image.sh" ]] ; then
- source "${kbuild_root}/images/$image.sh" || exit 1
- eval make_${image}_image
+#
+# Determine the image source and destination file names
+#
+
+_image_type=${image/:*/}
+
+if [[ -r "$kbuild_root/images/${_image_type}.sh" ]] ; then
+ source "${kbuild_root}/images/${_image_type}.sh" || exit 1
+ eval make_${_image_type}_image
else
- image_file=$output_dir/arch/$arch/boot/$image
+ _image_file=${_image_type}
fi
+if echo "${image}" | grep -q ':' ; then
+ _image_name=${image/*:/}
+else
+ _image_name=${_image_file}
+fi
+
+_image_file="$output_dir/arch/$arch/boot/${_image_file}"
+
#
# Validate the partition names and paths
#
@@ -316,7 +330,7 @@ for part_name in ${partitions[@]} ; do
$flash_cmd "${dev}${part_idx}" "${part_path}/${_dtb_dst}" "${_dtb_src}"
;;
kernel)
- $flash_cmd "${dev}${part_idx}" "${part_path}/" "${image_file}"
+ $flash_cmd "${dev}${part_idx}" "${part_path}/${_image_name}" "${_image_file}"
;;
modules)
$flash_cmd "${dev}${part_idx}" "${part_path}/" "${mod_path}"