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.
If you plan to rebuild your kernel you're better off studying some HOWTO's for the distribution you're working with rather than "winging it." Here is one on the CentOS wiki (probably a good choice) --> http://wiki.centos.org/HowTos/Custom_Kernel, but Google is your friend and may help you find more information.
Thanks for prompt
I had actually already followed the script you pointed to, but it would never complete. Turns out it was because I had set the value of CONFIG_LOG_BUF_SHIFT too high, and I didn't see that it was reporting an error. So on your advice I tried it again, and was able to make the needed adjustment. I now have a nice new set of .rpm's, hopefully I can install them.
|All times are GMT -5. The time now is 02:00 AM.|