patches and low-level development discussion
 help / color / mirror / code / Atom feed
blob c365a93e5d609bb21a5a274b538404728fbc067f 1901 bytes (raw)
name: Documentation/installation/getting-spectrum.adoc 	 # note: path name is non-authoritative(*)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
 
= Getting Spectrum
:page-parent: Build and Run
:page-nav_order: 2

// SPDX-FileCopyrightText: 2022 Alyssa Ross <hi@alyssa.is>
// SPDX-License-Identifier: GFDL-1.3-no-invariants-or-later OR CC-BY-SA-4.0

To get Spectrum, you need to build it from source.  As long as you're
running Linuxfootnote:[Building from other operating systems might
work, but hasn't been tested.  Patches are welcome to support building
from other operating systems, as long as they're not too invasive.]
and have https://nixos.org/[Nix] and https://git-scm.com/[git]
installed, it's very easy to do.

TIP: Before you start, consider setting up the
xref:binary-cache.adoc[Spectrum binary cache], which will save you a
lot of time waiting for builds.

== Trying Spectrum

If you want to try Spectrum out to get a feel for it, without
installing it, you can run it in a development VM with some example
applications.

[source,shell]
----
git clone https://spectrum-os.org/git/spectrum
git clone https://github.com/NixOS/nixpkgs
git clone -b rootfs --reference nixpkgs \
  https://spectrum-os.org/git/nixpkgs nixpkgs-spectrum
cd spectrum/host/rootfs
nix-shell -I nixpkgs=../../../nixpkgs-spectrum --run 'make run'
----

This builds just enough of Spectrum to try it out in a VM, but it will
still take a very long time.

== Building Installer

[source,shell]
----
git clone https://spectrum-os.org/git/spectrum
nix-build spectrum/img/combined \
  -I nixpkgs=https://spectrum-os.org/git/nixpkgs/snapshot/nixpkgs-rootfs.tar.gz
----

This will take a very long time, but when it's done, a symbolic link
named "result" will appear, pointing to a Spectrum USB installer
image.

CAUTION: Do not use Spectrum for anything important or sensitive as it is not
yet suitable for real-world use.  Many important security properties are
currently missing, and there is no procedure for updating to
new versions—you have to reinstall the OS.

debug log:

solving c365a93 ...
found c365a93 in https://inbox.spectrum-os.org/spectrum-devel/20221028110558.205351-1-evgeniia.nikolaenko@unikie.com/
found b3fa1ef in https://spectrum-os.org/git/spectrum
preparing index
index prepared:
100644 b3fa1ef246dd7ed9a5f217d23c8c5aa0b233d188	Documentation/getting-spectrum.adoc

applying [1/1] https://inbox.spectrum-os.org/spectrum-devel/20221028110558.205351-1-evgeniia.nikolaenko@unikie.com/
diff --git a/Documentation/getting-spectrum.adoc b/Documentation/installation/getting-spectrum.adoc
similarity index 82%
rename from Documentation/getting-spectrum.adoc
rename to Documentation/installation/getting-spectrum.adoc
index b3fa1ef..c365a93 100644

Checking patch Documentation/getting-spectrum.adoc => Documentation/installation/getting-spectrum.adoc...
Applied patch Documentation/getting-spectrum.adoc => Documentation/installation/getting-spectrum.adoc cleanly.

index at:
100644 c365a93e5d609bb21a5a274b538404728fbc067f	Documentation/installation/getting-spectrum.adoc

(*) Git path names are given by the tree(s) the blob belongs to.
    Blobs themselves have no identifier aside from the hash of its contents.^

Code repositories for project(s) associated with this public inbox

	https://spectrum-os.org/git/doc
	https://spectrum-os.org/git/mktuntap
	https://spectrum-os.org/git/spectrum
	https://spectrum-os.org/git/ucspi-vsock

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).