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 [email protected] http://lists.science.uu.nl/mailman/listinfo/nix-dev
