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 대신 시도하고 있습니다 .

관련 정보