为 Beaglebone Black 构建 DAHDI
Build DAHDI for Beablebone Black
我正计划为 Beagleboneblack 构建 DAHDI
首先,我按照本教程完全为 BBB 构建了内核
http://elinux.org/Building_BBB_Kernel、
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- beaglebone_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- uImage dtbs
make ARCH=arm CROSS_COMPILE=arm-linux-gnu- uImage-dtb.am335x-boneblack modules
我使用了 armhf 的 linaro 工具链(CROSS_COMPILE=arm-linux-gnueabihf-)而不是指示的工具链。
然后我开始构建 DAHDI:
cd dahdi-linux-complete-2.10.1-rc2+2.10.1-rc2
cd linux/ # I build the dahdi only, not their tools
make KSRC=PATH_TO_MY_ABOVE_KERNEL
不幸的是,在编译 dahdi-base.c 时,进程以以下错误结束:
/home/working/dl/dahdi-linux-complete-2.10.1-rc2+2.10.1-rc2/linux/drivers/dahdi/dahdi-base.c:1: error: code model kernel not supported in the 32 bit mode
/home/working/dl/dahdi-linux-complete-2.10.1-rc2+2.10.1-rc2/linux/drivers/dahdi/dahdi-base.c:1: sorry, unimplemented: 64-bit mode not compiled in
我不知道为什么,因为我的 linaro 工具链是 32 位的
/home/working/dl/gcc-linaro-arm-linux-gnueabihf-4.7-2012.10-20121022_linux/bin/arm-linux-gnueabihf-gcc-4.7.3:
ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, stripped
我的 gnu gcc 工具链也是 32 位的。
/usr/bin/gcc: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped
如果有人有想法,将不胜感激。
最良好的问候。
Loi Dang Thanh
我做这个回答是为了确保遇到我的问题的其他人将来可以搜索并解决问题。
只需要在构建DAHDI的时候在make命令中多加2个ARGS,问题就很好解决了。
make KSRC=PATH_TO_MY_ABOVE_KERNEL ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
非常感谢 Miline 让我摆脱困境。
此致
来党.
我正计划为 Beagleboneblack 构建 DAHDI
首先,我按照本教程完全为 BBB 构建了内核
http://elinux.org/Building_BBB_Kernel、
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- beaglebone_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- uImage dtbs
make ARCH=arm CROSS_COMPILE=arm-linux-gnu- uImage-dtb.am335x-boneblack modules
我使用了 armhf 的 linaro 工具链(CROSS_COMPILE=arm-linux-gnueabihf-)而不是指示的工具链。
然后我开始构建 DAHDI:
cd dahdi-linux-complete-2.10.1-rc2+2.10.1-rc2
cd linux/ # I build the dahdi only, not their tools
make KSRC=PATH_TO_MY_ABOVE_KERNEL
不幸的是,在编译 dahdi-base.c 时,进程以以下错误结束:
/home/working/dl/dahdi-linux-complete-2.10.1-rc2+2.10.1-rc2/linux/drivers/dahdi/dahdi-base.c:1: error: code model kernel not supported in the 32 bit mode
/home/working/dl/dahdi-linux-complete-2.10.1-rc2+2.10.1-rc2/linux/drivers/dahdi/dahdi-base.c:1: sorry, unimplemented: 64-bit mode not compiled in
我不知道为什么,因为我的 linaro 工具链是 32 位的
/home/working/dl/gcc-linaro-arm-linux-gnueabihf-4.7-2012.10-20121022_linux/bin/arm-linux-gnueabihf-gcc-4.7.3: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, stripped
我的 gnu gcc 工具链也是 32 位的。
/usr/bin/gcc: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped
如果有人有想法,将不胜感激。
最良好的问候。
Loi Dang Thanh
我做这个回答是为了确保遇到我的问题的其他人将来可以搜索并解决问题。
只需要在构建DAHDI的时候在make命令中多加2个ARGS,问题就很好解决了。
make KSRC=PATH_TO_MY_ABOVE_KERNEL ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
非常感谢 Miline 让我摆脱困境。
此致
来党.