0

对于一个研究项目,我需要将不同的加密函数(PRNG、SHA1、对称加密/解密)合并到 u-boot 的 MLO 部分。

我的问题:

1.) 以前有人做到过吗?

2.)你们知道这甚至可能在 MLO 的有限大小和 libtomcrypt 的大小方面是可能的吗?

3.) 除了将它们从 /usr/include/ 复制到 {u-boot-src}/include/ 的直接方式之外,有人知道解决丢失 *.h 文件错误的优雅方法吗?

非常感谢。

make输出:

arch/arm/cpu/armv7/omap-common/libomap-common.o:在函数selectSecretBytes': /home/andre/tmp/working/chipsee/u-boot-ics-chipsee-panda-0524/arch/arm/cpu/armv7/omap-common/hwinit-common.c:777: undefined reference toregister_prng' /home/andre/tmp/working/chipsee/u-boot-ics-chipsee-panda-0524/arch/arm/cpu /armv7/omap-common/hwinit-common.c:778:未定义对find_prng' /home/andre/tmp/working/chipsee/u-boot-ics-chipsee-panda-0524/arch/arm/cpu/armv7/omap-common/hwinit-common.c:778: undefined reference torng_make_prng'/home/andre/tmp/working/chipsee/u-boot-ics-chipsee-panda-0524/arch/arm/cpu/armv7 的引用/omap-common/hwinit-common.c:779:未定义对error_to_string' /home/andre/tmp/working/chipsee/u-boot-ics-chipsee-panda-0524/arch/arm/cpu/armv7/omap-common/hwinit-common.c:783: undefined reference tofortuna_start 的引用'/home/andre/tmp/working/chipsee/u-boot-ics-chipsee-panda-0524/arch/arm/cpu/armv7/omap -common/hwinit-common.c:784:未定义对error_to_string' /home/andre/tmp/working/chipsee/u-boot-ics-chipsee-panda-0524/arch/arm/cpu/armv7/omap-common/hwinit-common.c:788: undefined reference tofortuna_add_entropy'/home/andre/tmp/working/chipsee/u-boot-ics-chipsee-panda-0524/arch/arm/cpu/armv7/omap-common 的引用/hwinit-common.c:789: 未定义的引用error_to_string' /home/andre/tmp/working/chipsee/u-boot-ics-chipsee-panda-0524/arch/arm/cpu/armv7/omap-common/hwinit-common.c:793: undefined reference tofortuna_ready'/home/andre/tmp/working/chipsee/u-boot-ics-chipsee-panda-0524/arch/arm/cpu/armv7/omap-common/hwinit-common.c:794:未定义对error_to_string' /home/andre/tmp/working/chipsee/u-boot-ics-chipsee-panda-0524/arch/arm/cpu/armv7/omap-common/hwinit-common.c:797: undefined reference tofortuna_read 的引用/home/andre/tmp/working/chipsee/u-boot-ics-chipsee-panda-0524/arch/arm/cpu/armv7/omap-common/hwinit-common.c:805:未定义对fortuna_done' /home/andre/tmp/working/chipsee/u-boot-ics-chipsee-panda-0524/arch/arm/cpu/armv7/omap-common/hwinit-common.c:806: undefined reference toerror_to_string'/home的引用/andre/tmp/working/chipsee/u-boot-ics-chipsee-panda-0524/arch/arm/cpu/armv7/omap-common/hwinit-common.c:816:未定义对fortuna_desc' arch/arm/cpu/armv7/omap-common/libomap-common.o: In functioncreateKey'的引用:/home/ andre/tmp/working/chipsee/u-boot-ics-chipsee-panda-0524/arch/arm/cpu/armv7/omap-common/hwinit-common.c:1088:对register_hash' /home/andre/tmp/working/chipsee/u-boot-ics-chipsee-panda-0524/arch/arm/cpu/armv7/omap-common/hwinit-common.c:1094: undefined reference tofind_hash'/home/andre/的未定义引用tmp/working/chipsee/u-boot-ics-chipsee-panda-0524/arch/arm/cpu/armv7/omap-common/hwinit-common.c:1104:未定义参考sha1_process' /home/andre/tmp/working/chipsee/u-boot-ics-chipsee-panda-0524/arch/arm/cpu/armv7/omap-common/hwinit-common.c:1114: undefined reference tosha1_desc'/home/andre/tmp/working/chipsee/u-boot-ics-chipsee-panda-0524/arch/arm/cpu/armv7/omap-common/hwinit-common.c:1114:未定义对`hash_descriptor的引用' arm-none-linux-gnueabi-ld: BFD (Sourcery G++ Lite 2011.03-41) 2.20.51.20100809 断言失败 /scratch/janisjo/arm-linux-lite/obj/binutils-src-2011.03-41-arm-none- linux-gnueabi-i686-pc-linux-gnu/bfd/elf32-arm.c:13036 arm-none-linux-gnueabi-ld: BFD (Sourcery G++ Lite 2011.03-41) 2.20.51.20100809 断言失败 /scratch/janisjo/ arm-linux-lite/obj/binutils-src-2011.03-41-arm-none-linux-gnueabi-i686-pc-linux-gnu/bfd/elf32-arm.c:13036 arm-none-linux-gnueabi-ld : BFD (Sourcery G++ Lite 2011.03-41) 2.20.51.20100809 断言失败 /scratch/janisjo/arm-linux-lite/obj/binutils-src-2011.03-41-arm-none-linux-gnueabi-i686-pc-linux- gnu/bfd/elf32-arm.c:13036 arm-none-linux-gnueabi-ld:BFD(Sourcery G++ Lite 2011.03-41)2.20.51.20100809 断言失败/scratch/janisjo/arm-linux-lite/obj/binutils-src-2011.03-41-arm-none- linux-gnueabi-i686-pc-linux-gnu/bfd/elf32-arm.c:13036 arm-none-linux-gnueabi-ld: BFD (Sourcery G++ Lite 2011.03-41) 2.20.51.20100809 断言失败 /scratch/janisjo/ arm-linux-lite/obj/binutils-src-2011.03-41-arm-none-linux-gnueabi-i686-pc-linux-gnu/bfd/elf32-arm.c:13036 arm-none-linux-gnueabi-ld : BFD (Sourcery G++ Lite 2011.03-41) 2.20.51.20100809 断言失败 /scratch/janisjo/arm-linux-lite/obj/binutils-src-2011.03-41-arm-none-linux-gnueabi-i686-pc-linux- gnu/bfd/elf32-arm.c:13036 arm-none-linux-gnueabi-ld: BFD (Sourcery G++ Lite 2011.03-41) 2.20.51.20100809 断言失败/scratch/janisjo/arm-linux-lite/obj/binutils-源代码-2011。03-41-arm-none-linux-gnueabi-i686-pc-linux-gnu/bfd/elf32-arm.c:13036 arm-none-linux-gnueabi-ld:BFD(Sourcery G++ Lite 2011.03-41)2.20。 51.20100809 断言失败 /scratch/janisjo/arm-linux-lite/obj/binutils-src-2011.03-41-arm-none-linux-gnueabi-i686-pc-linux-gnu/bfd/elf32-arm.c:13036 arm -none-linux-gnueabi-ld: BFD (Sourcery G++ Lite 2011.03-41) 2.20.51.20100809 断言失败/scratch/janisjo/arm-linux-lite/obj/binutils-src-2011.03-41-arm-none-linux- gnueabi-i686-pc-linux-gnu/bfd/elf32-arm.c:13036 arm-none-linux-gnueabi-ld: BFD (Sourcery G++ Lite 2011.03-41) 2.20.51.20100809 断言失败 /scratch/janisjo/arm- linux-lite/obj/binutils-src-2011.03-41-arm-none-linux-gnueabi-i686-pc-linux-gnu/bfd/elf32-arm.c:13036 arm-none-linux-gnueabi-ld: BFD (Sourcery G++ Lite 2011.03-41) 2.20.51。20100809 断言失败 /scratch/janisjo/arm-linux-lite/obj/binutils-src-2011.03-41-arm-none-linux-gnueabi-i686-pc-linux-gnu/bfd/elf32-arm.c:13036 arm -none-linux-gnueabi-ld: BFD (Sourcery G++ Lite 2011.03-41) 2.20.51.20100809 断言失败/scratch/janisjo/arm-linux-lite/obj/binutils-src-2011.03-41-arm-none-linux- gnueabi-i686-pc-linux-gnu/bfd/elf32-arm.c:13036 arm-none-linux-gnueabi-ld: BFD (Sourcery G++ Lite 2011.03-41) 2.20.51.20100809 断言失败 /scratch/janisjo/arm- linux-lite/obj/binutils-src-2011.03-41-arm-none-linux-gnueabi-i686-pc-linux-gnu/bfd/elf32-arm.c:13291 /bin/sh: Zeile 1: 20550 Speicherzugriffsfehler ( Speicherabzug geschrieben) arm-none-linux-gnueabi-ld -pie -T u-boot.lds -Bstatic -Ttext 0x80E80000 $UNDEF_SYM arch/arm/cpu/armv7/start.o --start-group api/libapi.o arch /arm/cpu/armv7/libarmv7.o arch/arm/cpu/armv7/omap-common/libomap-common.o arch/arm/cpu/armv7/omap4/libomap4.o arch/arm/lib/libarm.o common/libcommon.o disk/libdisk.o驱动程序/bios_emulator/libatibiosemu.o 驱动程序/block/libblock.o 驱动程序/dma/libdma.o 驱动程序/fpga/libfpga.o 驱动程序/gpio/libgpio.o 驱动程序/hwmon/libhwmon.o 驱动程序/i2c/libi2c.o 驱动程序/input/libinput.o 驱动程序/misc/libmisc.o 驱动程序/mmc/libmmc.o 驱动程序/mtd/libmtd.o 驱动程序/mtd/nand/libnand.o 驱动程序/mtd/oneenand/libonenand.o 驱动程序/mtd/spi /libspi_flash.o 驱动程序/mtd/ubi/libubi.o 驱动程序/net/libnet.o 驱动程序/net/phy/libphy.o 驱动程序/pci/libpci.o 驱动程序/pcmcia/libpcmcia.o 驱动程序/power/libpower.o驱动程序/rtc/librtc.o 驱动程序/serial/libserial.o 驱动程序/spi/libspi.o 驱动程序/twserial/libtws.o 驱动程序/usb/eth/libusb_eth.o 驱动程序/usb/gadget/libusb_gadget.o 驱动程序/usb/主机/libusb_host。o 驱动程序/usb/musb/libusb_musb.o 驱动程序/usb/phy/libusb_phy.o 驱动程序/usb/ulpi/libusb_ulpi.o 驱动程序/视频/libvideo.o 驱动程序/watchdog/libwatchdog.o fs/cramfs/libcramfs.o fs /ext2/libext2fs.o fs/fat/libfat.o fs/fdos/libfdos.o fs/jffs2/libjffs2.o fs/reiserfs/libreiserfs.o fs/ubifs/libubifs.o fs/yaffs2/libyaffs2.o lib/ libfdt/libfdt.o lib/libgeneric.o lib/lzma/liblzma.o lib/lzo/liblzo.o lib/zlib/libz.o net/libnet.o post/libpost.o board/ti/panda/libpanda.o --end-group /home/andre/tmp/working/chipsee/u-boot-ics-chipsee-panda-0524/arch/arm/lib/eabi_compat.o -L /opt/CodeSourcery/Sourcery_G++_Lite/bin /../lib/gcc/arm-none-linux-gnueabi/4.5.2/armv4t -lgcc -Map u-boot.map -o u-boot make[1]:o fs/fat/libfat.o fs/fdos/libfdos.o fs/jffs2/libjffs2.o fs/reiserfs/libreiserfs.o fs/ubifs/libubifs.o fs/yaffs2/libyaffs2.o lib/libfdt/libfdt.o lib/libgeneric.o lib/lzma/liblzma.o lib/lzo/liblzo.o lib/zlib/libz.o net/libnet.o post/libpost.o board/ti/panda/libpanda.o --end-group /home/andre/tmp/working/chipsee/u-boot-ics-chipsee-panda-0524/arch/arm/lib/eabi_compat.o -L /opt/CodeSourcery/Sourcery_G++_Lite/bin/../lib /gcc/arm-none-linux-gnueabi/4.5.2/armv4t -lgcc -Map u-boot.map -o u-boot make[1]:o fs/fat/libfat.o fs/fdos/libfdos.o fs/jffs2/libjffs2.o fs/reiserfs/libreiserfs.o fs/ubifs/libubifs.o fs/yaffs2/libyaffs2.o lib/libfdt/libfdt.o lib/libgeneric.o lib/lzma/liblzma.o lib/lzo/liblzo.o lib/zlib/libz.o net/libnet.o post/libpost.o board/ti/panda/libpanda.o --end-group /home/andre/tmp/working/chipsee/u-boot-ics-chipsee-panda-0524/arch/arm/lib/eabi_compat.o -L /opt/CodeSourcery/Sourcery_G++_Lite/bin/../lib /gcc/arm-none-linux-gnueabi/4.5.2/armv4t -lgcc -Map u-boot.map -o u-boot make[1]:o -L /opt/CodeSourcery/Sourcery_G++_Lite/bin/../lib/gcc/arm-none-linux-gnueabi/4.5.2/armv4t -lgcc -Map u-boot.map -o u-boot make [1]:o -L /opt/CodeSourcery/Sourcery_G++_Lite/bin/../lib/gcc/arm-none-linux-gnueabi/4.5.2/armv4t -lgcc -Map u-boot.map -o u-boot make [1]:* [u-boot] Fehler 139 品牌 [1]: Verlasse Verzeichnis '/home/andre/tmp/working/chipsee/u-boot-ics-chipsee-panda-0524' 品牌: * [omap4_panda] Fehler 2

4

1 回答 1

0

1.) 以前有人做到过吗?

我没有。

2.)你们知道这甚至可能在 MLO 的有限大小和 libtomcrypt 的大小方面是可能的吗?

libtomcrypt似乎几乎被遗弃了。可能有更好的选择。买者自负。

3.) 除了将它们从 /usr/include/ 复制到 {u-boot-src}/include/ 的直接方式之外,有人知道解决丢失 *.h 文件错误的优雅方法吗?

用于--sysroot传递根目录或SYSROOTarm 头文件和库。在 下SYSROOT,应该有一个include/and lib,编译器和链接器会找到所需的头文件和库。

或者,使用 传递标头路径-I和使用-L.

于 2013-10-06T04:30:04.250 回答