Intended Audience
Community
Bugs and Feature Requests
Bugs and feature requests should be submitted to the dedicated distribution bugtracker on GitHub.
Discussions
Long-form discussions about project direction and large changes takes place on GitHub Discussions.
Social Media
Project updates are also published on social media, if that’s your preferred way of keeping up. Here’s a list of TeamSBC’s official media accounts.
Introduction
Thank you for your interest in TeamSBC. In this chapter we will go over what TeamSBC is and how it is structured.
You can read this chapter to learn:
- What TeamSBC is.
- How TeamSBC relates to Fedora.
- The history of TeamSBC.
- The goals of TeamSBC.
- Where the name TeamSBC comes from.
What is TeamSBC?
TeamSBC is a Linux distribution.
Relation to Fedora
TeamSBC is a Fedora Remix. This means that it takes its packages from Fedora but then layers its own on top. TeamSBC makes its own decisions on service configuration, what services are used for what, and what should be installed on a system.
Differences with Fedora
If you are a Fedora user or have used it previously then it’s useful to know what the differences are.
systemd
TeamSBC prefers to use systemd functionality when possible. This leads to a smaller and more integrated system.
systemd-homed
Fedora doesn’t use systemd-homed by default. TeamSBC has it set up and prefers to use it whenever possible to manage local users. See managing users for more information on how to use systemd-homed.
systemd-networkd
Fedora uses NetworkManager to manage networks, TeamSBC uses systemd-networkd. See managing networks how this works.
sudo
TeamSBC does not include sudo by default instead it uses run0.
History of TeamSBC
Goals of TeamSBC
What does the name mean?
Variants
TeamSBC ships in variants. Variants allow for people to pick the flavour they prefer for maintaining their devices. Currently TeamSBC ships two variants. Standard, and Legacy. However, we keep room for more in the future.
Standard
The standard variant is package-based. This is probably the type of setup that you are most familiar with if you’ve previously used any of the traditional Linux distributions.
Legacy
An adjusted standard variant that uses DOS-partitioned disk images. This means that some of the capabilities of the standard variant are unavailable. Otherwise it contains the same packages and configuration as standard.
Installation
TeamSBC builds and provides specific disk images that are optimized for specific devices. Disk images are provided for each variant. Before starting any installation pick the variant you want to use and familiarize yourself with its concepts.
Installation on single board computers involves downloading the appropriate image for the device you have and then copying the disk image onto its storage. Usually a micro SD card.
Installation Steps
Installation steps are the same for all TeamSBC variants.
- Find the image for your device in the supported devices list and download it on your system.
When testing out in a virtual machine; point your preferred virtual machine manager at the disk image and run, otherwise continue on.
microSD
Most Single Board Computers have some form of external storage, commonly a microSD card. Put a microSD card into a card reader attached to your computer. After this you can write the downloaded image directly onto the microSD card. This method applies to most Single Board Computers that have microSD storage.
- Find the device for your microSD card (let’s say it’s
/dev/sde). - Unpack the image,
unxz teamsbc-44-standard-rpi4.raw.xz.
If you wish this is the time to perform offline provisioning on the disk image.
- Write the image onto the microSD card,
dd if=teamsbc-44-standard-rpi4.raw of=/dev/sde progress=verbose.
After the image has been written to your microSD card you can unmount your card and plug it into your device to boot from.
Supported Devices
Find the device you want to run TeamSBC on in the following list. If your device is not listed that means we don’t produce images for it. You might want to file a request to see if it can be a supported device in the future.
Virtual Machine
To run TeamSBC on virtual machines we provide the virt image type for the standard variant. You can download the latest built images from the following URLs:
Stable
x86_64
aarch64
Experimental
x86_64
aarch64
Single Board Computers
Raspberry Pi Zero 2 W
To run TeamSBC on the Raspberry Pi Zero 2 W we provide the rpi02w image type for the legacy variant. You can download the latest built images from the following URLs.
Stable
aarch64
Experimental
aarch64
Raspberry Pi 3
To run TeamSBC on the Raspberry Pi 3 we provide the rpi3 image type for the legacy variant. You can download the latest built images from the following URLs.
Stable
aarch64
Experimental
aarch64
Raspberry Pi 4
To run TeamSBC on the Raspberry Pi 4 we provide the rpi4 image type for the standard variant. You can download the latest built images from the following URLs.
Stable
aarch64
Experimental
aarch64
Provisioning
Basics
Updating
Installing Applications
Users
You are able to manage users in more traditional ways through the shadow-utils provided tooling (useradd, passwd, etc) but TeamSBC intends for you to manage users through systemd-homed.
The preferred way in TeamSBC to manage local users is by using systemd-homed. This allows for portable, encrypted home directories for each user which get unlocked on user login. TeamSBC is configured to allow local and remote logins to systemd-homed managed users by default.
Managing Users
Adding a user
$ homectl create $username
# pick a password
Removing a user
Removing users is a destructive action. Their home area will be destroyed and thus all data in there will be gone forever. Think twice if this is what you want and consider making a backup of the relevant home area.
If you are certain you want to remove the user you can use the following command. There is no confirmation prompt, the user will be gone immediately.
$ homectl remove $username
Inspecting a user
$ homectl inspect $username
Networking
Build Your Own
Packages
Artifacts
Infrastructure
Domains
TeamSBC largely uses two separate domains to serve content.
teamsbc.org (and its subdomains) are used to serve text content such as the homepage and documentation. teamsbc.net is used to serve binary data such as our artifacts, packages, and other large files.