[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[PATCH] Load the s390x initrd at 0x01000000 when using the ins loader.



Currently the ins loader (mostly HMC loading into an LPAR) only
supports kernels up to 8 MiB. The jessie kernel has 11 MiB, which
does not fit and hence gets its tail overwritten by the initrd
(root.bin) loaded at this address. This change bumps the load
address to 16 MiB, which should allow for some more growth of
the kernel.

Signed-off-by: Philipp Kern <pkern@debian.org>
---
 data/jessie/s390x/d390.ins    | 2 +-
 data/stretch/s390x/d390.ins   | 2 +-
 debian/changelog              | 2 ++
 tools/boot/jessie/boot-s390x  | 2 +-
 tools/boot/stretch/boot-s390x | 2 +-
 5 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/data/jessie/s390x/d390.ins b/data/jessie/s390x/d390.ins
index 78c5f11..a02a1e2 100644
--- a/data/jessie/s390x/d390.ins
+++ b/data/jessie/s390x/d390.ins
@@ -3,4 +3,4 @@ linux_vm 0x00000000
 root.off 0x0001040c
 root.siz 0x00010414
 parmfile 0x00010480
-root.bin 0x00800000
+root.bin 0x01000000
diff --git a/data/stretch/s390x/d390.ins b/data/stretch/s390x/d390.ins
index 78c5f11..a02a1e2 100644
--- a/data/stretch/s390x/d390.ins
+++ b/data/stretch/s390x/d390.ins
@@ -3,4 +3,4 @@ linux_vm 0x00000000
 root.off 0x0001040c
 root.siz 0x00010414
 parmfile 0x00010480
-root.bin 0x00800000
+root.bin 0x01000000
diff --git a/debian/changelog b/debian/changelog
index d2f9220..8af16ef 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -35,6 +35,8 @@ debian-cd (3.1.18) UNRELEASED; urgency=medium
   * Make stretch the default suite in the easy-build.sh script.
 
   [ Philipp Kern ]
+  * Load the s390x initrd at 0x01000000 to allow kernels larger than
+    8 MiB (and smaller than 16 MiB) to be loaded via the ins loader.
   * Drop the remaining s390 bits from stretch and jessie. (s390x remains.)
   * Drop the d390oco loader from stretch and jessie.
 
diff --git a/tools/boot/jessie/boot-s390x b/tools/boot/jessie/boot-s390x
index 1f5f750..c9f73ad 100644
--- a/tools/boot/jessie/boot-s390x
+++ b/tools/boot/jessie/boot-s390x
@@ -83,7 +83,7 @@ cp $BASEDIR/data/$CODENAME/$ARCH/d390* "$imagedir/"
 sed -e 's,^[^*],boot/&,g' < $BASEDIR/data/$CODENAME/$ARCH/d390.ins > "boot$N/d390.ins"
 
 # Create the files specifying offset and size of the initrd
-perl -e "print pack('N', 0x800000)" >"$imagedir/root.off"
+perl -e "print pack('N', 0x1000000)" >"$imagedir/root.off"
 perl -e "print pack('N', -s '$imagedir/root.bin')" >"$imagedir/root.siz"
 
 # Copy the README file
diff --git a/tools/boot/stretch/boot-s390x b/tools/boot/stretch/boot-s390x
index 92dc73b..30eab52 100644
--- a/tools/boot/stretch/boot-s390x
+++ b/tools/boot/stretch/boot-s390x
@@ -84,7 +84,7 @@ cp $BASEDIR/data/$CODENAME/$ARCH/d390* "$imagedir/"
 sed -e 's,^[^*],boot/&,g' < $BASEDIR/data/$CODENAME/$ARCH/d390.ins > "boot$N/d390.ins"
 
 # Create the files specifying offset and size of the initrd
-perl -e "print pack('N', 0x800000)" >"$imagedir/root.off"
+perl -e "print pack('N', 0x1000000)" >"$imagedir/root.off"
 perl -e "print pack('N', -s '$imagedir/root.bin')" >"$imagedir/root.siz"
 
 # Copy the README file
-- 
2.1.4


Reply to: