Instructions for building elilo with VGA support, and some other misc patches to fix ext2 handling, set the mac to always power up after a power cut, and to switch to text mode.
NB: many people seem to have trouble with GNU-EFI, if your
elilo doesn't work try a different machine. I've had success with
CentOS-4.1 running on ia32.
Download and unpack elilo:
[root@server walkthrough]# wget http://heanet.dl.sourceforge.net/sourceforge/elilo/elilo-3.6.src.tgz
--15:20:21-- http://heanet.dl.sourceforge.net/sourceforge/elilo/elilo-3.6.src.t
gz
=> `elilo-3.6.src.tgz'
[...]
[root@server walkthrough]# tar xfz elilo-3.6.src.tgz
[root@server walkthrough]#
Fetch the various patches:
[root@server walkthrough]# wget http://www.madingley.org/macmini/elilo/elilo-ext2.patch
--15:38:26-- http://www.madingley.org/macmini/elilo/elilo-ext2.patch
=> `elilo-ext2.patch'
[...]
[root@server walkthrough]# wget http://www.madingley.org/macmini/elilo/elilo-powerup.patch
--15:38:33-- http://www.madingley.org/macmini/elilo/elilo-powerup.patch
=> `elilo-powerup.patch'
[...]
[root@server walkthrough]# wget http://www.madingley.org/macmini/elilo/elilo-textmode.patch
--15:38:40-- http://www.madingley.org/macmini/elilo/elilo-textmode.patch
=> `elilo-textmode.patch'
[...]
[root@server walkthrough]# wget http://www.madingley.org/macmini/vga/elilo-vga.patch
--15:38:50-- http://www.madingley.org/macmini/vga/elilo-vga.patch
=> `elilo-vga.patch'
[...]
[root@server walkthrough]# wget http://www.madingley.org/macmini/vga/elilo-vga-0.1.tar.gz
--15:38:58-- http://www.madingley.org/macmini/vga/elilo-vga-0.1.tar.gz
=> `elilo-vga-0.1.tar.gz'
[...]
[root@server walkthrough]#
apply the patches:
[root@server walkthrough]# cd elilo
[root@server elilo]# patch -p1 < ../elilo-ext2.patch
patching file fileops.c
[root@server elilo]# patch -p1 < ../elilo-textmode.patch
patching file efi110/efiConsoleControl.h
patching file efi110/efiUgaDraw.h
patching file elilo.c
[root@server elilo]# patch -p1 < ../elilo-powerup.patch
patching file Makefile
patching file io.h
patching file power_up.c
patching file elilo.c
Hunk #1 succeeded at 442 (offset 1 line).
[root@server elilo]# patch -p1 < ../elilo-vga.patch
patching file ia32/system.c
patching file Makefile
[root@server elilo]# tar xfz ../elilo-vga-0.1.tar.gz
[root@server elilo]#
Configure and build elilo:
edit the Make.defaults file and set:
[root@server elilo]# make
make -C fs
make[1]: Entering directory `/home/root/projects/macmini/walkthrough/elilo/fs'
/usr/bin/gcc -I. -I/home/root/projects/macmini/walkthrough/elilo/fs/.. -I/software/include/efi -I/software/include/efi/ia32 -I/software/include/efi/protocol -O2 -fpic -fshort-wchar -Wall -DENABLE_MACHINE_SPECIFIC_NETCONFIG -DCONFIG_LOCALFS -DCONFIG_NETFS -DCONFIG_CHOOSER_SIMPLE -DCONFIG_CHOOSER_TEXTMENU -DCONFIG_ia32 -c localfs.c -o localfs.o
[... and quite a few warnings ...]
/usr/bin/objcopy -j .text -j .sdata -j .data -j .dynamic -j .dynsym -j .rel \
-j .rela -j .reloc --target=efi-app-ia32 elilo.so elilo.efi
[root@server elilo]#
You should now have an elilo.efi file, if this was all a bit much
you can get a pre-built one.