[Nix-dev] Nix OS installation problems - Where's the hard drive?
Joseph Joe
joej at reed.edu
Fri Oct 10 17:32:49 CEST 2014
I also have a working NixOS on a laptop now (The live-usb recognized
this harddrive).
I added the kernelConfig parameter in my configuration.nix file (attached),
but
there are build errors. Specifically, after running nixos-rebuild
switch, it ends with the following output:
GOT:
GOT: #
GOT: # configuration written to .config
GOT: #
building config
GOT: make: Leaving directory
`/tmp/nix-build-linux-config-3.12.28.drv-0/linux-3.12.28'
unused option: CONFIG_SCSI_SAS_ATA
builder for `/nix/store/0xynni7sbs8ck8p7cri356ryn3dfif
qp-linux-config-3.12.28.drv'
failed with exit code 255
cannot build derivation
`/nix/store/5fl9127mvpvjswhlsj02lzvs121ha98m-linux-3.12.28.drv': 1
dependencies couldn't be built
cannot build derivation
`/nix/store/niq6zlss38cqyg28mkqx42d214kfm2vh-nixos-14.04.519.b9bde98.drv':
1 dependencies couldn't be built
error: build of
`/nix/store/niq6zlss38cqyg28mkqx42d214kfm2vh-nixos-14.04.519.b9bde98.drv'
failed
Is there an error in my configuration file?
Also, for creating an iso out of a NixOS configuration, I need to run
these commands:
(https://nixos.org/wiki/Creating_a_NixOS_live_CD)
export NIX_PATH=$NIXREPOS
nix-build -A iso_graphical.x86_64-linux $NIXREPOS/nixos/release.nix
But, there is no file release.nix on my computer.
On Fri, Oct 10, 2014 at 8:31 AM, Joseph Joe <joej at reed.edu> wrote:
>
>
> I also have a working NixOS on a laptop now (The live-usb recognized
> this harddrive).
>
> I added the kernelConfig parameter in my configuration.nix file
> (attached), but
> there are build errors. Specifically, after running nixos-rebuild
> switch, it ends with the following output:
>
> GOT:
> GOT: #
> GOT: # configuration written to .config
> GOT: #
> building config
> GOT: make: Leaving directory
> `/tmp/nix-build-linux-config-3.12.28.drv-0/linux-3.12.28'
> unused option: CONFIG_SCSI_SAS_ATA
> builder for
> `/nix/store/0xynni7sbs8ck8p7cri356ryn3dfifqp-linux-config-3.12.28.drv'
> failed with exit code 255
> cannot build derivation
> `/nix/store/5fl9127mvpvjswhlsj02lzvs121ha98m-linux-3.12.28.drv': 1
> dependencies couldn't be built
> cannot build derivation
> `/nix/store/niq6zlss38cqyg28mkqx42d214kfm2vh-nixos-14.04.519.b9bde98.drv':
> 1 dependencies couldn't be built
> error: build of
> `/nix/store/niq6zlss38cqyg28mkqx42d214kfm2vh-nixos-14.04.519.b9bde98.drv'
> failed
>
> Is there an error in my configuration file?
>
> Also, for creating an iso out of a NixOS configuration, I need to run
> these commands:
>
> (https://nixos.org/wiki/Creating_a_NixOS_live_CD)
> export NIX_PATH=$NIXREPOS
> nix-build -A iso_graphical.x86_64-linux $NIXREPOS/nixos/release.nix
>
> But, there is no file release.nix on my computer.
>
> On 10/7/14, Wout Mertens <wout.mertens at gmail.com> wrote:
> > On Tue, Oct 7, 2014 at 4:49 AM, Joseph Joe <joej at reed.edu> wrote:
> >
> >> I am still a bit confused. I added the following lines to
> >> /etc/nixos/configuration.nix
> >>
> >> nixpkgs.config.packageOverrides = pkgs:
> >> { linux_3_4 = pkgs.linux_3_4.override {
> >> extraConfig =
> >> ''
> >> CONFIG_SCSI_SAS_ATA y
> >> '';
> >> };
> >> };
> >>
> >> Actually this will not work unless you're using linux_3_4 which I think
> > you're not. The better way is what Alexander linked,
> >
> > nixpkgs.config.packageOverrides = pkgs: {
> > stdenv = pkgs.stdenv // {
> > platform = pkgs.stdenv.platform // {
> > kernelExtraConfig = "CONFIG_SCSI_SAS_ATA y" ;
> > };
> > };
> > };
> >
> > (I didn't test this)
> >
> >
> >> Then I saved the file and entered the command
> >>
> >> # nixos-rebuild switch
> >>
> >
> > Like Alexander said, that doesn't activate the new kernel until when you
> > reboot.
> >
> >
> >> This doesn't work because I am inside the live-usb. But, I can make a
> >> custom image in the live-boot with this changed configuration file. This
> >> image will have the configuration I want. Is that correct?
> >>
> >
> > No, the live boot doesn't use the normal boot setup, not sure if
> > nixos-rebuild did anything there.
> >
> >
> >> Also, how would I put the Ubuntu kernel onto the liveUSB?
> >>
> >
> > IIRC, the liveUSB is simply a FAT32 filesystem with kernel and squashed
> > root filesystem, so you'd copy the ubuntu kernel on it as well and
> convince
> > the boot loader to use it. Anyway, you might have problems with providing
> > modules.
> >
> > Here's two other approaches:
> >
> > - Take an empty USB stick and install NixOS on that from the liveUSB,
> > with the kernelconfig as above. Then boot from that and install nixos
> on
> > your harddisk.
> > - Install nixos in-place from your current Linux using the techniques
> > discussed in https://github.com/NixOS/nixpkgs/issues/2079 , namely
> > install nix as root (or multiuser) on your current linux, then build
> > nixos
> > into /nixos and boot using /nixos as the root directory. There's no
> > script
> > that does that for you yet though.
> >
> > Wout.
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.science.uu.nl/pipermail/nix-dev/attachments/20141010/f7f946ff/attachment-0001.html
-------------- next part --------------
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running ‘nixos-help’).
{ config, pkgs, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
];
nixpkgs.config.packageOverrides = pkgs: {
stdenv = pkgs.stdenv // {
platform = pkgs.stdenv.platform // {
kernelExtraConfig = "CONFIG_SCSI_SAS_ATA y" ;
};
};
};
# Use the GRUB 2 boot loader.
boot.loader.grub.enable = true;
boot.loader.grub.version = 2;
# Define on which hard drive you want to install Grub.
boot.loader.grub.device = "/dev/sda";
# networking.hostName = "nixos"; # Define your hostname.
networking.wireless.enable = true; # Enables wireless.
# Select internationalisation properties.
# i18n = {
# consoleFont = "lat9w-16";
# consoleKeyMap = "us";
# defaultLocale = "en_US.UTF-8";
# };
# List packages installed in system profile. To search by name, run:
# -env -qaP | grep wget
# environment.systemPackages = with pkgs; [
# wget
# ];
# List services that you want to enable:
# Enable the OpenSSH daemon.
services.openssh.enable = true;
# Enable CUPS to print documents.
# services.printing.enable = true;
# Enable the X11 windowing system.
services.xserver.enable = true;
services.xserver.layout = "us";
# services.xserver.xkbOptions = "eurosign:e";
# Enable the KDE Desktop Environment.
services.xserver.displayManager.kdm.enable = true;
services.xserver.desktopManager.kde4.enable = true;
# Define a user account. Don't forget to set a password with ‘passwd’.
# users.extraUsers.guest = {
# name = "guest";
# group = "users";
# uid = 1000;
# createHome = true;
# home = "/home/guest";
# shell = "/run/current-system/sw/bin/bash";
# };
}
More information about the nix-dev
mailing list