guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: gnu/system/u-boot.scm


From: Danny Milosavljevic
Subject: Re: gnu/system/u-boot.scm
Date: Fri, 22 Jul 2016 20:21:57 +0200

Hi,

On Fri, 22 Jul 2016 02:59:34 -0700
Chris Marusich <address@hidden> 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 :)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]