[arch-releng] grub2 and uefi support in aif
Hi all, I want to hack into AIF (and maybe archiso) to add support for grub2 and uefi support to it. I might borrow some code from tpowa's archboot, atleast for the uefi related stuff since i added that support (to archboot). I need help in the form of implementing GPT and grub2 BIOS support to AIF since that is a prerequisite to enable uefi support in aif. I am not so familiar with lvm, raid and all such complex stuff that require checking (as currently done by archboot's /arch/setup script) while insallation of grub2 bios but i can help in gpt booting related stuff and uefi support. The first problem i am facing is to find out which file to edit - in archboot everything was concentrated at /arch/setup, but in AIF it seems to be split up into multiple files. Thanks in advance. Regards. Keshav
On Fri, 28 Jan 2011 22:18:07 +0530 "KESHAV P.R." <skodabenz@gmail.com> wrote:
Hi all, I want to hack into AIF (and maybe archiso) to add support for grub2 and uefi support to it. I might borrow some code from tpowa's archboot, atleast for the uefi related stuff since i added that support (to archboot). I need help in the form of implementing GPT and grub2 BIOS support to AIF since that is a prerequisite to enable uefi support in aif. I am not so familiar with lvm, raid and all such complex stuff that require checking (as currently done by archboot's /arch/setup script) while insallation of grub2 bios but i can help in gpt booting related stuff and uefi support. The first problem i am facing is to find out which file to edit - in archboot everything was concentrated at /arch/setup, but in AIF it seems to be split up into multiple files. Thanks in advance.
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.
Regards.
Keshav
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
participants (3)
-
Dieter Plaetinck
-
KESHAV P.R.
-
Matthew Gyurgyik