From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752961AbdJaEwp (ORCPT ); Tue, 31 Oct 2017 00:52:45 -0400 Received: from mga03.intel.com ([134.134.136.65]:17455 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751499AbdJaEwo (ORCPT ); Tue, 31 Oct 2017 00:52:44 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.44,322,1505804400"; d="scan'208";a="2764538" From: changbin.du@intel.com To: hpa@zytor.com, tglx@linutronix.de Cc: mingo@redhat.com, x86@kernel.org, linux-kernel@vger.kernel.org, Changbin Du Subject: [PATCH] x86, build: Improve the isolinux searching of isoimage generation Date: Tue, 31 Oct 2017 12:45:31 +0800 Message-Id: <1509425132-31514-1-git-send-email-changbin.du@intel.com> X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Changbin Du Recently I failed to build isoimage target, because the path of isolinux.bin changed to /usr/xxx/ISOLINUX/isolinux.bin, as well as ldlinux.c32 which changed to /usr/xxx/syslinux/modules/bios/ldlinux.c32. This patch has a improvement of the file search: - Don't print the raw shell commands. It doesn't make sense to show the entire big block. - Show a error message instead of silent fail. - Add above new paths. Now it becomes: Kernel: arch/x86/boot/bzImage is ready (#62) rm -rf arch/x86/boot/isoimage mkdir arch/x86/boot/isoimage Using /usr/lib/ISOLINUX/isolinux.bin Using /usr/lib/syslinux/modules/bios/ldlinux.c32 cp arch/x86/boot/bzImage arch/x86/boot/isoimage/linux ... Before: Kernel: arch/x86/boot/bzImage is ready (#63) rm -rf arch/x86/boot/isoimage mkdir arch/x86/boot/isoimage for i in lib lib64 share end ; do \ if [ -f /usr/$i/syslinux/isolinux.bin ] ; then \ cp /usr/$i/syslinux/isolinux.bin arch/x86/boot/isoimage ; \ if [ -f /usr/$i/syslinux/ldlinux.c32 ]; then \ cp /usr/$i/syslinux/ldlinux.c32 arch/x86/boot/isoimage ; \ fi ; \ break ; \ fi ; \ if [ $i = end ] ; then exit 1 ; fi ; \ done arch/x86/boot/Makefile:161: recipe for target 'isoimage' failed make[1]: *** [isoimage] Error 1 Signed-off-by: Changbin Du --- arch/x86/boot/Makefile | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/arch/x86/boot/Makefile b/arch/x86/boot/Makefile index d88a2fd..8425c2f 100644 --- a/arch/x86/boot/Makefile +++ b/arch/x86/boot/Makefile @@ -160,15 +160,28 @@ fdimage288: $(obj)/bzImage $(obj)/mtools.conf isoimage: $(obj)/bzImage -rm -rf $(obj)/isoimage mkdir $(obj)/isoimage - for i in lib lib64 share end ; do \ - if [ -f /usr/$$i/syslinux/isolinux.bin ] ; then \ - cp /usr/$$i/syslinux/isolinux.bin $(obj)/isoimage ; \ - if [ -f /usr/$$i/syslinux/ldlinux.c32 ]; then \ - cp /usr/$$i/syslinux/ldlinux.c32 $(obj)/isoimage ; \ + @for i in lib lib64 share end ; do \ + for j in syslinux ISOLINUX ; do \ + if [ -f /usr/$$i/$$j/isolinux.bin ] ; then \ + isolinux=/usr/$$i/$$j/isolinux.bin ; \ + echo "Using $$isolinux" ; \ + cp $$isolinux $(obj)/isoimage ; \ fi ; \ + done ; \ + for j in syslinux syslinux/modules/bios ; do \ + if [ -f /usr/$$i/$$j/ldlinux.c32 ]; then \ + ldlinux=/usr/$$i/$$j/ldlinux.c32 ; \ + echo "Using $$ldlinux" ; \ + cp $$ldlinux $(obj)/isoimage ; \ + fi ; \ + done ; \ + if [ -n "$$isolinux" -a -n "$$ldlinux" ] ; then \ break ; \ fi ; \ - if [ $$i = end ] ; then exit 1 ; fi ; \ + if [ $$i = end -a -z "$$isolinux" ] ; then \ + echo 'Need isolinux.bin, please install syslinux/isolinux' ; \ + exit 1 ; \ + fi ; \ done cp $(obj)/bzImage $(obj)/isoimage/linux echo '$(image_cmdline)' > $(obj)/isoimage/isolinux.cfg -- 2.7.4