Discussion:
Factory CD boot problem
Andreas Färber
2013-08-24 00:59:45 UTC
Permalink
Hello,

Since a number of weeks I am unsuccessful in using the ppc64 install
media on my POWER5+ box. Below is output from latest
openSUSE-NET64-ppc64-Build0023-Media.iso. In qemu-system-ppc64 it
proceeds okay, and Factory boots okay (below). The only difference is me
entering SMS menu to select booting from IDE CD. I notice that the
booting system loads an Elf64 kernel while the ppc64 iso loads an Elf32
kernel. Any ideas?

Thanks,
Andreas

CD:

yaboot starting: loaded at 00040000 00065a88 (0/0/02039a68; sp: 02cbffd0)
Config file 'yaboot.cnf' read, 285 bytes


Welcome to openSuSE Factory!

Type "install" to start the YaST installer on this CD/DVD
Type "slp" to start the YaST install via network
Type "rescue" to start the rescue system on this CD/DVD


Welcome to yaboot version r22.8-r1190.SuSE
booted from
'/***@800000020000003/***@2,3/***@1/***@0:1,\suseboot\yaboot.ibm'
running with firmware 'IBM,SF240_284' on model 'IBM,9111-285', serial
'IBM,*********', partition '06-C903E'
Enter "help" to get some basic usage information
boot:
install slp rescue
boot: install
Please wait, loading kernel...
Allocated 02f00000 bytes for executable @ 03000000
Elf32 kernel loaded...

