Skip to content

Commit

Permalink
Merge pull request #192672 from amjoseph-nixpkgs/pr/nixos/sd/powerpc64le
Browse files Browse the repository at this point in the history
enable NixOS installer for powerpc64le
  • Loading branch information
wegank authored Feb 23, 2023
2 parents 128877b + f99e8ba commit b65d2ea
Showing 1 changed file with 49 additions and 0 deletions.
49 changes: 49 additions & 0 deletions nixos/modules/installer/sd-card/sd-image-powerpc64le.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# To build, use:
# nix-build nixos -I nixos-config=nixos/modules/installer/sd-card/sd-image-powerpc64le.nix -A config.system.build.sdImage
{ config, lib, pkgs, ... }:

{
imports = [
../../profiles/base.nix
../../profiles/installation-device.nix
./sd-image.nix
];

boot.loader = {
# powerpc64le-linux typically uses petitboot
grub.enable = false;
generic-extlinux-compatible = {
# petitboot is not does not support all of the extlinux extensions to
# syslinux, but its parser is very forgiving; it essentially ignores
# whatever it doesn't understand. See below for a filename adjustment.
enable = true;
};
};

boot.consoleLogLevel = lib.mkDefault 7;
boot.kernelParams = [ "console=hvc0" ];

sdImage = {
populateFirmwareCommands = "";
populateRootCommands = ''
mkdir -p ./files/boot
${config.boot.loader.generic-extlinux-compatible.populateCmd} \
-c ${config.system.build.toplevel} \
-d ./files/boot
''
# https://github.com/open-power/petitboot/blob/master/discover/syslinux-parser.c
# petitboot will look in these paths (plus all-caps versions of them):
# /boot/syslinux/syslinux.cfg
# /syslinux/syslinux.cfg
# /syslinux.cfg
+ ''
mv ./files/boot/extlinux ./files/boot/syslinux
mv ./files/boot/syslinux/extlinux.conf ./files/boot/syslinux/syslinux.cfg
''
# petitboot does not support relative paths for LINUX or INITRD; it prepends
# a `/` when parsing these fields
+ ''
sed -i 's_^\(\W\W*\(INITRD\|initrd\|LINUX\|linux\)\W\)\.\./_\1/boot/_' ./files/boot/syslinux/syslinux.cfg
'';
};
}

0 comments on commit b65d2ea

Please sign in to comment.