diff options
author | Alyssa Ross <hi@alyssa.is> | 2021-06-23 08:16:49 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2021-06-23 08:16:49 +0000 |
commit | 4dc730a187d41f9f2dce4fe2680c32dcecb79b93 (patch) | |
tree | 67673deb1649dc0a40962e70e6da302d7b6c4bf0 /nixpkgs/nixos/doc/manual/from_md | |
parent | 633cab0ecb07627706c6b523e219490f019eaab5 (diff) | |
parent | 7e567a3d092b7de69cdf5deaeb8d9526de230916 (diff) | |
download | nixlib-4dc730a187d41f9f2dce4fe2680c32dcecb79b93.tar nixlib-4dc730a187d41f9f2dce4fe2680c32dcecb79b93.tar.gz nixlib-4dc730a187d41f9f2dce4fe2680c32dcecb79b93.tar.bz2 nixlib-4dc730a187d41f9f2dce4fe2680c32dcecb79b93.tar.lz nixlib-4dc730a187d41f9f2dce4fe2680c32dcecb79b93.tar.xz nixlib-4dc730a187d41f9f2dce4fe2680c32dcecb79b93.tar.zst nixlib-4dc730a187d41f9f2dce4fe2680c32dcecb79b93.zip |
Merge commit '7e567a3d092b7de69cdf5deaeb8d9526de230916'
# Conflicts: # nixpkgs/pkgs/top-level/all-packages.nix
Diffstat (limited to 'nixpkgs/nixos/doc/manual/from_md')
3 files changed, 280 insertions, 6 deletions
diff --git a/nixpkgs/nixos/doc/manual/from_md/administration/boot-problems.section.xml b/nixpkgs/nixos/doc/manual/from_md/administration/boot-problems.section.xml new file mode 100644 index 000000000000..b484d075818a --- /dev/null +++ b/nixpkgs/nixos/doc/manual/from_md/administration/boot-problems.section.xml @@ -0,0 +1,127 @@ +<section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="sec-boot-problems"> + <title>Boot Problems</title> + <para> + If NixOS fails to boot, there are a number of kernel command line + parameters that may help you to identify or fix the issue. You can + add these parameters in the GRUB boot menu by pressing “e” to modify + the selected boot entry and editing the line starting with + <literal>linux</literal>. The following are some useful kernel + command line parameters that are recognised by the NixOS boot + scripts or by systemd: + </para> + <variablelist> + <varlistentry> + <term> + <literal>boot.shell_on_fail</literal> + </term> + <listitem> + <para> + Allows the user to start a root shell if something goes wrong + in stage 1 of the boot process (the initial ramdisk). This is + disabled by default because there is no authentication for the + root shell. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>boot.debug1</literal> + </term> + <listitem> + <para> + Start an interactive shell in stage 1 before anything useful + has been done. That is, no modules have been loaded and no + file systems have been mounted, except for + <literal>/proc</literal> and <literal>/sys</literal>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>boot.debug1devices</literal> + </term> + <listitem> + <para> + Like <literal>boot.debug1</literal>, but runs stage1 until + kernel modules are loaded and device nodes are created. This + may help with e.g. making the keyboard work. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>boot.debug1mounts</literal> + </term> + <listitem> + <para> + Like <literal>boot.debug1</literal> or + <literal>boot.debug1devices</literal>, but runs stage1 until + all filesystems that are mounted during initrd are mounted + (see + <link linkend="opt-fileSystems._name_.neededForBoot">neededForBoot</link>). + As a motivating example, this could be useful if you’ve + forgotten to set + <link xlink:href="options.html#opt-fileSystems._name_.neededForBoot">neededForBoot</link> + on a file system. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>boot.trace</literal> + </term> + <listitem> + <para> + Print every shell command executed by the stage 1 and 2 boot + scripts. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>single</literal> + </term> + <listitem> + <para> + Boot into rescue mode (a.k.a. single user mode). This will + cause systemd to start nothing but the unit + <literal>rescue.target</literal>, which runs + <literal>sulogin</literal> to prompt for the root password and + start a root login shell. Exiting the shell causes the system + to continue with the normal boot process. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>systemd.log_level=debug</literal> + <literal>systemd.log_target=console</literal> + </term> + <listitem> + <para> + Make systemd very verbose and send log messages to the console + instead of the journal. For more parameters recognised by + systemd, see systemd(1). + </para> + </listitem> + </varlistentry> + </variablelist> + <para> + Notice that for <literal>boot.shell_on_fail</literal>, + <literal>boot.debug1</literal>, + <literal>boot.debug1devices</literal>, and + <literal>boot.debug1mounts</literal>, if you did + <emphasis role="strong">not</emphasis> select <quote>start the new + shell as pid 1</quote>, and you <literal>exit</literal> from the new + shell, boot will proceed normally from the point where it failed, as + if you’d chosen <quote>ignore the error and continue</quote>. + </para> + <para> + If no login prompts or X11 login screens appear (e.g. due to hanging + dependencies), you can press Alt+ArrowUp. If you’re lucky, this will + start rescue mode (described above). (Also note that since most + units have a 90-second timeout before systemd gives up on them, the + <literal>agetty</literal> login prompts should appear eventually + unless something is very wrong.) + </para> +</section> diff --git a/nixpkgs/nixos/doc/manual/from_md/development/assertions.section.xml b/nixpkgs/nixos/doc/manual/from_md/development/assertions.section.xml new file mode 100644 index 000000000000..0844d484d60f --- /dev/null +++ b/nixpkgs/nixos/doc/manual/from_md/development/assertions.section.xml @@ -0,0 +1,58 @@ +<section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="sec-assertions"> + <title>Warnings and Assertions</title> + <para> + When configuration problems are detectable in a module, it is a good + idea to write an assertion or warning. Doing so provides clear + feedback to the user and prevents errors after the build. + </para> + <para> + Although Nix has the <literal>abort</literal> and + <literal>builtins.trace</literal> + <link xlink:href="https://nixos.org/nix/manual/#ssec-builtins">functions</link> + to perform such tasks, they are not ideally suited for NixOS + modules. Instead of these functions, you can declare your warnings + and assertions using the NixOS module system. + </para> + <section xml:id="sec-assertions-warnings"> + <title>Warnings</title> + <para> + This is an example of using <literal>warnings</literal>. + </para> + <programlisting language="bash"> +{ config, lib, ... }: +{ + config = lib.mkIf config.services.foo.enable { + warnings = + if config.services.foo.bar + then [ ''You have enabled the bar feature of the foo service. + This is known to cause some specific problems in certain situations. + '' ] + else []; + } +} +</programlisting> + </section> + <section xml:id="sec-assertions-assetions"> + <title>Assertions</title> + <para> + This example, extracted from the + <link xlink:href="https://github.com/NixOS/nixpkgs/blob/release-17.09/nixos/modules/services/logging/syslogd.nix"><literal>syslogd</literal> + module</link> shows how to use <literal>assertions</literal>. + Since there can only be one active syslog daemon at a time, an + assertion is useful to prevent such a broken system from being + built. + </para> + <programlisting language="bash"> +{ config, lib, ... }: +{ + config = lib.mkIf config.services.syslogd.enable { + assertions = + [ { assertion = !config.services.rsyslogd.enable; + message = "rsyslogd conflicts with syslogd"; + } + ]; + } +} +</programlisting> + </section> +</section> diff --git a/nixpkgs/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml b/nixpkgs/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml index 070e7b142937..2c7935078e34 100644 --- a/nixpkgs/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml +++ b/nixpkgs/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml @@ -1,5 +1,5 @@ -<section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="release-21.11"> - <title>Release 21.11 (<quote>?</quote>, 2021.11/??)</title> +<section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="sec-release-21.11"> + <title>Release 21.11 (“?”, 2021.11/??)</title> <para> In addition to numerous new and upgraded packages, this release has the following highlights: @@ -12,7 +12,7 @@ </para> </listitem> </itemizedlist> - <section xml:id="highlights"> + <section xml:id="sec-release-21.11-highlights"> <title>Highlights</title> <itemizedlist spacing="compact"> <listitem> @@ -22,7 +22,7 @@ </listitem> </itemizedlist> </section> - <section xml:id="new-services"> + <section xml:id="sec-release-21.11-new-services"> <title>New Services</title> <itemizedlist> <listitem> @@ -40,9 +40,17 @@ <link xlink:href="options.html#opt-services.sourcehut.enable">services.sourcehut</link>. </para> </listitem> + <listitem> + <para> + <link xlink:href="https://download.pureftpd.org/pub/ucarp/README">ucarp</link>, + an userspace implementation of the Common Address Redundancy + Protocol (CARP). Available as + <link xlink:href="options.html#opt-networking.ucarp.enable">networking.ucarp</link>. + </para> + </listitem> </itemizedlist> </section> - <section xml:id="backward-incompatibilities"> + <section xml:id="sec-release-21.11-incompatibilities"> <title>Backward Incompatibilities</title> <itemizedlist> <listitem> @@ -226,9 +234,90 @@ </listitem> </itemizedlist> </listitem> + <listitem> + <para> + <literal>programs.x2goserver</literal> is now + <literal>services.x2goserver</literal> + </para> + </listitem> + <listitem> + <para> + The following dotnet-related packages have been removed for + being unmaintaned. Please use <literal>fetchNuGet</literal> + for specific packages. + </para> + <itemizedlist spacing="compact"> + <listitem> + <para> + Autofac + </para> + </listitem> + <listitem> + <para> + SystemValueTuple + </para> + </listitem> + <listitem> + <para> + MicrosoftDiaSymReader + </para> + </listitem> + <listitem> + <para> + MicrosoftDiaSymReaderPortablePdb + </para> + </listitem> + <listitem> + <para> + SystemCollectionsImmutable + </para> + </listitem> + <listitem> + <para> + SystemCollectionsImmutable131 + </para> + </listitem> + <listitem> + <para> + SystemReflectionMetadata + </para> + </listitem> + <listitem> + <para> + NUnit350 + </para> + </listitem> + <listitem> + <para> + Deedle + </para> + </listitem> + <listitem> + <para> + ExcelDna + </para> + </listitem> + <listitem> + <para> + GitVersionTree + </para> + </listitem> + <listitem> + <para> + NDeskOptions + </para> + </listitem> + </itemizedlist> + </listitem> + <listitem> + <para> + The <literal>antlr</literal> package now defaults to the 4.x + release instead of the old 2.7.7 version. + </para> + </listitem> </itemizedlist> </section> - <section xml:id="other-notable-changes"> + <section xml:id="sec-release-21.11-notable-changes"> <title>Other Notable Changes</title> <para> </para> |