I want to build "ELF 64-bit LSB shared object", not "ELF 64-bit LSB executable"
I downloaded CentOS 5.5 (RedHat) recently, and I see that both on the LiveCD and on my hard drive, where installed, the Linux executable (vmlinuz...) is an ELF 64-bit LSB shared object. When building from sources, a make at the outermost level produces and Linux which is an ELF 64-bit executable, is much bigger than the shared object, and booting it fails with the message "Error 13: Invalid or unsupported executable format". Sounds like I'm missing something simple in my ingorance.
1. What I build is called vmlinux... instead of vmlinuz.... I tried to build vmlinuz but that's not a known symbol to "make".
2. I've seen on the web where somebody suggested a CONFIG_RELOCATABLE manifest for a different Linux/platform, but I don't see it or anything like it in .config.
3. I've looked for linker options, but they all seem to be geared towards handling different input formats, not output formats.