The DECODE OS for private, distributed P2P computing
Go to file
parazyd 2b8c2de6dc
Add deb.torproject.org pubkey.
2018-03-13 16:47:53 +01:00
arm-sdk@de56d1cb27 Change *-sdk submodule urls. 2018-02-27 11:34:37 +01:00
extra Add deb.torproject.org pubkey. 2018-03-13 16:47:53 +01:00
live-sdk@dd708cfcfe Update sdk submodules. 2018-01-16 13:54:44 +01:00
rootfs-overlay Install java runtime in images. 2018-02-19 15:36:34 +01:00
vm-sdk@2826c92558 bump vm-sdk revision 2018-03-13 12:37:32 +01:00
.gitmodules Change *-sdk submodule urls. 2018-02-27 11:34:37 +01:00
LICENSE add initial progress on the build system 2017-07-17 17:04:11 +02:00
README.md update deps; add note on how to update 2017-09-12 18:38:01 +02:00
config Update musl version 2018-02-27 11:29:03 +01:00
console.sh reduce console startup using recursive init of submodules 2017-07-20 13:30:55 +02:00
decode.blend Download the chainspace jar in the cloned git path. 2018-02-20 15:32:37 +01:00

README.md

DECODE OS - build system

DECODE's operating system is designed to run a DECODE NODE that automatically connects to DECODE's P2P network and executes smart rules according to authenticated entitlements on attributes.

For stable releases see https://files.dyne.org/decode

Requirements

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

In addition one must install vagrant and virtualbox from latest published packages (do not use distro provided packages, as they are updated).

To update this repository, simply issue:

$ git pull origin master && git submodule update --init --recursive --checkout

Getting started

To enter the build console just run ./console.sh.

To build a vagrant virtual machine, run build_vagrant_dist.

To build a live iso image, run build_iso_dist.

To build an ARM installer image, run build_image_dist.

Here below the sequences of build steps executed by each target:

build_image_dist() {
	bootstrap_complete_base
	blend_preinst
	image_prepare_raw
	image_partition_raw_${parted_type}
	build_kernel_${arch}
	blend_postinst
	rsync_to_raw_image
	image_pack_dist
}

build_iso_dist() {
	bootstrap_complete_base
	blend_preinst
	iso_prepare_strap
	build_kernel_${arch}
	iso_setup_isolinux
	iso_write_isolinux_cfg
	blend_postinst
	fill_apt_cache
	iso_squash_strap
	iso_xorriso_build
}

build_vagrant_dist() {
	image_${imageformat}_as_strapdir
	bootstrap_complete_base
	vm_inject_overrides
	blend_preinst
	vm_setup_grub
	blend_postinst
	vm_umount_${imageformat}
	vm_vbox_setup
	vm_vagrant_package
	vm_pack_dist
}

The build_vagrant_dist target is a helper that executes a sequence of steps, some of them common to other helpers (hence combinable). Here below the full list of build steps executed by build_vagrant_dist

The bootstrap_complete_base step creates a base system tarball that can be reused by any target, it is found inside *_sdk/tmp for each sdk and to save time and computation it can be copied in place for each sdk if the base system doesn't differ.

Acknowledgments

The Devuan SDK used to build the DECODE OS was originally conceived during a period of residency at the Schumacher college in Dartington, UK. Greatly inspired by the laborious and mindful atmosphere of its wonderful premises.

The Devuan SDK is Copyright (c) 2015-2017 by the Dyne.org Foundation

Devuan SDK components were designed, and are written and maintained by:

This source code is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software 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, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this source code. If not, see http://www.gnu.org/licenses/.