Hi, On Fri, 22 Jul 2016 02:59:34 -0700 Chris Marusich <cmmarus...@gmail.com> wrote:
> I'm not familiar with u-boot, but based on recent emails, it sounds like it's > important for getting GuixSD to run on ARM. Yeah, because many ARM platforms don't have a BIOS (or any similar replacement), the bootloader has to do things you wouldn't believe. U-Boot has support for that. There would be support for Grub as an U-Boot payload (in a fork), but I figured it's not really necessary [for now?] and complicates things too much - see how similar the U-Boot config body is to the Grub config body... > I wonder if it would be possible to create a bootloader abstraction of > some kind so that the installation mechanism can work with either u-boot > or grub, without caring about which one it uses? It would be nice if > the installation mechanism were generic enough so that the same > mechanism could be used to install either bootloader. That would be nice. I'm not sure whether different bootloaders are similar in their installation mechanism, though. ARM platforms have... weird ways of booting - so getting all ARM boards to boot in the first place is difficult. Supporting those and Grub should be easy afterwards. > > (define-record-type* <u-boot-configuration> > > u-boot-configuration make-u-boot-configuration > > u-boot-configuration? > > (board u-boot-configuration-board) ; string ; not > > optional! > > (u-boot u-boot-configuration-u-boot ; package > > (default (@ (gnu packages u-boot) (make-u-boot-package > > board)))) > > (device u-boot-configuration-device) ; string > > (menu-entries u-boot-configuration-menu-entries ; list > > (default '())) > > (default-entry u-boot-configuration-default-entry ; integer > > (default 0)) > > (timeout u-boot-configuration-timeout ; integer > > (default 5))) > > This looks a little different from the grub-configuration record type > (defined in guix/gnu/system/grub.scm). It should be very similar. I added "board" and removed the theme stuff since it's unsupported. I don't think leaving the theme stuff in there would hurt either - it would just be ignored. >How do you intend to integrate it with the existing bootloader installation >mechanism? I have no idea yet. Have to read up on what's there first :)