patches and low-level development discussion
 help / color / mirror / code / Atom feed
a0ea1c457ab4b432c0f43bd6edea2101b15c24bb blob 1934 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
55
 
= 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 OS, 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 OS 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: Spectrum is not yet suitable for real-world use.  Do not use
your Spectrum OS 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 a0ea1c4 ...
found a0ea1c4 in https://spectrum-os.org/lists/archives/spectrum-devel/20220906135533.576642-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://spectrum-os.org/lists/archives/spectrum-devel/20220906135533.576642-1-evgeniia.nikolaenko@unikie.com/
diff --git a/Documentation/getting-spectrum.adoc b/Documentation/installation/getting-spectrum.adoc
similarity index 85%
rename from Documentation/getting-spectrum.adoc
rename to Documentation/installation/getting-spectrum.adoc
index b3fa1ef..a0ea1c4 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 a0ea1c457ab4b432c0f43bd6edea2101b15c24bb	Documentation/installation/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).