Buildroot:カーネルヘッダファイルに基づいてfbiをコンパイルする

Buildroot:カーネルヘッダファイルに基づいてfbiをコンパイルする

generic-packageBuildroot 2019.02.1に追加しています。パッケージ(fbi)<asm/page.h>はに含まれていますが、fbtools.cヘッダーはで使用できませんoutput/target。このパッケージをコンパイルすると、次のエラーが発生します。

$ make fbi-rebuild
[...]
  CC      fbi.o
  CC      fbtools.o
fbtools.c:24:30: fatal error: asm/page.h: No such file or directory
 #include <asm/page.h>
                              ^
compilation terminated.
[...]

FBI用のパッチを追加し、必要なパッケージを選択しました。

$ grep -E '^[^#].*(HEADERS|FBI|JPEG)' .config
 BR2_KERNEL_HEADERS_VERSION=y
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 BR2_DEFAULT_KERNEL_HEADERS="4.9.17"
 BR2_PACKAGE_LINUX_HEADERS=y
 BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0=y
 [...]
 BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9=y
 BR2_TOOLCHAIN_HEADERS_AT_LEAST="4.9"
 BR2_PACKAGE_FBI=y
 BR2_PACKAGE_JPEG=y
 BR2_PACKAGE_JPEG_SIMD_SUPPORT=y
 BR2_PACKAGE_LIBJPEG=y
 BR2_PACKAGE_HAS_JPEG=y
 BR2_PACKAGE_PROVIDES_JPEG="libjpeg" 

$ for i in `ls package/fbi/000*`; do echo $i; cat $i | grep -E '^[-+][^-+]'; done
 package/fbi/0001-fix-verion.patch
 -    fprintf(stderr, "fbi version " VERSION
 +    fprintf(stderr, "fbi version 1.32 " 
 package/fbi/0002-fix-makefile.patch
 -       @echo -e "$(make-config-q)" > $@
 +       @echo "$(make-config-q)" > $@

$ find output/ -name page.h
 output/build/linux-headers-4.9.17/fs/nilfs2/page.h
 output/build/linux-headers-4.9.17/include/asm-generic/page.h
 [...]
 output/build/linux-headers-4.9.17/arch/score/include/asm/page.h

私が使用しているカーネル(また4.9.17)はBuildrootの一部ではありませんが、それが問題になるとは思いません。

Buildrootのカーネルヘッダをコンパイルする正しい方法は何ですか?

https://www.kraxel.org/releases/fbida/fbi_1.31.tar.gz

ベストアンサー1

ヘッダーをルートファイルシステムに統合しないと、ヘッダーをコンパイルすることは不可能です。 BuildrootツリーでFBIをコンパイルしようとしましたが、あまりにも多くの努力が必要でした。

fbvすでにBuildrootにいるので、FBIの代わりに試しています。

おすすめ記事