LogoLogo
  • Learner's Block
  • About us
    • Why we make the Learner's Block
    • How we are funded
  • How to build one
    • Quickstart
      • Picking hardware
      • Picking a Micro SD card and SD card reader
      • Picking a power supply
      • Picking a case
      • Installation
  • How to use it
    • Connecting to the Block
    • Setting the language
    • Setting your password
    • Enabling components
    • Adding content
    • Using the Application Store
    • Connecting to a Wi-Fi network (Optional)
    • Advanced Features
      • Checking the Remaining Space
      • Updating the Block
      • Using an ethernet connection
      • Automatically Opening Files
      • Changing the Default Loading Page
      • Changing the Wi-Fi SSID and URL
      • Using Portainer
      • Pruning System Files
      • Reset System Database
  • Library
    • What is the Library?
  • Contributing
    • How can I contribute?
  • Additional Info
    • Technical details
    • Security & Privacy
Powered by GitBook
On this page
  • Operating System
  • Updates
  • Learner's Block Web Server
  • Learner's Block Resource Consumption
Export as PDF
  1. Additional Info

Technical details

PreviousHow can I contribute?NextSecurity & Privacy

Last updated 3 years ago

We have intentionally tried to keep the documentation as lean as possible in order to avoid overwhelming users with the technical details. Now we have a little space, let’s get into some more specifics around what the Block does, and how.

Operating System

At the base of our project is , an open-source project and set of tools for building, deploying and managing fleets of Blocks. Each Block runs BalenaOS, based on Yocto Linux but heavily customised for reliability and low resource Blocks. It is a read-only OS to avoid risks of corrupting data on SD memory cards and to minimise writes to the Block. Within the OS is a bespoke variation of Docker to run required services in isolated containers. The result is an extremely stable and durable operating platform (so stable in fact, it is even ).

Updates

Each Block is connected to the infrastructure. This service allows security, stability, language and feature updates to be deployed to Blocks when they come online.

Updates are installed automatically and in the background. Individual layers of each container are updated rather than the entire container in order to reduce data usage. Only after installations complete successfully are previous versions removed in order to ensure maximum uptime and to reduce risks of Blocks being corrupted if disconnected during updates.

Updates are triggered at key intervals such as when the Block loads. This ensures the data usage required during everyday operation of the Block is as low as possible.

This service is not required by your Blocks to operate, you can run entirely offline by not connecting to a nearby internet enabled WI-FI Network.

Learner's Block Web Server

One of the core functions of the Learner’s Block is the ability to host your own website. Running on each Block is NGINX and PHP8-FPM ready to serve your files as soon as you drop them in the ‘website’ folder through the accessed in your browser.

For more advanced hosting options, you can benefit from .

Learner's Block Resource Consumption

Each Block type will use slightly different amounts of resources, although all hover around 2-3GB of storage and 250MB of RAM in order to run the base Learner’s Block platform. SWAP memory is disable in order to reduce memory card wear.

Balena
used in space!
Balena Cloud
File Manager
Portainer