diff mbox series

[RFC,v1] powerpc: Add version to install filenames

Message ID 20230314164442.124929-1-nnac123@linux.ibm.com (mailing list archive)
State Accepted
Commit 269d79fb30f6b2419b8a67d99d8bdf58ced44d72
Headers show
Series [RFC,v1] powerpc: Add version to install filenames | expand

Checks

Context Check Description
snowpatch_ozlabs/github-powerpc_ppctests success Successfully ran 8 jobs.
snowpatch_ozlabs/github-powerpc_selftests success Successfully ran 8 jobs.
snowpatch_ozlabs/github-powerpc_kernel_qemu success Successfully ran 24 jobs.
snowpatch_ozlabs/github-powerpc_sparse success Successfully ran 4 jobs.
snowpatch_ozlabs/github-powerpc_clang success Successfully ran 6 jobs.

Commit Message

Nick Child March 14, 2023, 4:44 p.m. UTC
Rather than replacing the versionless vmlinux and System.map files,
copy to files with the version info appended.

Additionally, since executing the script is a last resort option,
inform the user about the missing `installkernel` command and the
location of the installation.

This work is adapted from `arch/s390/boot/install.sh`.

Signed-off-by: Nick Child <nnac123@linux.ibm.com>
---

Hoping I am not breaking someones dependency on targeting /boot/vmlinux
so RFC'ing.

I typically have kernelinstall on my LPARs and installing and rebooting
goes peacefully.

Recently, I did not have kernelinstall and `make install` seemed to behave
differently. I got very little output but a succeful return code. After
initramfs issues during boot I dug into the makefiles a bit to figure out
where execution was differing. When `kernelinstall` cannot be found, we
invoke `arch/powerpc/boot/install.sh` instead. I am primarily interested
in getting more information relayed to the user about what is going on.

The changes to installing with the version appended are more of an afterthought
that makes sense to me but could understand why someone may depend on consistent
filenames.

Opening as RFC for opinions/rejections/concerns.

Thanks!


 arch/powerpc/boot/install.sh | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

Comments

Michael Ellerman March 15, 2023, 1:54 a.m. UTC | #1
Nick Child <nnac123@linux.ibm.com> writes:
> Rather than replacing the versionless vmlinux and System.map files,
> copy to files with the version info appended.
>
> Additionally, since executing the script is a last resort option,
> inform the user about the missing `installkernel` command and the
> location of the installation.
>
> This work is adapted from `arch/s390/boot/install.sh`.
>
> Signed-off-by: Nick Child <nnac123@linux.ibm.com>
> ---
>
> Hoping I am not breaking someones dependency on targeting /boot/vmlinux
> so RFC'ing.

It will probably break *someone*'s workflow :)

> I typically have kernelinstall on my LPARs and installing and rebooting
> goes peacefully.
>
> Recently, I did not have kernelinstall and `make install` seemed to behave
> differently. I got very little output but a succeful return code. After
> initramfs issues during boot I dug into the makefiles a bit to figure out
> where execution was differing. When `kernelinstall` cannot be found, we
> invoke `arch/powerpc/boot/install.sh` instead. I am primarily interested
> in getting more information relayed to the user about what is going on.
>
> The changes to installing with the version appended are more of an afterthought
> that makes sense to me but could understand why someone may depend on consistent
> filenames.
>
> Opening as RFC for opinions/rejections/concerns.

TIL arch/powerpc/boot/install.sh even exists :)

I generally netboot kernels, so I don't really use `make install` that
much. But I know some folks do, though they probably have
`installkernel` installed as a rule.

Still this change seems sensible, and putting the version in the file
names matches what arm, s390, arm64 and riscv do.

See if anyone else has an opinion.

cheers
Michael Ellerman Oct. 27, 2023, 9:59 a.m. UTC | #2
On Tue, 14 Mar 2023 11:44:42 -0500, Nick Child wrote:
> Rather than replacing the versionless vmlinux and System.map files,
> copy to files with the version info appended.
> 
> Additionally, since executing the script is a last resort option,
> inform the user about the missing `installkernel` command and the
> location of the installation.
> 
> [...]

Applied to powerpc/next.

[1/1] powerpc: Add version to install filenames
      https://git.kernel.org/powerpc/c/269d79fb30f6b2419b8a67d99d8bdf58ced44d72

cheers
diff mbox series

Patch

diff --git a/arch/powerpc/boot/install.sh b/arch/powerpc/boot/install.sh
index 461902c8a46d..101fcb397a0f 100755
--- a/arch/powerpc/boot/install.sh
+++ b/arch/powerpc/boot/install.sh
@@ -21,13 +21,17 @@  set -e
 # this should work for both the pSeries zImage and the iSeries vmlinux.sm
 image_name=`basename $2`
 
-if [ -f $4/$image_name ]; then
-	mv $4/$image_name $4/$image_name.old
+
+echo "Warning: '${INSTALLKERNEL}' command not available... Copying" \
+     "directly to $4/$image_name-$1" >&2
+
+if [ -f $4/$image_name-$1 ]; then
+	mv $4/$image_name-$1 $4/$image_name-$1.old
 fi
 
-if [ -f $4/System.map ]; then
-	mv $4/System.map $4/System.old
+if [ -f $4/System.map-$1 ]; then
+	mv $4/System.map-$1 $4/System-$1.old
 fi
 
-cat $2 > $4/$image_name
-cp $3 $4/System.map
+cat $2 > $4/$image_name-$1
+cp $3 $4/System.map-$1