From 9223fa7ec424a71e16316dfbd3745508831650f8 Mon Sep 17 00:00:00 2001 From: Daniel Barlow Date: Fri, 15 Sep 2023 00:32:18 +0100 Subject: [PATCH] first proofreading pass --- doc/new.rst | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/doc/new.rst b/doc/new.rst index d0cf06bd..22119b9c 100644 --- a/doc/new.rst +++ b/doc/new.rst @@ -24,17 +24,18 @@ Requirements ************ You will need a reasonably powerful computer running Nix. Devices -that run Liminix are unlikely tohave the CPU power and disk space to +that run Liminix are unlikely to have the CPU power and disk space to be able to build it in situ, so the build process is based around "cross-compilation" from another computer. The build machine can be any reasonably powerful desktop/laptop/server PC running NixOS. -Standalone Nixpkgs installations on other Linux distribuions or MacOS -also ought to work (but I haven't tested that configuration) +Standalone Nixpkgs installations on other Linux distributions - or on +MacOS - also ought to work but are untested. Running in Qemu *************** +You can do this without even having a router to play with. Clone the Liminix git repository and change into its directory @@ -50,13 +51,13 @@ Now build Liminix nix-build -I liminix-config=./examples/hellonet.nix \ --arg device "import ./devices/qemu" -A outputs.default -In this command ``liminix-config`` points to the configuration for the -device (services, users, filesystem, secrets) and ``device`` is the -file for your hardware device definition. ``outputs.default`` tells -Liminix to build the appropriate image output appropriate to -flash to the hardware device: for the qemu "hardware" it's an alias -for ``outputs.vmbuild``, which creates a directory containing a root -filesystem image and a kernel. +In this command ``liminix-config`` points to the desired software +configuration (e.g. services, users, filesystem, secrets) and +``device`` describes the hardware (or emulated hardware) to run it on. +``outputs.default`` tells Liminix that we want the default image +output for flashing to the device: for the Qemu "hardware" it's an +alias for ``outputs.vmbuild``, which creates a directory containing a +root filesystem image and a kernel. .. tip:: The first time you run this it may take several hours, because it builds all of the dependencies including a full @@ -70,10 +71,11 @@ Now you can try it: nix-shell --run "mips-vm ./result/vmlinux ./result/rootfs" -This starts the Qemu emulator to run the Liminix configuration you -just built. It connects the Liminix serial console and the `QEMU -monitor `_ to -stdin/stdout. Use ^P (not ^A) to switch to the monitor. +This starts Qemu emulator with a bunch of useful options, to run +the Liminix configuration you just built. It connects the Liminix +serial console and the `QEMU monitor +`_ to +stdin/stdout. You should now see Linux boot messages and after a few seconds be presented with a login prompt. You can login on the console as