All of lore.kernel.org
 help / color / mirror / Atom feed
From: Masahiro Yamada <masahiroy@kernel.org>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Michael Ellerman <mpe@ellerman.id.au>
Cc: Michal Marek <michal.lkml@markovi.net>,
	Linux Kbuild mailing list <linux-kbuild@vger.kernel.org>,
	linux-arch <linux-arch@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	linuxppc-dev <linuxppc-dev@lists.ozlabs.org>
Subject: Re: [PATCH 16/20] kbuild: powerpc: use common install script
Date: Wed, 7 Apr 2021 20:32:13 +0900	[thread overview]
Message-ID: <CAK7LNASUO4XTKfmatCRcGT-nBQM15ueuS6DtU98_LCbo=9NeiA@mail.gmail.com> (raw)
In-Reply-To: <20210407053419.449796-17-gregkh@linuxfoundation.org>

On Wed, Apr 7, 2021 at 2:34 PM Greg Kroah-Hartman
<gregkh@linuxfoundation.org> wrote:
>
> The common scripts/install.sh script will now work for powerpc, all that
> is needed is to add it to the list of arches that do not put the version
> number in the installed file name.
>
> After the kernel is installed, powerpc also likes to install a few
> random files, so provide the ability to do that as well.
>
> With that we can remove the powerpc-only version of the install script.
>
> Cc: Michael Ellerman <mpe@ellerman.id.au>
> Cc: linuxppc-dev@lists.ozlabs.org
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> ---
>  arch/powerpc/boot/Makefile   |  4 +--
>  arch/powerpc/boot/install.sh | 55 ------------------------------------
>  scripts/install.sh           | 14 ++++++++-
>  3 files changed, 15 insertions(+), 58 deletions(-)
>  delete mode 100644 arch/powerpc/boot/install.sh
>
> diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
> index 2b8da923ceca..bbfcbd33e0b7 100644
> --- a/arch/powerpc/boot/Makefile
> +++ b/arch/powerpc/boot/Makefile
> @@ -442,11 +442,11 @@ $(obj)/zImage.initrd:     $(addprefix $(obj)/, $(initrd-y))
>
>  # Only install the vmlinux
>  install: $(CONFIGURE) $(addprefix $(obj)/, $(image-y))
> -       sh -x $(srctree)/$(src)/install.sh "$(KERNELRELEASE)" vmlinux System.map "$(INSTALL_PATH)"
> +       sh -x $(srctree)/scripts/install.sh "$(KERNELRELEASE)" vmlinux System.map "$(INSTALL_PATH)"
>
>  # Install the vmlinux and other built boot targets.
>  zInstall: $(CONFIGURE) $(addprefix $(obj)/, $(image-y))
> -       sh -x $(srctree)/$(src)/install.sh "$(KERNELRELEASE)" vmlinux System.map "$(INSTALL_PATH)" $^
> +       sh -x $(srctree)/scripts/install.sh "$(KERNELRELEASE)" vmlinux System.map "$(INSTALL_PATH)" $^


I want comments from the ppc maintainers
because this code is already broken.


This 'zInstall' target is unreachable.

See commit c913e5f95e546d8d3a9f99ba9908f7e095cbc1fb

It added the new target 'zInstall', but it is not hooked anywhere.
It is completely useless for 6 years, and nobody has pointed it out.
So, I think nobody is caring about this broken code.

One more thing, Kbuild does not recognize it as an installation target
because the 'I' in 'zInstall' is a capital letter.

The name of the installation target must be '*install',
all letters in lower cases.






