lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1509425132-31514-1-git-send-email-changbin.du@intel.com>
Date:   Tue, 31 Oct 2017 12:45:31 +0800
From:   changbin.du@...el.com
To:     hpa@...or.com, tglx@...utronix.de
Cc:     mingo@...hat.com, x86@...nel.org, linux-kernel@...r.kernel.org,
        Changbin Du <changbin.du@...el.com>
Subject: [PATCH]  x86, build: Improve the isolinux searching of isoimage generation

From: Changbin Du <changbin.du@...el.com>

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 <changbin.du@...el.com>
---
 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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