By default, the OpenFirmware (IBM p Servers) reserved space for loading the network boot image (inst64) is about 12Mb, but, in OpenSuse 11.0, the inst64 has about 16Mb of size. There are patches posted for mainline kernel to allow booting very large zImage files. They require that firmware relocates itself to a different memory address. But firmware refuses to relocate itself. Instead, it either truncates the downloaded file, or it just drops back to firmware prompt. Recently a bug was opened on the Novell Bugzilla where, I hope, we introduce a fix to this issue.
While a proper solution isn’t ready, we have a workaround for this issue. We need to change the real-base value to the OpenSuSE boot image size. This is done, manually, by setting it via setenv line command and by instruct Openfirmware to use more memory than 12Mb… you can safely enlarge openfirmware memory follow up this steps.
- when you see the “sms menu”, press 8 to get firmware prompt, hit a command to print the enviromment variables:
0 > printenv real-base ------ Partition: common ----- Signature: 0x70 ------- real-base c00000 c00000
- where realbase is c00000 (12MB)… to change realbase to use 1000000 (16MB), hit:
0 > setenv real-base 1000000
- and reboot, you can safely load inst64 with 16MB. I hope this tip will help you until we find a solution to it… more about real-base values here http://www.solinno.co.uk/7043-140/getstarted.php
[...] based machine. My friend Carlos figured out what the problem was, and he posted on his blog a solution for that problem. Thanks for your time and patience checking this out, [...]
Pingback by Problems booting OpenSUSE on IBM system p machines « Oh Brave New World! — July 22, 2008 @ 1:48 pm
[...] real-base just works in IVM August 14, 2008 at 5:00 pm | In en_US | Recently I did a post (”Changing OpenFirmware real-base”) about how-to change OpenFirmware real-base. [...]
Pingback by changing real-base just works in IVM « CarlosCosta.org — August 14, 2008 @ 5:01 pm