>  PHONY += install zInstall
>
> diff --git a/arch/powerpc/boot/install.sh b/arch/powerpc/boot/install.sh
> deleted file mode 100644
> index b6a256bc96ee..000000000000
> --- a/arch/powerpc/boot/install.sh
> +++ /dev/null
> @@ -1,55 +0,0 @@
> -#!/bin/sh
> -#
> -# This file is subject to the terms and conditions of the GNU General Public
> -# License.  See the file "COPYING" in the main directory of this archive
> -# for more details.
> -#
> -# Copyright (C) 1995 by Linus Torvalds
> -#
> -# Blatantly stolen from in arch/i386/boot/install.sh by Dave Hansen
> -#
> -# "make install" script for ppc64 architecture
> -#
> -# Arguments:
> -#   $1 - kernel version
> -#   $2 - kernel image file
> -#   $3 - kernel map file
> -#   $4 - default install path (blank if root directory)
> -#   $5 and more - kernel boot files; zImage*, uImage, cuImage.*, etc.
> -#
> -
> -# Bail with error code if anything goes wrong
> -set -e
> -
> -# User may have a custom install script
> -
> -if [ -x ~/bin/${INSTALLKERNEL} ]; then exec ~/bin/${INSTALLKERNEL} "$@"; fi
> -if [ -x /sbin/${INSTALLKERNEL} ]; then exec /sbin/${INSTALLKERNEL} "$@"; fi
> -
> -# Default install
> -
> -# 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
> -fi
> -
> -if [ -f $4/System.map ]; then
> -       mv $4/System.map $4/System.old
> -fi
> -
> -cat $2 > $4/$image_name
> -cp $3 $4/System.map
> -
> -# Copy all the bootable image files
> -path=$4
> -shift 4
> -while [ $# -ne 0 ]; do
> -       image_name=`basename $1`
> -       if [ -f $path/$image_name ]; then
> -               mv $path/$image_name $path/$image_name.old
> -       fi
> -       cat $1 > $path/$image_name
> -       shift
> -done;
> diff --git a/scripts/install.sh b/scripts/install.sh
> index e0ffb95737d4..67c0a5f74af2 100644
> --- a/scripts/install.sh
> +++ b/scripts/install.sh
> @@ -67,7 +67,7 @@ fi
>  # Some architectures name their files based on version number, and
>  # others do not.  Call out the ones that do not to make it obvious.
>  case "${ARCH}" in
> -       ia64 | m68k | nios2 | x86)
> +       ia64 | m68k | nios2 | powerpc | x86)
>                 version=""
>                 ;;
>         *)
> @@ -93,6 +93,18 @@ case "${ARCH}" in
>                         /usr/sbin/elilo
>                 fi
>                 ;;
> +       powerpc)
> +               # powerpc installation can list other boot targets after the
> +               # install path that should be copied to the correct location


Perhaps, we can remove this if the ppc maintainers approve it ?




> +               path=$4
> +               shift 4
> +               while [ $# -ne 0 ]; do
> +                       image_name=$(basename "$1")
> +                       install "$1" "$path"/"$image_name"
> +                       shift
> +               done;
> +               sync
> +               ;;
>         x86)
>                 if [ -x /sbin/lilo ]; then
>                         /sbin/lilo
> --
> 2.31.1
>


--
Best Regards
Masahiro Yamada

WARNING: multiple messages have this Message-ID (diff)
From: Masahiro Yamada <masahiroy@kernel.org>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Michael Ellerman <mpe@ellerman.id.au>
Cc: linux-arch <linux-arch@vger.kernel.org>,
	Michal Marek <michal.lkml@markovi.net>,
	linuxppc-dev <linuxppc-dev@lists.ozlabs.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Linux Kbuild mailing list <linux-kbuild@vger.kernel.org>
Subject: Re: [PATCH 16/20] kbuild: powerpc: use common install script
Date: Wed, 7 Apr 2021 20:32:13 +0900	[thread overview]
Message-ID: <CAK7LNASUO4XTKfmatCRcGT-nBQM15ueuS6DtU98_LCbo=9NeiA@mail.gmail.com> (raw)
In-Reply-To: <20210407053419.449796-17-gregkh@linuxfoundation.org>

