If the boot-loader were able to load an ELF file natively, i.e. read the ELF file vmlinuz and load only the sections marked "loadable", at the addresses specified (maybe with relocation), and pass as kernel command line argument which file it did load - then an OOPS would be able to read the non-"loadable" sections of the ELF file (containing the symbols) to display lines and file names (without blocking Mbytes of RAM).
Obviously a panic() may not be able to access the disk at that time.