On 01/28/2011 12:20 PM, Dieter Plaetinck wrote:
from the top of my head that would be
lib/core/lib-blockdevices-filesystems.sh and
lib/core/lib-ui-interactive.sh
have a look at the grub functions and how they relate to each other,
and how they are called from the interactive and automatic
procedure, namely by worker_install_bootloader(), you'll see.
You can also check Pythers' syslinux work,
https://github.com/pyther/aif
it might give you some more insight in what needs to be done to add
support to a bootloader, although i haven't reviewed that code properly
myself yet.
I can't speak on implementing uefi support, but I can say a bit about
implementing a second or third boot loader.
In the main code there are two things that I want to separate to make
the code more flexible for different boot loaders
1. get_kernel_parameters (merged into master, today)
2. interactive_bootloader_menu
lib/core/lib-ui-interactive.sh - This is the file that contains the boot
loader code and will be the primary file that you'll want to edit
lib/core/lib-blockdevices-filesystems.sh - You shouldn't have to add
much here. I have added functions here that are mainly important to
Syslinux (is_part_active, set_part_active, device_is_gpt, etc...)
Feel free to ask me any questions and look at the Syslinux branch on my
github page (https://github.com/pyther/aif). I plan on creating a new
branch in the near future and merging my changes there, since it would
be too much work to try to backport the latest patches from master.
pyther