현재 Jammy Jellyfish의 헤더를 컴파일하려고 하는데 다음 오류가 발생합니다.
/usr/src/linux-headers-5.15.0-25-generic$ sudo make
SYNC include/config/auto.conf.cmd
make[1]: *** No rule to make target 'arch/x86/entry/syscalls/syscall_32.tbl', needed by 'arch/x86/include/generated/uapi/asm/unistd_32.h'. Stop.
make: *** [arch/x86/Makefile:213: archheaders] Error 2
make 명령을 실행하기 전에 이전 .config 파일 /boot/config-5.15.0-25-generic을 /usr/src/linux-headers-5.15.0-25-generic/의 .config 파일에 복사했습니다.
이 오류가 있는 게시물을 몇 개 봤지만 해결 방법에 대한 답변을 본 적이 없습니다. 더 많은 정보가 필요하면 알려주시기 바랍니다.
감사해요
답변1
여기에 해결책을 게시할 수 있었습니다https://stackoverflow.com/questions/39107811/no-rule-to-make-target-arch-x86-entry-syscalls-syscall-32-tbl-needed-by-arch
Linux Mint Vanessa용 HP PC 커널 모듈을 구축하려고 합니다. 먼저, 빌드하려는 폴더 경로에서 모든 공백(있는 경우)을 제거하십시오. 또한 테스트를 위해 데비안 컴퓨터에서 빌드해 보았습니다. 여기 내 빌드가 있습니다. 솔루션을 제공하길 바랍니다. 프로젝트 Makefile을 편집하세요.
데비안/민트: 원본
#
# Makefile for hpuefi loadable kernel module
#
KVERS:=$(shell uname -r)
KSRC:=/lib/modules/$(KVERS)/build
KDIR:=/lib/modules/$(KVERS)/kernel/drivers/misc
DESTDIR:=
TARGET=hpuefi
obj-m:=$(TARGET).o
default:
$(MAKE) -C $(KSRC) SUBDIRS=$(PWD) modules
clean:
$(RM) .*.cmd *.mod.c *.o *.ko *.order *.symvers -r .tmp*
install:
install -D -m 0644 $(TARGET).ko $(DESTDIR)$(KDIR)/$(TARGET).ko
데비안 이전
user@machine:/media/user/usbdisk/SP58029/hpuefi-mod-1.0.3-deb$ make
make -C /lib/modules/5.10.0-19-amd64/build SUBDIRS=/media/user/usbdisk/SP58029/hpuefi-mod-1.0.3-deb modules
make[1]: Entering directory '/usr/src/linux-headers-5.10.0-19-amd64'
/usr/src/linux-headers-5.10.0-19-common/Makefile:225: =============== ERROR ==============
/usr/src/linux-headers-5.10.0-19-common/Makefile:226: 'SUBDIRS' was removed in Linux 5.3
/usr/src/linux-headers-5.10.0-19-common/Makefile:227: Use 'M=' or 'KBUILD_EXTMOD=' instead
/usr/src/linux-headers-5.10.0-19-common/Makefile:228: ====================================
/usr/src/linux-headers-5.10.0-19-common/Makefile:229: *** .. Stop.
make[1]: *** [/usr/src/linux-headers-5.10.0-19-common/Makefile:185: __sub-make] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-5.10.0-19-amd64'
make: *** [Makefile:13: default] Error 2
데비안 수리
default:
$(MAKE) -C $(KSRC) M=$(PWD) modules
리눅스 민트 이전
mint@mint:/media/mint/DAC4798DC4796D1F/swsetup/SP58029/HP_Utilities_for_Linux/hpuefi-mod-1.0.3$ sudo make
make -C /lib/modules/5.15.0-41-generic/build M= modules
make[1]: Entering directory '/usr/src/linux-headers-5.15.0-41-generic'
make[2]: *** No rule to make target 'arch/x86/entry/syscalls/syscall_32.tbl', needed by 'arch/x86/include/generated/uapi/asm/unistd_32.h'. Stop.
make[1]: *** [arch/x86/Makefile:213: archheaders] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-5.15.0-41-generic'
make: *** [Makefile:13: default] Error 2
리눅스 민트 수정사항:
default:
$(MAKE) -C $(KSRC) M=$(shell pwd) modules