Created a a CD image with hdiutil. Formatted the slice with HFS+. Blessed the right folder. Basically OF considers the made CD a "bootable CD". Moreover, I can boot everything fine if I do something like...
boot cd:,\ekp++\BootX <--- note that BootX is what bless(8) copies my bootinfo script as to the image. By "everything fine", I mean I get the gray screen, then it says "Booting ELF" and I see the text printed by my "kernel".
If I boot up while holding "C", I get the gray screen, I can hear the CDROM spin up, then I get kicked back to the white and black OF screen and there is an error about memory access violation.
Is there some technical difference between both boot-ups? Maybe the OF entry is passed differently? Maybe stdout handle isn't open? Help :(.
So what works:
0> boot cd:,\ekp++\kernel (kernel is an ELF image)
0> boot cd:,\ekp++\BootX (BootX is a bootinfo file)
0> boot cd:,\\:tbxi
Holding down the 'C' key executes code to boot whatever is set for the cd alias (devalias cd) instead of using the normal "boot path search" mechanism and you say executing from the CLI works so I am scratching my head. You might try turning on 'setenv aapl,debug-bps' and/or 'setenv aapl,debug-mb' then see what happens as you boot.