for a research project I need to incorporate different crypto functions (PRNG, SHA1, symmetric encryption/decryption) into the MLO part of u-boot.
My questions:
1.) Has someone achieved this before?
2.) Do you guys know it this is even possible regarding the limited size of the MLO and the size of libtomcrypt?
3.) Does someone know an elegant way of resolving missing *.h file-errors besides the straight forward way of copying them fomr /usr/include/ to {u-boot-src}/include/ ?
Thanks a lot.
make
output:
arch/arm/cpu/armv7/omap-common/libomap-common.o: In function
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: undefined reference tofind_prng' /home/andre/tmp/working/chipsee/u-boot-ics-chipsee-panda-0524/arch/arm/cpu/armv7/omap-common/hwinit-common.c:778: undefined reference to
rng_make_prng' /home/andre/tmp/working/chipsee/u-boot-ics-chipsee-panda-0524/arch/arm/cpu/armv7/omap-common/hwinit-common.c:779: 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:783: undefined reference to
fortuna_start' /home/andre/tmp/working/chipsee/u-boot-ics-chipsee-panda-0524/arch/arm/cpu/armv7/omap-common/hwinit-common.c:784: 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:788: undefined reference to
fortuna_add_entropy' /home/andre/tmp/working/chipsee/u-boot-ics-chipsee-panda-0524/arch/arm/cpu/armv7/omap-common/hwinit-common.c:789: 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:793: undefined reference to
fortuna_ready' /home/andre/tmp/working/chipsee/u-boot-ics-chipsee-panda-0524/arch/arm/cpu/armv7/omap-common/hwinit-common.c:794: 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:797: undefined reference to
fortuna_read' /home/andre/tmp/working/chipsee/u-boot-ics-chipsee-panda-0524/arch/arm/cpu/armv7/omap-common/hwinit-common.c:805: undefined reference tofortuna_done' /home/andre/tmp/working/chipsee/u-boot-ics-chipsee-panda-0524/arch/arm/cpu/armv7/omap-common/hwinit-common.c:806: undefined reference to
error_to_string' /home/andre/tmp/working/chipsee/u-boot-ics-chipsee-panda-0524/arch/arm/cpu/armv7/omap-common/hwinit-common.c:816: undefined reference tofortuna_desc' arch/arm/cpu/armv7/omap-common/libomap-common.o: In function
createKey': /home/andre/tmp/working/chipsee/u-boot-ics-chipsee-panda-0524/arch/arm/cpu/armv7/omap-common/hwinit-common.c:1088: undefined reference toregister_hash' /home/andre/tmp/working/chipsee/u-boot-ics-chipsee-panda-0524/arch/arm/cpu/armv7/omap-common/hwinit-common.c:1094: undefined reference to
find_hash' /home/andre/tmp/working/chipsee/u-boot-ics-chipsee-panda-0524/arch/arm/cpu/armv7/omap-common/hwinit-common.c:1104: undefined reference tosha1_process' /home/andre/tmp/working/chipsee/u-boot-ics-chipsee-panda-0524/arch/arm/cpu/armv7/omap-common/hwinit-common.c:1114: undefined reference to
sha1_desc' /home/andre/tmp/working/chipsee/u-boot-ics-chipsee-panda-0524/arch/arm/cpu/armv7/omap-common/hwinit-common.c:1114: undefined reference to `hash_descriptor' arm-none-linux-gnueabi-ld: BFD (Sourcery G++ Lite 2011.03-41) 2.20.51.20100809 assertion fail /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 assertion fail /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 assertion fail /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 assertion fail /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 assertion fail /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 assertion fail /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 assertion fail /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 assertion fail /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 assertion fail /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 assertion fail /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 assertion fail /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 assertion fail /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 assertion fail /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/libusb_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 -o u-boot 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