patches and low-level development discussion
 help / color / mirror / code / Atom feed
a34ac5efe5131111291d2e38e85ac80b371a955b blob 1916 bytes (raw)

 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: Tutorials

// 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 an installer

[source,shell]
----
git clone https://spectrum-os.org/git/spectrum
nix-build spectrum/release/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: Spectrum is not yet suitable for real-world use.  Do not use
your Spectrum system for anything important or sensitive.  Spectrum is
currently missing many important security properties, and there is no
procedure for updating to new versions of Spectrum -- you have to
reinstall.
debug log:

solving a34ac5e ...
found a34ac5e in https://spectrum-os.org/lists/archives/spectrum-devel/20220919073659.1703271-6-hi@alyssa.is/ ||
	https://spectrum-os.org/lists/archives/spectrum-devel/20221010232909.1953738-29-hi@alyssa.is/ ||
	https://spectrum-os.org/lists/archives/spectrum-devel/20221009114036.463071-6-hi@alyssa.is/
found b3fa1ef in https://spectrum-os.org/git/spectrum
preparing index
index prepared:
100644 b3fa1ef246dd7ed9a5f217d23c8c5aa0b233d188	Documentation/getting-spectrum.adoc

applying [1/3] https://spectrum-os.org/lists/archives/spectrum-devel/20220919073659.1703271-6-hi@alyssa.is/
diff --git a/Documentation/getting-spectrum.adoc b/Documentation/getting-spectrum.adoc
index b3fa1ef..a34ac5e 100644

Checking patch Documentation/getting-spectrum.adoc...
Applied patch Documentation/getting-spectrum.adoc cleanly.

skipping https://spectrum-os.org/lists/archives/spectrum-devel/20221010232909.1953738-29-hi@alyssa.is/ for a34ac5e
skipping https://spectrum-os.org/lists/archives/spectrum-devel/20221009114036.463071-6-hi@alyssa.is/ for a34ac5e
index at:
100644 a34ac5efe5131111291d2e38e85ac80b371a955b	Documentation/getting-spectrum.adoc

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

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

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).