(Perhaps 'payload' should be in $target in the first place.)
Config.lb is used to build several Makefiles and they are in further subdirectories of target/vendor/board/dir/
It is easy and reliable to use an absolute path to the payload.
Apparently that (in targets/tyan/s4882/Config.lb) is unreliable: I tried payload 'grub2' and './grub2' (see below) and if it is this hard for me (with 14 years programming experience on mostly Linux) because it is undocumented, I would call it easy for few people. Of course it seems like there is also much great work on the project....
--David
PS. I tried the following Config.lb payload paths with 'payload ./grub2' and 'payload grub2' (and left out 'fallback' one time for each.)
# Sample config file for # the Tyan s4882 # This will make a target directory of ./s4882
target s4882 mainboard tyan/s4882
# Tyan s4882 romimage "normal" # 48K for SCSI FW or ATI ROM option ROM_SIZE = 512*1024-48*1024 # 48K for SCSI FW and 48K for ATI ROM # option ROM_SIZE = 512*1024-48*1024-48*1024 # 64K for Etherboot # option ROM_SIZE = 512*1024-64*1024 option USE_FALLBACK_IMAGE=0 # option ROM_IMAGE_SIZE=0x19000 # option ROM_IMAGE_SIZE=0x19c00 # option ROM_IMAGE_SIZE=0x18800 # option ROM_IMAGE_SIZE=0x16200 option ROM_IMAGE_SIZE=0x20000 option XIP_ROM_SIZE=0x20000 option COREBOOT_EXTRA_VERSION="$(shell cat ../../VERSION)_Normal" payload grub2
# payload ../../../payloads/tg3--ide_disk.zelf # payload ../../../payloads/filo.elf # payload ../../../payloads/filo_mem.elf # payload ../../../payloads/filo.zelf # payload ../../../payloads/tg3.zelf # payload ../../../payloads/tg3_vga.zelf # payload ../../../payloads/filo_vga_memtest.zelf # payload ../../../../payloads/tg3--filo_hda2_vga.zelf # payload ../../../payloads/tg3--filo_hda2.zelf # payload ../../../payloads/e1000--filo.zelf # payload ../../../payloads/tg3--e1000--filo.zelf # payload ../../../payloads/tg3--eepro100--e1000--filo_hda2.zelf end
romimage "fallback" option USE_FALLBACK_IMAGE=1 # option ROM_IMAGE_SIZE=0x19000 # option ROM_IMAGE_SIZE=0x19c00 # option ROM_IMAGE_SIZE=0x18800 # option ROM_IMAGE_SIZE=0x16200 option ROM_IMAGE_SIZE=0x20000 option XIP_ROM_SIZE=0x20000 option COREBOOT_EXTRA_VERSION="$(shell cat ../../VERSION)_Fallback" payload fallback/grub2
# payload ../../../payloads/tg3--ide_disk.zelf # payload ../../../payloads/filo.elf # payload ../../../payloads/filo_mem.elf # payload ../../../payloads/filo.zelf # payload ../../../payloads/tg3.zelf # payload ../../../payloads/tg3_vga.zelf # payload ../../../payloads/filo_vga_kernel.zelf # payload ../../../../payloads/tg3--filo_hda2_vga.zelf # payload ../../../payloads/tg3--filo_hda2.zelf # payload ../../../payloads/e1000--filo.zelf # payload ../../../payloads/tg3--e1000--filo.zelf # payload ../../../payloads/tg3--eepro100--e1000--filo_hda2.zelf end
buildrom ./coreboot.rom ROM_SIZE "normal" "fallback"
----------------------------------------------------------------
Myles asked: ~/coreboot-v2-3923/targets/tyan/s4882/s4882# ls -l grub2.elf -rw-r--r-- 1 root root 18973 2009-02-02 14:15 grub2.elf
David Melik wrote:
It is easy and reliable to use an absolute path to the payload.
I tried payload 'grub2' and './grub2'
Those are both relative paths, and because the v2 build system is less than transparent I recommend using an absolute path to begin with.
payload grub2
So here I would suggest an absolute path. Something like: payload /home/user/where/you/have/grub2/grub2.elf
//Peter