[Nix-dev] Please explain grub installer

Sergey Mironov grrwlf at gmail.com
Wed Feb 5 08:27:11 CET 2014


Thanks, I understand now.

2014-02-04 Eelco Dolstra <eelco.dolstra at logicblox.com>:
> Hi,
>
> On 04/02/14 12:04, Sergey Mironov wrote:
>
>> Hi! I've got a troubles while trying to understand how does
>> install-grub.pl works (maybe that is because I'm not skilled in perl).
>>
>> Here is what I am trying to figure out: grub.nix calls
>> ./install-grub.pl with XML parameter list as an argument.
>>
>> https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/system/boot/loader/grub/grub.nix#L242
>>
>>>From the perl side, ./install-grub.pl reads ARGV[0] and ARGV[1].
>> ARGV[0] turns out to contain the path to XML. OK. And ARVG[1] contains
>> a mysterious config. AFAIK it should point to the folder with kernel,
>> initrd and others. But where does it come from?
>
> It's passed from switch-to-configuration.pl:
>
>   # Install or update the bootloader.
>   if ($action eq "switch" || $action eq "boot") {
>       system("@installBootLoader@ $out") == 0 or exit 1;
>   }
>
> Note that switch-to-configuration.pl is called in turn by nixos-rebuild.
>
> The string '@installBootLoader@' comes from the option
> system.build.installBootLoader, which is set by grub.nix to (approximately)
> "${pkgs.perl}/bin/perl ${./install-grub.pl} ${grubConfig}", where ${grubConfig}
> is the XML file.
>
> --
> Eelco Dolstra | LogicBlox, Inc. | http://nixos.org/~eelco/
> _______________________________________________
> nix-dev mailing list
> nix-dev at lists.science.uu.nl
> http://lists.science.uu.nl/mailman/listinfo/nix-dev


More information about the nix-dev mailing list