diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2016-02-02 19:03:13 +0100 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2016-02-02 19:59:27 +0100 |
commit | cc925d0506ab2a049d5ee55c1173950073ed307f (patch) | |
tree | 3364d1625f558a4ac3ac9f722a9e65ef293008e3 /nixos/modules/virtualisation/amazon-image.nix | |
parent | 901163c0c707d36323400394bf6e75adc4621e2f (diff) | |
download | nixpkgs-cc925d0506ab2a049d5ee55c1173950073ed307f.tar nixpkgs-cc925d0506ab2a049d5ee55c1173950073ed307f.tar.gz nixpkgs-cc925d0506ab2a049d5ee55c1173950073ed307f.tar.bz2 nixpkgs-cc925d0506ab2a049d5ee55c1173950073ed307f.tar.lz nixpkgs-cc925d0506ab2a049d5ee55c1173950073ed307f.tar.xz nixpkgs-cc925d0506ab2a049d5ee55c1173950073ed307f.tar.zst nixpkgs-cc925d0506ab2a049d5ee55c1173950073ed307f.zip |
boot.initrd.network: Support DHCP
This allows us to use it for EC2 instances.
Diffstat (limited to 'nixos/modules/virtualisation/amazon-image.nix')
-rw-r--r-- | nixos/modules/virtualisation/amazon-image.nix | 34 |
1 files changed, 5 insertions, 29 deletions
diff --git a/nixos/modules/virtualisation/amazon-image.nix b/nixos/modules/virtualisation/amazon-image.nix index dd2cdd43f31..7d16206517d 100644 --- a/nixos/modules/virtualisation/amazon-image.nix +++ b/nixos/modules/virtualisation/amazon-image.nix @@ -8,28 +8,7 @@ with lib; -let - - cfg = config.ec2; - - udhcpcScript = pkgs.writeScript "udhcp-script" - '' - #! /bin/sh - if [ "$1" = bound ]; then - ip address add "$ip/$mask" dev "$interface" - if [ -n "$router" ]; then - ip route add default via "$router" dev "$interface" - fi - if [ -n "$dns" ]; then - rm -f /etc/resolv.conf - for i in $dns; do - echo "nameserver $dns" >> /etc/resolv.conf - done - fi - fi - ''; - -in +let cfg = config.ec2; in { imports = [ ../profiles/headless.nix ./ec2-data.nix ./amazon-grow-partition.nix ./amazon-init.nix ]; @@ -41,10 +20,7 @@ in autoResize = true; }; - boot.initrd.kernelModules = - [ "xen-blkfront" "xen-netfront" - "af_packet" # <- required by udhcpc - ]; + boot.initrd.kernelModules = [ "xen-blkfront" "xen-netfront" ]; boot.kernelParams = mkIf cfg.hvm [ "console=ttyS0" ]; # Prevent the nouveau kernel module from being loaded, as it @@ -67,6 +43,8 @@ in kill -9 -1 ''; + boot.initrd.network.enable = true; + # Mount all formatted ephemeral disks and activate all swap devices. # We cannot do this with the ‘fileSystems’ and ‘swapDevices’ options # because the set of devices is dependent on the instance type @@ -79,12 +57,10 @@ in boot.initrd.postMountCommands = '' metaDir=$targetRoot/etc/ec2-metadata - mkdir -m 0755 $targetRoot/etc + mkdir -m 0755 -p $targetRoot/etc mkdir -m 0700 -p "$metaDir" echo "getting EC2 instance metadata..." - ip link set eth0 up - udhcpc --interface eth0 --quit --now --script ${udhcpcScript} if ! [ -e "$metaDir/ami-manifest-path" ]; then wget -q -O "$metaDir/ami-manifest-path" http://169.254.169.254/1.0/meta-data/ami-manifest-path |