1
0
Fork 0
mirror of https://github.com/NixOS/nix.dev.git synced 2024-10-18 14:32:43 -04:00
nix.dev/source/tutorials/building-bootable-iso-image.md
Yuki Langley a4a6ce812b Rewrite GitHub anchor links to user-content-
Due to an Sphinx issue[1], linkcheck fails on GitHub anchors for
GitHub rendered documents.

This change rewrites the anchors to the ones that can be verified by
linkcheck.

[1]: https://github.com/sphinx-doc/sphinx/issues/9016
2022-11-03 17:36:40 +01:00

1.4 KiB

Building a bootable ISO image

:::{note} If you need to build images for a different platform, see Cross compiling. :::

You may find that an official installation image lacks some hardware support.

The solution is to create myimage.nix to point to the latest kernel using the minimal installation ISO:

{ pkgs, modulesPath, lib, ... }: {
  imports = [
    "${modulesPath}/installer/cd-dvd/installation-cd-minimal.nix"
  ];

  # use the latest Linux kernel
  boot.kernelPackages = pkgs.linuxPackages_latest;

  # Needed for https://github.com/NixOS/nixpkgs/issues/58959
  boot.supportedFilesystems = lib.mkForce [ "btrfs" "reiserfs" "vfat" "f2fs" "xfs" "ntfs" "cifs" ];
}

Generate an ISO with the above configuration:

$ NIX_PATH=nixpkgs=https://github.com/NixOS/nixpkgs/archive/74e2faf5965a12e8fa5cff799b1b19c6cd26b0e3.tar.gz nix-shell -p nixos-generators --run "nixos-generate --format iso --configuration ./myimage.nix -o result"

Copy the new image to your USB stick by replacing sdX with the name of your device:

$ dd if=result/iso/*.iso of=/dev/sdX status=progress
$ sync

Next steps