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

Re: Future of the s390 port



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.

> 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

This looks like absolute addresses, so the contents of the initrd.off,
initrd.siz and parmfile files are written into the kernel image.

> - 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.

> - what is the kernel config they use in their installer?

The VM reader kernel.

More informations:

| $ l boot/s390x/{vmrdr.ikr,initrd*,parmfile*} 
| -r--r--r-- 1 root root 12897335  8. Mär 2009  boot/s390x/initrd
| -r--r--r-- 1 root root        4  8. Mär 2009  boot/s390x/initrd.off
| -r--r--r-- 1 root root        4  8. Mär 2009  boot/s390x/initrd.siz
| -r--r--r-- 1 root root       71  8. Mär 2009  boot/s390x/parmfile
| -r--r--r-- 1 root root      102  8. Mär 2009  boot/s390x/parmfile.cd
| -r--r--r-- 1 root root  6761472  8. Mär 2009  boot/s390x/vmrdr.ikr
| $ hexdump -C boot/s390x/initrd.off
| 00000000  00 80 00 00                                       |....|
| 00000004
| $ hexdump -C boot/s390x/initrd.siz
| 00000000  00 c4 cc 37                                       |...7|
| 00000004
| $ cat boot/s390x/parmfile 
| ramdisk_size=65536 root=/dev/ram1 ro init=/linuxrc TERM=dumb
| manual=1
| 
| $ cat suse.ins 
| * 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
| $ cat boot/s390x/suse.ins 
| * SuSE Linux for zSeries Installation/Rescue System
| vmrdr.ikr 0x00000000
| initrd.off 0x0001040c
| initrd.siz 0x00010414
| initrd 0x00800000
| parmfile 0x00010480

The addresses are specified this way:
| #ifndef __s390x__
| #define IPL_DEVICE        (*(unsigned long *)  (0x10404))
| #define INITRD_START      (*(unsigned long *)  (0x1040C))
| #define INITRD_SIZE       (*(unsigned long *)  (0x10414))
| #else /* __s390x__ */
| #define IPL_DEVICE        (*(unsigned long *)  (0x10400))
| #define INITRD_START      (*(unsigned long *)  (0x10408))
| #define INITRD_SIZE       (*(unsigned long *)  (0x10410))
| #endif /* __s390x__ */
| #define COMMAND_LINE      ((char *)            (0x10480))

So the addresses for the initrd differs between the 31 and 64bit kernel.

Bastian

-- 
Murder is contrary to the laws of man and God.
		-- M-5 Computer, "The Ultimate Computer", stardate 4731.3

Attachment: signature.asc
Description: Digital signature


Reply to: