- Notifications
You must be signed in to change notification settings - Fork11
The DECODE OS for private, distributed P2P computing
License
DECODEproject/decode-os
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
The DECODE operating system is a brand new GNU+Linux distributiondesigned to run on servers, embedded computers and virtual machines toautomatically connect micro-services to a private and anonymouspeer-to-peer network cluster.
Features | Components |
---|---|
Wide compatibility with industry standards | GNU + Linux minimal base |
Anonimity and privacy by design | Tor hidden service family |
Very secure, restricted environment | grsec community fork |
Customisable to run different applications | Devuan GNU+Linux SDK |
Pluggable consensus algorithm | Redis based consensus broker |
Read-only and authenticated system | SquashFS +overlayfs +Btrfs |
Integrated updating mechanism | Roundshot initramfs |
Built-in Graphical dashboard | Netdata resource monitor |
Low power consumption, outdoor usage | Ports to embedded ARM boards |
Extensible platform support | Includes latest JDK, Golang, Python etc. |
Minimal resource consumption | Online with less than 64MB of RAM |
For stable releases seefiles.dyne.org/decode
For more information seethe DECODE project
In particular, the following publications:
- Privacy Design Strategies for the DECODE Architecture
- Decode OS first release
- DECODE OS Software Development Kit (soon to be superseeded by the upcoming Devuan's Developer Manual)
DECODE OS comes in a variety of flavors:
- for ARM based boxes (embedded)
- for virtual machines (cloud)
- live desktop (boot from usb)
Running systems provide a dashboard by connecting using a browserusing HTTP on port 19999.
The default username isdecode
with passworddecode
The defaultroot
password istoor
.
Developers of the Dyne.org foundation are available to supportcustomisations and adaptations of this operating system for particularpurposes in line with the foundation's goals.
You are welcome to contact us:
- #devuan-dev onfreenode IRC (public, logged IPs)
- #dyne onirc.dyne.org (public and private, no IPs logged)
- E-mailinfo@dyne.org
This project is a work in progress proceeding along a clear roadmapagreed for the DECODE project. The DECODE OSstable release is plannedfor 1st quarter 2019.
This project is receiving funding from theEuropean Union’s Horizon2020 research and innovation programme under grant agreementnr. 732546.
The following instructions illustrate how one can build DECODE OS fromscratch, eventually adding software to it. This section is a work inprogress.
Building can be done from any GNU+Linux distribution, it entailsbootstrapping a new Devuan base and then customising it via its SDKusing a "blend", root access is needed in order to operate inchroot
and in KVM accelleratedqemu
.
More information on this process is provided by the "Devuan'sDevelopers Manual", here is an outline on the steps to be taken.
A GNU/Linux system is required in order to build DECODE OS.
Here a list of package dependencies:
zsh sudo cgpt xz-utils qemu qemu-utils
To clone this repository:
git clone https://github.com/DECODEproject/os-build-system --recursive
To update the repository:
git pull origin master && git submodule update --init --recursive --checkout
A more detailed reference for the arm-sdk can be found here:https://git.devuan.org/sdk/arm-sdk
cd arm-sdk # (or vm-sdk or live-sdk depending from your target)zsh -f./init.sh # and when this is done, execute the command in the bottom of the outputsource sdkload devuan raspi3 decode # (replace "raspi3" with your board name, from the list below)bootstrap_complete_base
Here is the list of the supported boxes:https://git.devuan.org/sdk/arm-sdk/blob/master/sdk
To enter the build console just run./console.sh
.
To build a vagrant virtual machine, runbuild_vagrant_dist
.
To build a live iso image, runbuild_iso_dist
.
To build an ARM installer image, runbuild_image_dist
.
Here below the sequences of build steps executed by each target:
build_image_dist() {bootstrap_complete_baseblend_preinstimage_prepare_rawimage_partition_raw_${parted_type}build_kernel_${arch}blend_postinstrsync_to_raw_imageimage_pack_dist}build_iso_dist() {bootstrap_complete_baseblend_preinstiso_prepare_strapbuild_kernel_${arch}iso_setup_isolinuxiso_write_isolinux_cfgblend_postinstfill_apt_cacheiso_squash_strapiso_xorriso_build}build_vagrant_dist() {image_${imageformat}_as_strapdirbootstrap_complete_basevm_inject_overridesblend_preinstvm_setup_grubblend_postinstvm_umount_${imageformat}vm_vbox_setupvm_vagrant_packagevm_pack_dist}
Thebuild_vagrant_dist
target is a helper that executes a sequenceof steps, some of them common to other helpers (hencecombinable). Here below the full list of build steps executed bybuild_vagrant_dist
Thebootstrap_complete_base
step creates a base system tarball thatcan be reused by any target, it is found inside*_sdk/tmp
for eachsdk and to save time and computation it can be copied in place foreach sdk if the base system doesn't differ.
DECODE OS is Copyright (c) 2017-2018 by the Dyne.org Foundation
DECODE OS and its core components are designed, written and maintainedby Denis Roio and Ivan J.
Devuan is a registered trademark of the Dyne.org foundation.
The Devuan SDK used to build the DECODE OS was originally conceivedduring a period of residency at the Schumacher college in Dartington,UK. Greatly inspired by the laborious and mindful atmosphere of itswonderful premises.
Devuan SDK components are designed, written and maintained by DenisRoio, Enzo Nicosia and Ivan J.
This source code is free software: you can redistribute it and/or modify itunder the terms of the GNU General Public License as published by the FreeSoftware Foundation, either version 3 of the License, or (at your option)any later version.
This software is distributed in the hope that it will be useful, butWITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITYor FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License formore details.
You should have received a copy of the GNU General Public License alongwith this source code. If not, seehttp://www.gnu.org/licenses/.