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

Re: Future of the s390 port

Bastian Blank wrote:
> On Sat, Oct 10, 2009 at 08:00:13PM +0200, Frans Pop wrote:
>> Right, so who has a *recent* SuSE CD he/she can disect? I personally
>> don't feel like registering with Novell just for this.
> Well, I have an account and got an image.

Thanks a lot Bastian.
I received basically the same info in a private mail from Adam (private 
probably because he forwarded it from a contact at SuSE). So thanks to 
them too.

And with the help of google to fill in the missing bits I now have it 
working in Hercules again.

Attached the patch for debian-cd (for squeeze). I've tested it for both 
Lenny and Squeeze (the latter using current daily D-I images), so the same 
changes work for both 31-bit and 64-bit kernels.
>> Main questions are:
>> - what does the .ins file they use look like?
> | * SuSE Linux for zSeries Installation/Rescue System
> | boot/s390x/vmrdr.ikr 0x00000000
> | boot/s390x/initrd.off 0x0001040c
> | boot/s390x/initrd.siz 0x00010414
> | boot/s390x/initrd 0x00800000
> | boot/s390x/parmfile 0x00010480

We did not yet specify initrd offset and size.
>> - what kind of initrd do they use: initramfs or "oldfashioned" initrd?
>> - if oldfashioned, then what filesystem do they use?
>> - if initramfs, then how do they manage to boot it?
> This are just memory loads, so this should work regardless of the type.
> The kernel handles both types in the same way.

Well, it worked without the size and offset for ext2 initrds. And at least 
that defines block you quoted has been unchanged since the start of git 
(2.6.12). Maybe there has been a change in the kernel, or maybe the 
autodetection differs between initramfs and a "real" file system.

>> - what is the kernel config they use in their installer?
> The VM reader kernel.

Same as us then.

So with this weekly built CDs should work again very soon if you boot using 
d390.ins. And Lenny CDs should work again with the next point release.

Note that I have not modified d390.tdf, which I assume is tape emulation.
I have no idea if that is supposed to be possible from CD. If someone knows 
and wants to test that, please do.


diff --git a/data/squeeze/s390/d390.ins b/data/squeeze/s390/d390.ins
index 5e82599..78c5f11 100644
--- a/data/squeeze/s390/d390.ins
+++ b/data/squeeze/s390/d390.ins
@@ -1,4 +1,6 @@
 * Debian GNU/Linux for S/390 (boot from CD-ROM or FTP-Server)
 linux_vm 0x00000000
+root.off 0x0001040c
+root.siz 0x00010414
 parmfile 0x00010480
 root.bin 0x00800000
diff --git a/data/squeeze/s390/d390oco.ins b/data/squeeze/s390/d390oco.ins
index 03da8f6..b3f11dd 100644
--- a/data/squeeze/s390/d390oco.ins
+++ b/data/squeeze/s390/d390oco.ins
@@ -1,5 +1,7 @@
 * Debian GNU/Linux for S/390 (boot from CD-ROM or FTP-Server with 
 linux_vm 0x00000000
+root.off 0x0001040c
+root.siz 0x00010414
 parmfile 0x00010480
 root.bin 0x00800000
 oco.bin 0x00c00000
diff --git a/tools/boot/squeeze/boot-s390 b/tools/boot/squeeze/boot-s390
index 6b3796f..34b8351 100755
--- a/tools/boot/squeeze/boot-s390
+++ b/tools/boot/squeeze/boot-s390
@@ -87,6 +87,10 @@ done
 # - d390oco.tdf : same, using object-code-only-modules-ramdisk (example)
 cp $BASEDIR/data/$CODENAME/s390/d390* "$imagedir/"
+# Create the files specifying offset and size of the initrd
+perl -e "print pack('N', 0x800000)" >"$imagedir/root.off"
+perl -e "print pack('N', -s '$imagedir/root.bin')" >"$imagedir/root.siz"
 # Copy the README file
 cp $BASEDIR/data/$CODENAME/s390/README.boot "boot$N/"

Reply to: