User Mode Linux
Hello all,
--------------------------------------------------------------------------------------------- I was trying to compile a UML kernel version 2.6.13-4. I updated the .config file using make xconfig ARCH=um and then I typed make ARCH=um The output of the same is given below. ---------------------------------------------------------------------------------------------- LD init/built-in.o LD .tmp_vmlinux1 arch/um/sys-i386/built-in.o: In function `__crc_kunmap': : multiple definition of `__crc_kunmap' arch/um/sys-i386/built-in.o: In function `__crc_kmap_atomic': : multiple definition of `__crc_kmap_atomic' arch/um/sys-i386/built-in.o: In function `__crc_kmap_atomic_to_page': : multiple definition of `__crc_kmap_atomic_to_page' arch/um/sys-i386/built-in.o: In function `__crc_kmap': : multiple definition of `__crc_kmap' collect2: ld returned 1 exit status KSYM .tmp_kallsyms1.S nm: '.tmp_vmlinux1': No such file No valid symbol. make: *** [.tmp_kallsyms1.S] Error 1 ______________________________________________________________________________________________ Can you please explain whats wrong and how should i proceed with building my UML kernel? Thank you |
You "updated" the config? You mean you compiled a native kernel, then reconfigured for uml?
If so, that might be the problem. Do a make mrproper and configure from scratch. Re-making for a differenct arch can leave old files lying around, which is probably why it's screwed up. One thing to note is that with 2.6 you can now configure and build in a different dir. This is handy as it keeps the src dir clean. You need a clean src so do a make mrproper first. Then, e.g. 'make O=../build-um ARCH=um xconfig' etc. Of course, you must specify the O=../whatever for each invocation of make. You can then build as many kernels as you like, building each in a different dir. (Note that you still need to run make from the kernel dir, not the dir you specify with O=). |
All times are GMT -5. The time now is 06:06 PM. |