aarch64 CentOSでZFSをコンパイルする

aarch64 CentOSでZFSをコンパイルする

CentOS 7.7(64ビット)を実行しているラズベリーPy4でzfsをコンパイルしようとしています。私はここで提供された指示に従いました。https://github.com/zfsonlinux/zfs/wiki/Building-ZFSただし、次のエラーを克服することはできません。

checking kernel source version... 4.19.86-v8+
checking kernel file name for module symbols... Module.symvers
checking whether modules can be built... no
configure: error: 
    *** Unable to build an empty module.

以下は、全体のconfig.logへのリンクです。実際には理解できません。https://pastebin.com/Whmg6hFw

私のシステムに関するいくつかの背景情報は次のとおりです。

# uname -a
Linux localhost 4.19.86-v8+ #1 SMP PREEMPT Sat Dec 7 12:40:40 UTC 2019 aarch64 aarch64 aarch64 GNU/Linux

# rpm -qa | grep kernel
kernel-4.19.86_v8+-1.aarch64
kernel-devel-4.19.86_v8+-1.aarch64
kernel-headers-4.19.86_v8+-1.aarch64

# cat /etc/system-release
CentOS Linux release 7.7.1908 (AltArch)

私は公式のGitHubリポジトリで問題なくカーネルとそのrpmを直接コンパイルしました。 (これがバグの一部である場合に備えて – それは考えません。)https://github.com/raspberrypi/linux

助けてくれてありがとう。よろしくお願いします。

ベストアンサー1

ここにいてくれてありがとう。https://github.com/zfsonlinux/私はこの問題を解決しました。

kernel-develパッケージには、arm64の代わりにx86用にコンパイルされたスクリプトが含まれているようです。

# file /usr/src/kernels/4.19.86-v8+/basic/fixdep
basic/fixdep: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), BuildID[sha1]=f96cf37e4ab3abdfa90880655b262c4ae72c937a, for GNU/Linux 3.2.0, not stripped

ディレクトリ内の他のファイルの結果もsrcipts非常に似ています。

make scriptsカーネルソースディレクトリから実行することで問題が解決しました。

# cd /usr/src/kernels/4.19.86-v8+/
# make scripts
...

おすすめ記事