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