Ubuntu Jammy Jellyfishでヘッダーをコンパイル中にエラーが発生しました。

Ubuntu Jammy Jellyfishでヘッダーをコンパイル中にエラーが発生しました。

現在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カーネルモジュールを構築しようとしています。まず、ビルドするフォルダパスからすべてのスペース(存在する場合)を削除します。また、テストのためにDebianコンピュータでビルドしてみました。ここに私のビルドがあります。ソリューションを提供してください。プロジェクトMakefileを編集します。

Debian/ミント: オリジナル

#
# 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

Debian 移行

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

Debian 修理

default:
        $(MAKE) -C $(KSRC) M=$(PWD) modules

Linux Mintの移行

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

Linux Mintの修正:

default:
        $(MAKE) -C $(KSRC) M=$(shell pwd) modules

おすすめ記事