如何在配备 DSM 6.1 的 Synology DS214 上安装 Linux 3.2.40 标头?

如何在配备 DSM 6.1 的 Synology DS214 上安装 Linux 3.2.40 标头?

由于我厌倦了交叉编译,并且已经gcc在我的 Synology DiskStation DS214 上使用 DSM 6.1 进行了工作(交叉编译),因此我想安装在 DiskStation 上运行的 Linux 版本的 Linux 标头,/usr/include该标头最初是空的。有一个Synology 为开发者提供的 takekit,但是/usr/includecreate a中的标linux/version.hLINUX_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 =硬-mfpu = vfpv3-d16 -I / usr / include”\
LDFLAGS="-mfloat-abi=硬-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 =硬-mfpu = vfpv3-d16 -I / usr / include”\
LDFLAGS="-mfloat-abi=硬-mfpu=vfpv3-d16" \
INSTALL_HDR_PATH=/usr
  CHK include/linux/version.h
  HOSTCC 脚本/基本/fixdep
在 /opt/toolchain/include/features.h:434:0 包含的文件中,
                 来自/opt/toolchain/include/sys/types.h:25,
                 来自脚本/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

我知道可能有一种更简单的方法,该设置应该主要与交叉编译一起工作,并且我想做的事情没有用例,但我想了解事情是如何工作的或者为什么不可能做我想做的事。

相关内容