Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 002b553b1428
Choose a base ref
...
head repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 1ca690951457
Choose a head ref
  • 2 commits
  • 1 file changed
  • 2 contributors

Commits on Nov 27, 2019

  1. docker-container: Remove /etc symlink

    The system output usually contains a symlink from /etc to the static
    configuration for the benefit of the stage-1 script in the initrd. The stage-2
    script is usually started in the real root without such a symlink. In a
    container, there is no stage-1 and the system output is used directly as a real
    root. If the symlink is present, setup-etc.pl will create a symlink cycle and
    the system cannot boot. There is no reason for the /etc link to exist in a
    container because setup-etc.pl will create the necessary files. The container
    module will now remove the /etc symlink and create an empty directory. The empty
    /etc is for container managers to populate it with site-specific settings; for
    example, to set the hostname. This is required to boot NixOS in an LXC container
    on another host.
    
    See also: #9735
    ttuegel committed Nov 27, 2019
    Copy the full SHA
    757c7f3 View commit details

Commits on Apr 25, 2020

  1. Merge pull request #74378 from ttuegel/lxc-container

    docker-container: Remove /etc symlink
    adisbladis authored Apr 25, 2020
    Copy the full SHA
    1ca6909 View commit details
Showing with 8 additions and 1 deletion.
  1. +8 −1 nixos/modules/profiles/docker-container.nix
9 changes: 8 additions & 1 deletion nixos/modules/profiles/docker-container.nix
Original file line number Diff line number Diff line change
@@ -2,6 +2,8 @@

with lib;

let inherit (pkgs) writeScript; in

let
pkgs2storeContents = l : map (x: { object = x; symlink = "none"; }) l;

@@ -30,7 +32,12 @@ in {
];

# Some container managers like lxc need these
extraCommands = "mkdir -p proc sys dev";
extraCommands =
let script = writeScript "extra-commands.sh" ''
rm etc
mkdir -p proc sys dev etc
'';
in script;
};

boot.isContainer = true;