x86/build: Make isoimage work on Debian

Debian does not ship a 'mkisofs' symlink to genisoimage. All modern
distros ship genisoimage, so just use that directly. That requires
renaming the 'genisoimage' function. Also neaten up the 'for' loop
while I'm in here.

Signed-off-by: Matthew Wilcox <mawilcox@microsoft.com>
Cc: Changbin Du <changbin.du@intel.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>

authored by Matthew Wilcox and committed by Ingo Molnar 5f0e3fe6 c739f930

+16 -12
+16 -12
arch/x86/boot/genimage.sh
··· 80 mcopy $FBZIMAGE w:linux 81 } 82 83 - genisoimage() { 84 tmp_dir=`dirname $FIMAGE`/isoimage 85 rm -rf $tmp_dir 86 mkdir $tmp_dir 87 - for i in lib lib64 share end ; do 88 for j in syslinux ISOLINUX ; do 89 if [ -f /usr/$i/$j/isolinux.bin ] ; then 90 isolinux=/usr/$i/$j/isolinux.bin 91 - cp $isolinux $tmp_dir 92 fi 93 done 94 for j in syslinux syslinux/modules/bios ; do 95 if [ -f /usr/$i/$j/ldlinux.c32 ]; then 96 ldlinux=/usr/$i/$j/ldlinux.c32 97 - cp $ldlinux $tmp_dir 98 fi 99 done 100 if [ -n "$isolinux" -a -n "$ldlinux" ] ; then 101 break 102 fi 103 - if [ $i = end -a -z "$isolinux" ] ; then 104 - echo 'Need an isolinux.bin file, please install syslinux/isolinux.' 105 - exit 1 106 - fi 107 done 108 cp $FBZIMAGE $tmp_dir/linux 109 echo "$KCMDLINE" > $tmp_dir/isolinux.cfg 110 if [ -f "$FDINITRD" ] ; then 111 cp "$FDINITRD" $tmp_dir/initrd.img 112 fi 113 - mkisofs -J -r -input-charset=utf-8 -quiet -o $FIMAGE -b isolinux.bin \ 114 - -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table \ 115 - $tmp_dir 116 isohybrid $FIMAGE 2>/dev/null || true 117 rm -rf $tmp_dir 118 } ··· 125 bzdisk) genbzdisk;; 126 fdimage144) genfdimage144;; 127 fdimage288) genfdimage288;; 128 - isoimage) genisoimage;; 129 *) echo 'Unknown image format'; exit 1; 130 esac
··· 80 mcopy $FBZIMAGE w:linux 81 } 82 83 + geniso() { 84 tmp_dir=`dirname $FIMAGE`/isoimage 85 rm -rf $tmp_dir 86 mkdir $tmp_dir 87 + for i in lib lib64 share ; do 88 for j in syslinux ISOLINUX ; do 89 if [ -f /usr/$i/$j/isolinux.bin ] ; then 90 isolinux=/usr/$i/$j/isolinux.bin 91 fi 92 done 93 for j in syslinux syslinux/modules/bios ; do 94 if [ -f /usr/$i/$j/ldlinux.c32 ]; then 95 ldlinux=/usr/$i/$j/ldlinux.c32 96 fi 97 done 98 if [ -n "$isolinux" -a -n "$ldlinux" ] ; then 99 break 100 fi 101 done 102 + if [ -z "$isolinux" ] ; then 103 + echo 'Need an isolinux.bin file, please install syslinux/isolinux.' 104 + exit 1 105 + fi 106 + if [ -z "$ldlinux" ] ; then 107 + echo 'Need an ldlinux.c32 file, please install syslinux/isolinux.' 108 + exit 1 109 + fi 110 + cp $isolinux $tmp_dir 111 + cp $ldlinux $tmp_dir 112 cp $FBZIMAGE $tmp_dir/linux 113 echo "$KCMDLINE" > $tmp_dir/isolinux.cfg 114 if [ -f "$FDINITRD" ] ; then 115 cp "$FDINITRD" $tmp_dir/initrd.img 116 fi 117 + genisoimage -J -r -input-charset=utf-8 -quiet -o $FIMAGE \ 118 + -b isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 \ 119 + -boot-info-table $tmp_dir 120 isohybrid $FIMAGE 2>/dev/null || true 121 rm -rf $tmp_dir 122 } ··· 121 bzdisk) genbzdisk;; 122 fdimage144) genfdimage144;; 123 fdimage288) genfdimage288;; 124 + isoimage) geniso;; 125 *) echo 'Unknown image format'; exit 1; 126 esac