This is a simple example how to statically link printk into initram.
It grows initram by incredible 2000 bytes here. So yes, this is a solution for now.
Signed-off-by: Stefan Reinauer stepan@coresystems.de
Index: mainboard/emulation/qemu-x86/Makefile =================================================================== --- mainboard/emulation/qemu-x86/Makefile (revision 459) +++ mainboard/emulation/qemu-x86/Makefile (working copy) @@ -39,11 +39,14 @@ #
INITRAM_OBJ = $(obj)/mainboard/$(MAINBOARDDIR)/initram.o +INITRAM_OBJ := $(INITRAM_OBJ) $(obj)/lib/console.o +INITRAM_OBJ := $(INITRAM_OBJ) $(obj)/lib/vtxprintf.o +INITRAM_OBJ := $(INITRAM_OBJ) $(obj)/lib/uart8250.o
$(obj)/linuxbios.initram: $(obj)/stage0.init $(obj)/stage0.o $(INITRAM_OBJ) $(Q)# initram links against stage0 $(Q)printf " LD $(subst $(shell pwd)/,,$(@))\n" - $(Q)$(LD) -R $(obj)/stage0.o -Ttext 0x80000 $(INITRAM_OBJ) \ + $(Q)$(LD) -Ttext 0x80000 $(INITRAM_OBJ) \ --entry=main -o $(obj)/linuxbios.initram.o $(Q)printf " OBJCOPY $(subst $(shell pwd)/,,$(@))\n" $(Q)$(OBJCOPY) -O binary $(obj)/linuxbios.initram.o \