DSM 6.1이 포함된 Synology DS214에 Linux 3.2.40 헤더를 설치하는 방법은 무엇입니까?

DSM 6.1이 포함된 Synology DS214에 Linux 3.2.40 헤더를 설치하는 방법은 무엇입니까?

크로스 컴파일에 지쳤고 이미 gccSynology DiskStation DS214에서 DSM 6.1을 사용하여 작업(크로스 컴파일)하고 있으므로 처음에는 비어 있던 DiskStation에서 실행되는 Linux 버전용 Linux 헤더를 설치하려고 했습니다 /usr/include. 하나 있다개발자를 위한 Synology의 테이크킷하지만 /usr/includecreate a의 linux/version.h헤더는 LINUX_VERSION_CODE=132636주어진 3.2.40보다 훨씬 낮습니다 uname -a. 아마도 이는 툴킷의 DSM 6.1 버전과 5.2 버전 간의 불일치 때문일 수 있습니다. DSM을 5.2로 다운그레이드하는 것은 선택 사항이 아니며 불가능할 수도 있습니다.

sudo make headers_install다음과 같은 이유로 DiskStation의 Linux 3.2.40 소스 실행이 실패합니다.

$ sudo env CFLAGS="-mfloat-abi=hard -mfpu=vfpv3-d16 -I/usr/include" \
CPPFLAGS="-mfloat-abi=hard -mfpu=vfpv3-d16 -I /usr/include" \
CXXFLAGS="-mfloat-abi=hard-mfpu=vfpv3-d16 -I/usr/include"\
LDFLAGS="-mfloat-abi=hard-mfpu=vfpv3-d16" \
headers_install \ 만들기
CFLAGS="-mfloat-abi=hard -mfpu=vfpv3-d16 -I/usr/include" \
CPPFLAGS="-mfloat-abi=hard -mfpu=vfpv3-d16 -I /usr/include" \
CXXFLAGS="-mfloat-abi=hard-mfpu=vfpv3-d16 -I/usr/include"\
LDFLAGS="-mfloat-abi=hard-mfpu=vfpv3-d16" \
INSTALL_HDR_PATH=/usr
  CHK 포함/linux/version.h
  HOSTCC 스크립트/기본/fixdep
/opt/toolchain/include/features.h:434:0에 포함된 파일에는,
                 /opt/toolchain/include/sys/types.h:25에서,
                 scripts/basic/fixdep.c:106에서:
/opt/toolchain/include/gnu/stubs.h:7:29: 치명적인 오류: gnu/stubs-soft.h: 해당 파일이나 디렉터리가 없습니다.
 # 포함하다
                             ^
컴파일이 종료됩니다.
make[1]: *** [scripts/basic/fixdep] 오류 1
make: *** [scripts_basic] 오류 2

등 의 기타 빌드 설정이 binutils선택되어 make문제 없이 포함되지 않습니다. 최신 버전의 Linux 3.2.x인 3.2.86에서도 동일한 문제가 발생합니다.-mfloat-abignu/stubs-soft.h

아마도 더 쉬운 방법이 있다는 것을 알고 있습니다. 설정은 대부분 크로스 컴파일과 함께 작동해야 하며 제가 하려는 작업에 대한 사용 사례는 없지만 작업이 어떻게 작동하는지, 무엇을 할 수 없는지 이해하고 싶습니다. 나는하려고 노력하고있다.

관련 정보