On Wed, Apr 7, 2021 at 2:34 PM Greg Kroah-Hartman
<gregkh@linuxfoundation.org> wrote:
>
> The common scripts/install.sh script will now work for powerpc, all that
> is needed is to add it to the list of arches that do not put the version
> number in the installed file name.
>
> After the kernel is installed, powerpc also likes to install a few
> random files, so provide the ability to do that as well.
>
> With that we can remove the powerpc-only version of the install script.
>
> Cc: Michael Ellerman <mpe@ellerman.id.au>
> Cc: linuxppc-dev@lists.ozlabs.org
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> ---
>  arch/powerpc/boot/Makefile   |  4 +--
>  arch/powerpc/boot/install.sh | 55 ------------------------------------
>  scripts/install.sh           | 14 ++++++++-
>  3 files changed, 15 insertions(+), 58 deletions(-)
>  delete mode 100644 arch/powerpc/boot/install.sh
>
> diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
> index 2b8da923ceca..bbfcbd33e0b7 100644
> --- a/arch/powerpc/boot/Makefile
> +++ b/arch/powerpc/boot/Makefile
> @@ -442,11 +442,11 @@ $(obj)/zImage.initrd:     $(addprefix $(obj)/, $(initrd-y))
>
>  # Only install the vmlinux
>  install: $(CONFIGURE) $(addprefix $(obj)/, $(image-y))
> -       sh -x $(srctree)/$(src)/install.sh "$(KERNELRELEASE)" vmlinux System.map "$(INSTALL_PATH)"
> +       sh -x $(srctree)/scripts/install.sh "$(KERNELRELEASE)" vmlinux System.map "$(INSTALL_PATH)"
>
>  # Install the vmlinux and other built boot targets.
>  zInstall: $(CONFIGURE) $(addprefix $(obj)/, $(image-y))
> -       sh -x $(srctree)/$(src)/install.sh "$(KERNELRELEASE)" vmlinux System.map "$(INSTALL_PATH)" $^
> +       sh -x $(srctree)/scripts/install.sh "$(KERNELRELEASE)" vmlinux System.map "$(INSTALL_PATH)" $^


I want comments from the ppc maintainers
because this code is already broken.


This 'zInstall' target is unreachable.

See commit c913e5f95e546d8d3a9f99ba9908f7e095cbc1fb

It added the new target 'zInstall', but it is not hooked anywhere.
It is completely useless for 6 years, and nobody has pointed it out.
So, I think nobody is caring about this broken code.

One more thing, Kbuild does not recognize it as an installation target
because the 'I' in 'zInstall' is a capital letter.

The name of the installation target must be '*install',
all letters in lower cases.






>  PHONY += install zInstall
>
> diff --git a/arch/powerpc/boot/install.sh b/arch/powerpc/boot/install.sh
> deleted file mode 100644
> index b6a256bc96ee..000000000000
> --- a/arch/powerpc/boot/install.sh
> +++ /dev/null
> @@ -1,55 +0,0 @@
> -#!/bin/sh
> -#
> -# This file is subject to the terms and conditions of the GNU General Public
> -# License.  See the file "COPYING" in the main directory of this archive
> -# for more details.
> -#
> -# Copyright (C) 1995 by Linus Torvalds
> -#
> -# Blatantly stolen from in arch/i386/boot/install.sh by Dave Hansen
> -#
> -# "make install" script for ppc64 architecture
> -#
> -# Arguments:
> -#   $1 - kernel version
> -#   $2 - kernel image file
> -#   $3 - kernel map file
> -#   $4 - default install path (blank if root directory)
> -#   $5 and more - kernel boot files; zImage*, uImage, cuImage.*, etc.
> -#
> -
> -# Bail with error code if anything goes wrong
> -set -e
> -
> -# User may have a custom install script
> -
> -if [ -x ~/bin/${INSTALLKERNEL} ]; then exec ~/bin/${INSTALLKERNEL} "$@"; fi
> -if [ -x /sbin/${INSTALLKERNEL} ]; then exec /sbin/${INSTALLKERNEL} "$@"; fi
> -
> -# Default install
> -
> -# 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
> -fi
> -
> -if [ -f $4/System.map ]; then
> -       mv $4/System.map $4/System.old
> -fi
> -
> -cat $2 > $4/$image_name
> -cp $3 $4/System.map
> -
> -# Copy all the bootable image files
> -path=$4
> -shift 4
> -while [ $# -ne 0 ]; do
> -       image_name=`basename $1`
> -       if [ -f $path/$image_name ]; then
> -               mv $path/$image_name $path/$image_name.old
> -       fi
> -       cat $1 > $path/$image_name
> -       shift
> -done;
> diff --git a/scripts/install.sh b/scripts/install.sh
> index e0ffb95737d4..67c0a5f74af2 100644
> --- a/scripts/install.sh
> +++ b/scripts/install.sh
> @@ -67,7 +67,7 @@ fi
>  # Some architectures name their files based on version number, and
>  # others do not.  Call out the ones that do not to make it obvious.
>  case "${ARCH}" in
> -       ia64 | m68k | nios2 | x86)
> +       ia64 | m68k | nios2 | powerpc | x86)
>                 version=""
>                 ;;
>         *)
> @@ -93,6 +93,18 @@ case "${ARCH}" in
>                         /usr/sbin/elilo
>                 fi
>                 ;;
> +       powerpc)
> +               # powerpc installation can list other boot targets after the
> +               # install path that should be copied to the correct location


