#linux #build #makefile
#linux #сборка #makefile
Вопрос:
Я попытался собрать ядро для версии «RHEL: 2.6.18.128-el5». Я установил исходные файлы rpm, также используя $ rpm -ivh 2.6.18.128-el5.src.rpm, хотя он показывал некоторые предупреждения, я думал, что он установлен правильно. Затем я попытался
$ cd /usr/src/redhat/SPECS ; rpmbuild -bp kernel*spec
и он скопировал все файлы исправлений в исходный код.
Затем я запустил процесс следующим образом:
[root@localhost 2.6.18-128.el5-i686]# make menuconfig
scripts/kconfig/mconf arch/i386/Kconfig
#
# configuration written to .VVV
#
#
# configuration written to .config
#
*** End of Linux kernel configuration.
*** Execute 'make' to build the kernel or try 'make help'.
[root@localhost 2.6.18-128.el5-i686]# make
scripts/kconfig/conf -s arch/i386/Kconfig
CHK include/linux/version.h
CHK include/linux/utsrelease.h
make[1]: *** No rule to make target `init/main.o', needed by `init/built-in.o'. Stop.
make: *** [init] Error 2
Кто-нибудь может поделиться подробностями о том, «где ошибка обнаруживается в процедуре и как ее исправить?
Ответ №1:
это потому, что какой-то файл отсутствует, и правило написано для этого отсутствующего файла в файле makefile. не удается найти main.o, необходимый встроенному.o это означает, что какой-то файл, подобный main.cpp отсутствует, и поэтому правило для main.cpp для main.o в makefile не выполняется.
Ответ №2:
Разве вы не должны делать make bzImage
or make modules
вместо чистого make
?
Проверьте это сообщение.