Ich versuche gerade, einen Linux-Kernel neu zu erstellen, und ich experimentiere einige Schwierigkeiten.Das Erstellen der Linux-Kernel-.config-Datei macht den Quellordner unrein
Ich habe die .config mit make menuconfig geändert.
...
make[1]: Entering directory '/home/doe/build/linux'
CHK include/config/kernel.release
GEN ./Makefile
CHK include/generated/uapi/linux/version.h
CHK include/generated/utsrelease.h
Using /home/doe/workspace/linux as source for kernel
/home/doe/workspace/linux is not clean, please run 'make mrproper'
in the '/home/doe/workspace/linux' directory.
/home/doe/workspace/linux/Makefile:1027: recipe for target 'prepare3' failed
make[1]: *** [prepare3] Error 1
...
Dann habe ich versucht, machen mrproper. Es funktioniert gut und löscht meine .config-Datei aus meinem Build-Ordner. Ohne Überraschung kann ich nicht bauen, weil eine .config Datei fehlt.
Ich habe eine make defconfig gefolgt von einer make -j 8, nur um zu versuchen, mit einigen grundlegenden Konfigurationsdatei zu bauen.
...
HOSTCC scripts/mod/file2alias.o
HOSTLD scripts/mod/modpost
HOSTCC arch/x86/tools/relocs_32.o
HOSTCC arch/x86/tools/relocs_64.o
HOSTCC arch/x86/tools/relocs_common.o
Using /home/doe/workspace/linux as source for kernel
/home/doe/workspace/linux is not clean, please run 'make mrproper'
in the '/home/doe/workspace/linux' directory.
/home/doe/workspace/linux/Makefile:1027: recipe for target 'prepare3' failed
make[1]: *** [prepare3] Error 1
make[1]: *** Waiting for unfinished jobs....
HOSTLD arch/x86/tools/relocs
make[1]: *** wait: No child processes. Stop.
Makefile:152: recipe for target 'sub-make' failed
make: *** [sub-make] Error 2
Wie soll ich bauen, wenn das Generieren einer .config den Quellordner unrein macht?
suchen Ich vermute, dass es aufgrund einiger 'env' Setup sein kann. * Während der 'make menuconfig' geht es in den Pfad'/home/doe/build/linux' anstelle von '/ home/doe/workspace/linux'? *. Es wird immer empfohlen, dass Sie auch den Namen des Archs angeben (wie 'make ARCH = x86_64 menuconfig'), wenn Sie nicht exportiert haben. –
'export ARCH =; git clean -xfd && make _defconfig && make -j8' ('' ist ein Name Ihrer tatsächlichen defcofnig, und '' ist die Architektur in Verwendung, müssen Sie möglicherweise auch 'CROSS_COMPILE = ...' zuerst exportieren. –
0andriy