对于研究项目,我需要将不同的加密函数(PRNG,SHA1,对称加密/解密)合并到u-boot的MLO部分。
我的问题:
1。)有人之前有过这个吗?
2。)你们是否知道这对于MLO的有限大小和libtomcrypt的大小甚至是可能的?
3。)有人知道一种优雅的方法来解决丢失* .h文件错误,除了直接复制它们的方式fomr / usr / include /到{u-boot-src} / include /?
非常感谢。
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 to
register_prng' /home/andre/tmp/working/chipsee/u-boot-ics-chipsee-panda-0524/arch/arm/cpu/armv7/omap-common/hwinit-common.c:778:对{{1}的未定义引用} rng_make_prng' /home/andre/tmp/working/chipsee/u-boot-ics-chipsee-panda-0524/arch/arm/cpu/armv7/omap-common/hwinit-common.c:779:对{{1}的未定义引用} fortuna_start' /home/andre/tmp/working/chipsee/u-boot-ics-chipsee-panda-0524/arch/arm/cpu/armv7/omap-common/hwinit-common.c:784:对{{1}的未定义引用} fortuna_add_entropy' /home/andre/tmp/working/chipsee/u-boot-ics-chipsee-panda-0524/arch/arm/cpu/armv7/omap-common/hwinit-common.c:789:对{{1}的未定义引用} fortuna_ready' /home/andre/tmp/working/chipsee/u-boot-ics-chipsee-panda-0524/arch/arm/cpu/armv7/omap-common/hwinit-common.c:794:对{{1}的未定义引用} fortuna_read' /home/andre/tmp/working/chipsee/u-boot-ics-chipsee-panda-0524/arch/arm/cpu/armv7/omap-common/hwinit-common.c:805:对{{1}的未定义引用} error_to_string' /home/andre/tmp/working/chipsee/u-boot-ics-chipsee-panda-0524/arch/arm/cpu/armv7/omap-common/hwinit-common.c:816:对{{1}的未定义引用} createKey&#39 ;: /home/andre/tmp/working/chipsee/u-boot-ics-chipsee-panda-0524/arch/arm/cpu/armv7/omap-common/hwinit-common.c:1088:对{{1}的未定义引用} find_hash' /home/andre/tmp/working/chipsee/u-boot-ics-chipsee-panda-0524/arch/arm/cpu/armv7/omap-common/hwinit-common.c:1104:对{{1}的未定义引用} sha1_desc' /home/andre/tmp/working/chipsee/u-boot-ics-chipsee-panda-0524/arch/arm/cpu/armv7/omap-common/hwinit-common.c:1114:未定义引用`hash_descriptor&#39 ; 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-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-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 drivers / bios_emulator / libatibiosemu.o drivers / block / libblock.o drivers / dma / libdma.o drivers / fpga / libfpga.o drivers / gpio / libgpio.o drivers / hwmon / libhwmon.o drivers / i2c / libi2c.o drivers / input / libinput.o drivers / misc / libmisc.o drivers / mmc / libmmc.o drivers / mtd / libmtd.o drivers / mtd /nand/libnand.o drivers / mtd / onenand / libonenand.o drivers / mtd / spi / libspi_flash.o drivers / mtd / ubi / libubi.o drivers / net / libnet.o drivers / net / phy / libphy.o drivers /pci/libpci.o drivers / pcmcia / libpcmcia.o drivers / power / libpower.o drivers / rtc / librtc.o drivers / serial / libserial.o drivers / spi / libspi.o drivers / twserial / libtws.o drivers / USB / ETH /利布斯b_eth.o drivers / usb / gadget / libusb_gadget.o drivers / usb / host / libusb_host.o drivers / usb / musb / libusb_musb.o drivers / usb / phy / libusb_phy.o drivers / usb / ulpi / libusb_ulpi.o drivers / video / libvideo.o drivers / 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 - 你开机 make [1]: * [u-boot] Fehler 139 make [1]:Verlasse Verzeichnis' / home / andre / tmp / working / chipsee / u-boot-ics-chipsee-panda-0524' make:* [omap4_panda] Fehler 2
答案 0 :(得分:0)
1。)有人之前有过这个吗?
我没有。
2。)你们是否知道这对于MLO的有限大小和libtomcrypt的大小甚至是可能的?
libtomcrypt
似乎几乎被抛弃了。可能有更好的选择。注意事项。
3。)有人知道一种优雅的方法来解决丢失* .h文件错误,除了直接复制它们的方式fomr / usr / include /到{u-boot-src} / include /?
使用--sysroot
传递arm头文件和库的根目录或SYSROOT
。在SYSROOT
下,应该有include/
和lib
,编译器和链接器将找到所需的标头和库。
或者,使用-I
和库路径使用-L
传递标题路径。