I just noticed that the kerntypes patch does not update
/arch/s390/boot/install.sh. As a result, a "make install" command fails
because of a mismatch between what /arch/s390/boot/Makefile generates, and
what install.sh expects.
Makefile:
sh -x ./install.sh $(KERNELRELEASE) $(BOOTIMAGE) $(TOPDIR)/System.map
$(TOPDIR)/Kerntypes "$(INSTALL_PATH)"
install.sh:
cat $2 > $4/vmlinuz
cp $3 $4/System.map
With the kerntypes patch on, install.sh should be using $5 instead of $4 as
the install location.
Also a problem is that /arch/s390/boot/Makefile has the $(TOPDIR)/Kerntypes
in the invocation of install.sh, even _without_ the kerntypes patch on. So,
a "make install" command will always fail.
This patch needs to be applied to the stock Linux kernel (watch out for
conversion of tabs into spaces!):
--- linux-2.4.x/arch/s390/boot/Makefile.orig 2002-02-25
14:37:56.000000000 -0500
+++ linux-2.4.x/arch/s390/boot/Makefile 2003-10-09 16:21:03.000000000
-0400
@@ -36,5 +36,5 @@
rm -f image listing iplfba.boot ipleckd.boot ipldump.boot
install: $(CONFIGURE) $(BOOTIMAGE)
- sh -x ./install.sh $(KERNELRELEASE) $(BOOTIMAGE)
$(TOPDIR)/System.map $(TOPDIR)/Kerntypes "$(INSTALL_PATH)"
+ sh -x ./install.sh $(KERNELRELEASE) $(BOOTIMAGE)
$(TOPDIR)/System.map "$(INSTALL_PATH)"
These two patches need to be added to the kerntypes patch file (watch out
for conversion of tabs into spaces!):
--- linux-2.4.x/arch/s390/boot/Makefile 2003-10-09 16:21:03.000000000
-0400
+++ linux-2.4.x/arch/s390/boot/Makefile.orig 2002-02-25
14:37:56.000000000 -0500
@@ -36,5 +36,5 @@
rm -f image listing iplfba.boot ipleckd.boot ipldump.boot
install: $(CONFIGURE) $(BOOTIMAGE)
- sh -x ./install.sh $(KERNELRELEASE) $(BOOTIMAGE)
$(TOPDIR)/System.map "$(INSTALL_PATH)"
+ sh -x ./install.sh $(KERNELRELEASE) $(BOOTIMAGE)
$(TOPDIR)/System.map $(TOPDIR)/Kerntypes "$(INSTALL_PATH)"
--- linux-2.4.x/arch/s390/boot/install.sh.orig 2002-08-02
20:39:43.000000000 -0400
+++ linux-2.4.x/arch/s390/boot/install.sh 2003-10-09 16:26:04.000000000
-0400
@@ -16,7 +16,8 @@
# $1 - kernel version
# $2 - kernel image file
# $3 - kernel map file
-# $4 - default install path (blank if root directory)
+# $4 - Kerntypes file
+# $5 - default install path (blank if root directory)
#
# User may have a custom install script
@@ -26,13 +27,13 @@
# Default install - same as make zlilo
-if [ -f $4/vmlinuz ]; then
- mv $4/vmlinuz $4/vmlinuz.old
+if [ -f $5/vmlinuz ]; then
+ mv $5/vmlinuz $5/vmlinuz.old
fi
-if [ -f $4/System.map ]; then
- mv $4/System.map $4/System.old
+if [ -f $5/System.map ]; then
+ mv $5/System.map $5/System.old
fi
-cat $2 > $4/vmlinuz
-cp $3 $4/System.map
+cat $2 > $5/vmlinuz
+cp $3 $5/System.map
Note that this doesn't do anything about the fact that install.sh is doing
_nothing_ with the Kerntypes file. That's something that needs to be
correct by someone who knows more about what it's for than I do.
Mark Post