Dear Iru,
welcome to coreboot!
Am Donnerstag, den 26.03.2015, 09:33 +0800 schrieb Iru Cai:
> I tried to use GRUB2 as a payload when building coreboot for ThinkPad X201,
> but it's too big to fit into the rom. The GRUB2 coreboot image without
> modules is 2.8M and >800K after compressing, it's still too big.
building GRUB directly, I get a different result.
$ git describe
grub-2.02-beta2-372-g5974d4b
$ ./autogen.sh
$ ./configure --with-platform=coreboot --enable-boot-time --enable-cache-stats
$ make
$ edit Makefile
Now adapt the rule `default_payload.elf`.
default_payload.elf: grub-mkstandalone grub-mkimage
pkgdatadir=. ./grub-mkstandalone --grub-mkimage=./grub-mkimage -O i386-coreboot -o $@ --modules='ahci pata ehci uhci ohci usb_keyboard usbms part_msdos xfs ext2 fat at_keyboard part_gpt usbserial_usbdebug cbfs' --install-modules='ls linux search configfile normal cbtime cbls memrw iorw minicmd lsmmap lspci halt reboot hexdump pcidump regexp setpci lsacpi chain test serial multiboot cbmemc linux16 gzio echo help' --fonts= --themes= --locales= -d grub-core/ /boot/grub/grub.cfg=$(srcdir)/coreboot.cfg
Remove the modules you don’t need. With *my* ASRock E350M1 setup, I
don’t need `pata`, `usbms`, `xfs`, `fat`, `at_keyboard`, `part_gpt` and
`usbserial_usbdebug`. I then add `boottime` and `cacheinfo`.
$ make default_payload.elf
The file is now 578K big and in CBFS the compressed size is a little
over 200 KB.
$ build/cbfstool build/coreboot.rom print
[…]
fallback/payload 0x5c400 payload
205851
[…]
[…]
Thanks,
Paul
PS: I’d be great if you could just send plain text messages with no HTML
parts to mailing lists.