SuSE Linux zImage starting: loaded at 03000000-05dc0d30
(4000000/0/02039a68; sp: 02cbfd90)
uncompressing ELF header done. (00000100 bytes)
Allocated 018461cc bytes for kernel @ 05f00000
Leave 027c7fc4 bytes for initrd @ 035ecece
uncompressing kernel done. (01240ef8 bytes)
entering kernel at 05f10000(35ecece/27c7fc4/02039a68)
OF stdout device is: /vdevice/***@30000000
Preparing to boot Linux version 3.10.1-3.g0cd5432-default
(***@buildhost) (gcc version 4.8.1 20130711 [gcc-4_8-branch revision
200903] (SUSE Linux) ) #1 SMP Fri Jul 19 14:39:31 UTC 2013 (0cd5432)
Detected machine type: 0000000000000101
Max number of cores passed to firmware: 512 (NR_CPUS = 1024)
Calling ibm,client-architecture-support... not implemented
command line: quiet sysrq=1 insmod=sym53c8xx insmod=ipr
memory layout at init:
memory_limit : 0000000000000000 (16 MB aligned)
alloc_bottom : 0000000007470000
alloc_top : 0000000008000000
alloc_top_hi : 0000000077000000
rmo_top : 0000000008000000
ram_top : 0000000077000000
found display : /***@800000020000002/***@1, opening... done
Could not allocate memory for RTAS
EXIT called ok
0 >


Disk:

yaboot starting: loaded at 00040000 00065a88 (0/0/02039a68; sp: 02cbffd0)
Config file 'yaboot.cnf' read, 611 bytes

Welcome to yaboot version r22.8-r1190.SuSE
booted from
'/***@800000020000003/***@2,4/pci1069,***@1/***@0/***@8,0:1,yaboot'
running with firmware 'IBM,SF240_284' on model 'IBM,9111-285', serial
'IBM,*********', partition '06-C903E'
Enter "help" to get some basic usage information
boot: Linux_4
Using 01401f9c bytes for initrd buffer
Please wait, loading kernel...
Allocated 01700000 bytes for kernel @ 03000000
Elf64 kernel loaded...
Loading ramdisk...
ramdisk loaded 01401f9c @ 04700000
OF stdout device is: /vdevice/***@30000000
Preparing to boot Linux version 3.10.1-3.g0cd5432-default
(***@buildhost) (gcc version 4.8.1 20130711 [gcc-4_8-branch revision
200903] (SUSE Linux) ) #1 SMP Fri Jul 19 14:39:31 UTC 2013 (0cd5432)
Detected machine type: 0000000000000101
Max number of cores passed to firmware: 512 (NR_CPUS = 1024)
Calling ibm,client-architecture-support... not implemented
command line:
root=/dev/disk/by-uuid/671e0a08-2bb3-4fae-b606-287d887e2060 quiet
sysrq=1 insmod=sym53c8xx insmod=ipr
memory layout at init:
memory_limit : 0000000000000000 (16 MB aligned)
alloc_bottom : 0000000005b10000
alloc_top : 0000000008000000
alloc_top_hi : 0000000077000000
rmo_top : 0000000008000000
ram_top : 0000000077000000
found display : /***@800000020000002/***@1, opening... done
instantiating rtas at 0x00000000076a0000... done
Querying for OPAL presence... not there.
boot cpu hw idx 0
copying OF device tree...
Building dt strings...
Building dt structure...
Device tree strings 0x0000000005b20000 -> 0x0000000005b21372
Device tree struct 0x0000000005b30000 -> 0x0000000005b40000
no ibm,pcie-link-speed-stats property
no ibm,pcie-link-speed-stats property
no ibm,pcie-link-speed-stats property
/home/abuild/rpmbuild/BUILD/kernel-default-3.10.1/linux-3.10/drivers/rtc/hctosys.c:
unable to open rtc device (rtc0)
doing fast boot
[...]
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
--
To unsubscribe, e-mail: opensuse-ppc+***@opensuse.org
To contact the owner, e-mail: opensuse-ppc+***@opensuse.org
Andreas Färber
2013-11-21 12:37:57 UTC
Permalink
Hi Dinar,

Thanks for your work on the installation media.

Unfortunately though, openSUSE-13.1-ppc64-NET-ppc64-Build0018-Media.iso
still fails to boot into Linux on my machine. The initrd appears to load
okay but the failure remains when loading RTAS.

The installed system continues to work fine (except it needs some
partition resizing that I was hoping to do via a reinstall), so it
doesn't sound like it's a general problem with the IBM firmware's RTAS
implementation - the firmware did not change since original installation.

Any ideas would be welcome. Maybe reduce initrd size even more?
Or is the presence of the graphics card maybe causing problems due to
OpenFirmware framebuffer size?

Regards,
Andreas


Elapsed time since release of system processors: 5 mins 35 secs

yaboot starting: loaded at 00040000 00065a88 (0/0/02039a68; sp: 02cbffd0)
Config file 'yaboot.cnf' read, 342 bytes


Welcome to openSuSE 13.1!

Type "install" to start the YaST installer on this CD/DVD
Type "slp" to start the YaST install via network
Type "rescue" to start the rescue system on this CD/DVD


Welcome to yaboot version r22.8-r1190.SuSE
booted from
'/***@800000020000003/***@2,3/***@1/***@0:1,\suseboot\yaboot.ibm'
running with firmware 'IBM,SF240_284' on model 'IBM,9111-285', serial
'IBM,*********', partition '06-C903E'
Enter "help" to get some basic usage information
boot: help
Press the tab key for a list of defined images.
The label marked with a "*" is the default image, press <return> to
boot it.

To boot any other label simply type its name and press <return>.
It is also possible to expand a label with the tab key.

To boot a kernel image which is not defined in the yaboot configuration
file, enter the kernel image name as [[device:[partno]],]/path, where
"device:" is the OpenFirmware device path to the disk the image
resides on, and "partno" is the partition number the image resides on.
Note that the comma (,) is only required if you specify an OpenFirmware
device, if you only specify a filename you should not start it with a ","
The shortcut '&device;' can be used to specify the OpenFirmware device
path
where yaboot was loaded from.

To load an initrd, specify its path as initrd=[[device:[partno]],]/path

If you omit "device:" and "partno" yaboot will use the values of
"device=" and "partition=" in yaboot.conf, right now those are set to:
device=/***@800000020000003/***@2,3/***@1/***@0
partition=1

boot:
install slp rescue
boot: install
Please wait, loading kernel...
Allocated 01700000 bytes for kernel @ 03000000
Elf64 kernel loaded...
Loading ramdisk...
ramdisk loaded 031c5a55 @ 04700000
OF stdout device is: /vdevice/***@30000000
Preparing to boot Linux version 3.11.6-3-default (***@buildhost) (gcc
version 4.8.1 20130909 [gcc-4_8-branch revision 202388] (SUSE Linux) )
#1 SMP Thu Oct 24 16:23:02 UTC 2013 (0ba01b7)
Detected machine type: 0000000000000101
Max number of cores passed to firmware: 1024 (NR_CPUS = 2048)
Calling ibm,client-architecture-support... not implemented
command line: quiet sysrq=1 insmod=sym53c8xx insmod=ipr
memory layout at init:
memory_limit : 0000000000000000 (16 MB aligned)
alloc_bottom : 00000000078d0000
alloc_top : 0000000008000000
alloc_top_hi : 0000000077000000
rmo_top : 0000000008000000
ram_top : 0000000077000000
found display : /***@800000020000002/***@1, opening... done
Could not allocate memory for RTAS
EXIT called ok
0 >
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
--
To unsubscribe, e-mail: opensuse-ppc+***@opensuse.org
To contact the owner, e-mail: opensuse-ppc+***@opensuse.org
Alexander Graf
2014-01-02 20:34:03 UTC
Permalink
Post by Andreas Färber
Hi Dinar,
Thanks for your work on the installation media.
Unfortunately though, openSUSE-13.1-ppc64-NET-ppc64-Build0018-Media.iso
still fails to boot into Linux on my machine. The initrd appears to load
okay but the failure remains when loading RTAS.
The installed system continues to work fine (except it needs some
partition resizing that I was hoping to do via a reinstall), so it
doesn't sound like it's a general problem with the IBM firmware's RTAS
implementation - the firmware did not change since original installation.
Any ideas would be welcome. Maybe reduce initrd size even more?
Or is the presence of the graphics card maybe causing problems due to
OpenFirmware framebuffer size?
Regards,
Andreas
Elapsed time since release of system processors: 5 mins 35 secs
yaboot starting: loaded at 00040000 00065a88 (0/0/02039a68; sp: 02cbffd0)
Config file 'yaboot.cnf' read, 342 bytes
Welcome to openSuSE 13.1!
Type "install" to start the YaST installer on this CD/DVD
Type "slp" to start the YaST install via network
Type "rescue" to start the rescue system on this CD/DVD
Welcome to yaboot version r22.8-r1190.SuSE
booted from
running with firmware 'IBM,SF240_284' on model 'IBM,9111-285', serial
'IBM,*********', partition '06-C903E'
Enter "help" to get some basic usage information
boot: help
Press the tab key for a list of defined images.
The label marked with a "*" is the default image, press <return> to
boot it.
To boot any other label simply type its name and press <return>.
It is also possible to expand a label with the tab key.
To boot a kernel image which is not defined in the yaboot configuration
file, enter the kernel image name as [[device:[partno]],]/path, where
"device:" is the OpenFirmware device path to the disk the image
resides on, and "partno" is the partition number the image resides on.
Note that the comma (,) is only required if you specify an OpenFirmware
device, if you only specify a filename you should not start it with a ","
The shortcut '&device;' can be used to specify the OpenFirmware device
path
where yaboot was loaded from.
To load an initrd, specify its path as initrd=[[device:[partno]],]/path
If you omit "device:" and "partno" yaboot will use the values of
partition=1
install slp rescue
boot: install
Please wait, loading kernel...
Elf64 kernel loaded...
Loading ramdisk...
version 4.8.1 20130909 [gcc-4_8-branch revision 202388] (SUSE Linux) )
#1 SMP Thu Oct 24 16:23:02 UTC 2013 (0ba01b7)
Detected machine type: 0000000000000101
Max number of cores passed to firmware: 1024 (NR_CPUS = 2048)
Calling ibm,client-architecture-support... not implemented
command line: quiet sysrq=1 insmod=sym53c8xx insmod=ipr
memory_limit : 0000000000000000 (16 MB aligned)
alloc_bottom : 00000000078d0000
alloc_top : 0000000008000000
alloc_top_hi : 0000000077000000
rmo_top : 0000000008000000
ram_top : 0000000077000000
Could not allocate memory for RTAS
Ben, do you know what this means?


Alex
Post by Andreas Färber
EXIT called ok
0 >
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
--
To unsubscribe, e-mail: opensuse-ppc+***@opensuse.org
To contact the owner, e-mail: opensuse-ppc+***@opensuse.org
Benjamin Herrenschmidt
2014-01-02 20:51:59 UTC
Permalink
Post by Alexander Graf
Post by Andreas Färber
install slp rescue
boot: install
Please wait, loading kernel...
Elf64 kernel loaded...
Loading ramdisk...
version 4.8.1 20130909 [gcc-4_8-branch revision 202388] (SUSE Linux) )
#1 SMP Thu Oct 24 16:23:02 UTC 2013 (0ba01b7)
Detected machine type: 0000000000000101
Max number of cores passed to firmware: 1024 (NR_CPUS = 2048)
Calling ibm,client-architecture-support... not implemented
command line: quiet sysrq=1 insmod=sym53c8xx insmod=ipr
memory_limit : 0000000000000000 (16 MB aligned)
alloc_bottom : 00000000078d0000
alloc_top : 0000000008000000
alloc_top_hi : 0000000077000000
rmo_top : 0000000008000000
ram_top : 0000000077000000
Could not allocate memory for RTAS
Ben, do you know what this means?
Yes, it means what the message says ... prom_init.c couldn't find a big
enough free spot of RAM in the RMA to put RTAS in.

Usually that means a too big ramdisk...

Remember pHyp hands out really tiny RMAs, in this case, 128M, that's it
and that's all OFW can use. Look at RTAS size in the device-tree,
so based on where the kernel is loaded, where the ramdisk is
loaded, the reserved area to keep for the kernel etc... you may not
have enough room left for RTAS.

It could also be that yaboot put things in less than optimal spots

Cheers,
Ben.
Post by Alexander Graf
Alex
Post by Andreas Färber
EXIT called ok
0 >
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
--
To unsubscribe, e-mail: opensuse-ppc+***@opensuse.org
To contact the owner, e-mail: opensuse-ppc+***@opensuse.org
Alexander Graf
2014-01-02 21:01:46 UTC
Permalink
Post by Benjamin Herrenschmidt
Post by Alexander Graf
Post by Andreas Färber
install slp rescue
boot: install
Please wait, loading kernel...
Elf64 kernel loaded...
Loading ramdisk...
version 4.8.1 20130909 [gcc-4_8-branch revision 202388] (SUSE Linux) )
#1 SMP Thu Oct 24 16:23:02 UTC 2013 (0ba01b7)
Detected machine type: 0000000000000101
Max number of cores passed to firmware: 1024 (NR_CPUS = 2048)
Calling ibm,client-architecture-support... not implemented
command line: quiet sysrq=1 insmod=sym53c8xx insmod=ipr
memory_limit : 0000000000000000 (16 MB aligned)
alloc_bottom : 00000000078d0000
alloc_top : 0000000008000000
alloc_top_hi : 0000000077000000
rmo_top : 0000000008000000
ram_top : 0000000077000000
Could not allocate memory for RTAS
Ben, do you know what this means?
Yes, it means what the message says ... prom_init.c couldn't find a big
enough free spot of RAM in the RMA to put RTAS in.
Usually that means a too big ramdisk...
Remember pHyp hands out really tiny RMAs, in this case, 128M, that's it
and that's all OFW can use. Look at RTAS size in the device-tree,
so based on where the kernel is loaded, where the ramdisk is
loaded, the reserved area to keep for the kernel etc... you may not
have enough room left for RTAS.
Andreas, could you please dump /proc/device-tree from a working Linux instance and upload it somewhere or at least tell us how big the RTAS payload is? :)

So we have

48MB - ~71MB kernel
71MB - 120MB initrd

So yeah, I can see how there might be too little space left to put the RTAS blob somewhere. But why is yaboot only allocating as of 48MB?

Either way, I guess in your case the easiest solution would be to trim a few firmware blobs from the initrd. I don't think you have qlogic hbas in your system, right? :)
Post by Benjamin Herrenschmidt
It could also be that yaboot put things in less than optimal spots
Well, the only curious thing is that it starts allocation at 48MB. But I suppose that's for a good reason - OFW and yaboot have to all fit into the same tiny 128MB address space after all.


Alex
--
To unsubscribe, e-mail: opensuse-ppc+***@opensuse.org
To contact the owner, e-mail: opensuse-ppc+***@opensuse.org
Benjamin Herrenschmidt
2014-01-02 21:26:35 UTC
Permalink
Post by Alexander Graf
Well, the only curious thing is that it starts allocation at 48MB. But
I suppose that's for a good reason - OFW and yaboot have to all fit
into the same tiny 128MB address space after all.
Check where OFW is ... (real-base)

Cheers,
Ben.
--
To unsubscribe, e-mail: opensuse-ppc+***@opensuse.org
To contact the owner, e-mail: opensuse-ppc+***@opensuse.org
Andreas Färber
2014-01-07 13:40:49 UTC
Permalink
Post by Benjamin Herrenschmidt
Post by Alexander Graf
Well, the only curious thing is that it starts allocation at 48MB. But
I suppose that's for a good reason - OFW and yaboot have to all fit
into the same tiny 128MB address space after all.
Check where OFW is ... (real-base)
# hexdump -C options/real-base
00000000 33 33 35 35 34 34 33 32 00 |33554432.|
00000009
# hexdump -C options/real-size
00000000 31 36 37 37 37 32 31 36 00 |16777216.|
00000009

Looks slightly odd to me...

power5:/proc/device-tree # hexdump -C options/virt-base
00000000 34 32 39 34 39 36 37 32 39 35 00 |4294967295.|
0000000b
power5:/proc/device-tree # hexdump -C options/virt-size
00000000 34 32 39 34 39 36 37 32 39 35 00 |4294967295.|
0000000b

# hexdump -C options/load-base
00000000 31 36 33 38 34 00 |16384.|
00000006

Cheers,
Andreas
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
--
To unsubscribe, e-mail: opensuse-ppc+***@opensuse.org
To contact the owner, e-mail: opensuse-ppc+***@opensuse.org
Alexander Graf
2014-01-07 13:43:15 UTC
Permalink
Post by Andreas Färber
Post by Benjamin Herrenschmidt
Post by Alexander Graf
Well, the only curious thing is that it starts allocation at 48MB. But
I suppose that's for a good reason - OFW and yaboot have to all fit
into the same tiny 128MB address space after all.
Check where OFW is ... (real-base)
# hexdump -C options/real-base
00000000 33 33 35 35 34 34 33 32 00 |33554432.|
00000009
Post by Benjamin Herrenschmidt
Post by Alexander Graf
33554432 / 1024. / 1024.
32.0
Post by Andreas Färber
# hexdump -C options/real-size
00000000 31 36 37 37 37 32 31 36 00 |16777216.|
00000009
Post by Benjamin Herrenschmidt
Post by Alexander Graf
16777216 / 1024. / 1024.
16.0
Post by Andreas Färber
Looks slightly odd to me...
power5:/proc/device-tree # hexdump -C options/virt-base
00000000 34 32 39 34 39 36 37 32 39 35 00 |4294967295.|
Post by Benjamin Herrenschmidt
Post by Alexander Graf
hex(4294967295)
'0xffffffff'
Post by Andreas Färber
0000000b
power5:/proc/device-tree # hexdump -C options/virt-size
00000000 34 32 39 34 39 36 37 32 39 35 00 |4294967295.|
Post by Benjamin Herrenschmidt
Post by Alexander Graf
hex(4294967295)
'0xffffffff'
Post by Andreas Färber
0000000b
# hexdump -C options/load-base
00000000 31 36 33 38 34 00 |16384.|
Post by Benjamin Herrenschmidt
Post by Alexander Graf
hex(16384)
'0x4000'


Alex
--
To unsubscribe, e-mail: opensuse-ppc+***@opensuse.org
To contact the owner, e-mail: opensuse-ppc+***@opensuse.org
Andreas Färber
2014-01-07 13:31:11 UTC
Permalink
Post by Alexander Graf
Post by Benjamin Herrenschmidt
Post by Alexander Graf
Post by Andreas Färber
install slp rescue
boot: install
Please wait, loading kernel...
Elf64 kernel loaded...
Loading ramdisk...
version 4.8.1 20130909 [gcc-4_8-branch revision 202388] (SUSE Linux) )
#1 SMP Thu Oct 24 16:23:02 UTC 2013 (0ba01b7)
Detected machine type: 0000000000000101
Max number of cores passed to firmware: 1024 (NR_CPUS = 2048)
Calling ibm,client-architecture-support... not implemented
command line: quiet sysrq=1 insmod=sym53c8xx insmod=ipr
memory_limit : 0000000000000000 (16 MB aligned)
alloc_bottom : 00000000078d0000
alloc_top : 0000000008000000
alloc_top_hi : 0000000077000000
rmo_top : 0000000008000000
ram_top : 0000000077000000
Could not allocate memory for RTAS
Ben, do you know what this means?
Yes, it means what the message says ... prom_init.c couldn't find a big
enough free spot of RAM in the RMA to put RTAS in.
Usually that means a too big ramdisk...
Remember pHyp hands out really tiny RMAs, in this case, 128M, that's it
and that's all OFW can use. Look at RTAS size in the device-tree,
so based on where the kernel is loaded, where the ramdisk is
loaded, the reserved area to keep for the kernel etc... you may not
have enough room left for RTAS.
Andreas, could you please dump /proc/device-tree from a working Linux instance and upload it somewhere
Transferred a tarball to my notebook.
Post by Alexander Graf
or at least tell us how big the RTAS payload is? :)
# cd /proc/device-tree
# hexdump rtas/rtas-size
0000000 0095 c000
0000004

=> RTAS is 9.814.016 bytes if I'm reading that correctly.
Post by Alexander Graf
So we have
48MB - ~71MB kernel
71MB - 120MB initrd
So yeah, I can see how there might be too little space left to put the RTAS blob somewhere. But why is yaboot only allocating as of 48MB?
Either way, I guess in your case the easiest solution would be to trim a few firmware blobs from the initrd. I don't think you have qlogic hbas in your system, right? :)
0001:d0:01.0 SCSI storage controller: Mylex Corporation AcceleRAID
600/500/400/Sapphire support Device (rev 04)
Post by Alexander Graf
Post by Benjamin Herrenschmidt
It could also be that yaboot put things in less than optimal spots
Well, the only curious thing is that it starts allocation at 48MB. But I suppose that's for a good reason - OFW and yaboot have to all fit into the same tiny 128MB address space after all.
Assuming it's trying to stick it on top of initrd, there's indeed not
enough space for > 9 MiB.

Regards,
Andreas
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
--
To unsubscribe, e-mail: opensuse-ppc+***@opensuse.org
To contact the owner, e-mail: opensuse-ppc+***@opensuse.org
Continue reading on narkive:
Loading...