Perhaps, we can remove this if the ppc maintainers approve it ?




> +               path=$4
> +               shift 4
> +               while [ $# -ne 0 ]; do
> +                       image_name=$(basename "$1")
> +                       install "$1" "$path"/"$image_name"
> +                       shift
> +               done;
> +               sync
> +               ;;
>         x86)
>                 if [ -x /sbin/lilo ]; then
>                         /sbin/lilo
> --
> 2.31.1
>


--
Best Regards
Masahiro Yamada

  reply	other threads:[~2021-04-07 11:33 UTC|newest]

Thread overview: 73+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-07  5:33 [PATCH 00/20] kbuild: unify the install.sh script usage Greg Kroah-Hartman
2021-04-07  5:34 ` [PATCH 01/20] kbuild: move x86 install script to scripts/install.sh Greg Kroah-Hartman
2021-04-09  3:08   ` Kees Cook
2021-04-07  5:34 ` [PATCH 02/20] kbuild: scripts/install.sh: properly quote all variables Greg Kroah-Hartman
2021-04-07 10:59   ` Masahiro Yamada
2021-04-07  5:34 ` [PATCH 03/20] kbuild: scripts/install.sh: provide a "install" function Greg Kroah-Hartman
2021-04-07 11:01   ` Masahiro Yamada
2021-04-07  5:34 ` [PATCH 04/20] kbuild: scripts/install.sh: call sync before calling the bootloader installer Greg Kroah-Hartman
2021-04-07 11:03   ` Masahiro Yamada
2021-04-07  5:34 ` [PATCH 05/20] kbuild: scripts/install.sh: prepare for arch-specific bootloaders Greg Kroah-Hartman
2021-04-09  3:08   ` Kees Cook
2021-04-07  5:34 ` [PATCH 06/20] kbuild: scripts/install.sh: handle compressed/uncompressed kernel images Greg Kroah-Hartman
2021-04-07 11:04   ` Masahiro Yamada
2021-04-07  5:34 ` [PATCH 07/20] kbuild: scripts/install.sh: allow for the version number Greg Kroah-Hartman
2021-04-07 11:05   ` Masahiro Yamada
2021-04-07 13:03     ` Greg Kroah-Hartman
2021-04-07 13:21       ` Masahiro Yamada
2021-04-07  5:34 ` [PATCH 08/20] kbuild: riscv: use common install script Greg Kroah-Hartman
2021-04-07  5:34   ` Greg Kroah-Hartman
2021-04-09  3:09   ` Kees Cook
2021-04-09  3:09     ` Kees Cook
2021-04-07  5:34 ` [PATCH 09/20] kbuild: arm64: " Greg Kroah-Hartman
2021-04-07  5:34   ` Greg Kroah-Hartman
2021-04-07 14:30   ` Catalin Marinas
2021-04-07 14:30     ` Catalin Marinas
2021-04-09  3:08   ` Kees Cook
2021-04-09  3:08     ` Kees Cook
2021-04-09  6:37     ` Greg Kroah-Hartman
2021-04-09  6:37       ` Greg Kroah-Hartman
2021-04-07  5:34 ` [PATCH 10/20] kbuild: arm: " Greg Kroah-Hartman
2021-04-07  5:34   ` Greg Kroah-Hartman
2021-04-09  3:09   ` Kees Cook
2021-04-09  3:09     ` Kees Cook
2021-04-07  5:34 ` [PATCH 11/20] kbuild: ia64: " Greg Kroah-Hartman
2021-04-07  5:34   ` Greg Kroah-Hartman
2021-04-07 18:02   ` Sergei Trofimovich
2021-04-07 18:02     ` Sergei Trofimovich
2021-04-09  3:10   ` Kees Cook
2021-04-09  3:10     ` Kees Cook
2021-04-07  5:34 ` [PATCH 12/20] kbuild: m68k: " Greg Kroah-Hartman
2021-04-07  7:19   ` Geert Uytterhoeven
2021-04-09  3:10   ` Kees Cook
2021-04-07  5:34 ` [PATCH 13/20] kbuild: nds32: convert to use the common install scripts Greg Kroah-Hartman
2021-04-07 11:20   ` Masahiro Yamada
2021-04-07  5:34 ` [PATCH 14/20] kbuild: nios2: use common install script Greg Kroah-Hartman
2021-04-09  3:09   ` Kees Cook
2021-04-07  5:34 ` [PATCH 15/20] kbuild: parisc: " Greg Kroah-Hartman
2021-04-07 11:23   ` Masahiro Yamada
2021-04-14 16:30     ` Helge Deller
2021-04-14 17:51       ` Greg Kroah-Hartman
2021-04-07  5:34 ` [PATCH 16/20] kbuild: powerpc: " Greg Kroah-Hartman
2021-04-07  5:34   ` Greg Kroah-Hartman
2021-04-07 11:32   ` Masahiro Yamada [this message]
2021-04-07 11:32     ` Masahiro Yamada
2021-04-07  5:34 ` [PATCH 17/20] kbuild: s390: " Greg Kroah-Hartman
2021-04-07 12:15   ` Heiko Carstens
2021-04-09  3:10   ` Kees Cook
2021-04-07  5:34 ` [PATCH 18/20] kbuild: sh: remove unused " Greg Kroah-Hartman
2021-04-09  3:09   ` Kees Cook
2021-08-24 15:22   ` Masahiro Yamada
2021-08-27 14:02     ` Greg Kroah-Hartman
2021-04-07  5:34 ` [PATCH 19/20] kbuild: sparc: use common " Greg Kroah-Hartman
2021-04-09  3:09   ` Kees Cook
2021-04-07  5:34 ` [PATCH 20/20] kbuild: scripts/install.sh: update documentation Greg Kroah-Hartman
2021-04-07 11:45   ` Masahiro Yamada
2021-04-07  7:18 ` [PATCH 00/20] kbuild: unify the install.sh script usage Geert Uytterhoeven
2021-04-07  7:46   ` Greg Kroah-Hartman
2021-04-07  8:02     ` Russell King - ARM Linux admin
2021-04-07  8:07       ` Greg Kroah-Hartman
2021-04-07  8:14         ` Russell King - ARM Linux admin
2021-04-07  8:37           ` Greg Kroah-Hartman
2021-04-07 10:53             ` Masahiro Yamada
2021-04-09  3:12 ` Kees Cook

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAK7LNASUO4XTKfmatCRcGT-nBQM15ueuS6DtU98_LCbo=9NeiA@mail.gmail.com' \
    --to=masahiroy@kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=michal.lkml@markovi.net \
    --cc=mpe@ellerman.id.au \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.