Skip to content
New guide! Learn how to set up Python, JavaScript & more — Setting Up Programming Languages
Start Here

Set Up Your Classroom from Scratch

This guide takes a classroom from a pile of computers to a working TechLit lab: network, first computer, updates, curriculum, and languages. It is written for teachers. Each setup step has a Step by Step tab; where there are extra commands or configuration, open the More Detail tab beside it — use whichever you need.

A TechLit classroom runs on its own local network (LAN). Setting up the network never needs internet. A few later steps do use it — installing languages, updating from Bastion — and those guides say so.

Only here for one task? Jump straight to it:

What you’ll need

  • One computer to act as the server — the fastest one that has an Ethernet port
  • The remaining computers (clients)
  • One or two routers, plus Ethernet Cable s (the grey or white cables)
  • A TechLit installer USB. If you don’t have one, follow Create an Installer USB first.

Note

server and client are network roles, not user roles. Students use every computer in the classroom, including the server.

[!WARNING] Two rules that break a classroom if ignored

  1. Only one computer may have the Role server.
  2. The server must be connected by cable — never over Wi-Fi.

Connect the hardware

1. Choose and connect the server

Pick the fastest computer with an Ethernet port. Connect it directly to the main router with an Ethernet cable.

2. Place and connect the routers

  • One router: place it in the middle of the room for best signal.
  • Two routers: connect the second one to the first with a cable, and keep them as far apart as possible.

3. Connect the other computers

Whenever possible, connect the remaining computers to a router with cables instead of Wi-Fi — it is much faster and more reliable.

Set the network roles

Every computer gets a Role — server or client — set with the tl-sys-configure tool (logged in as admin).

1. Set up the server

On the server, run tl-sys-configure and set the Role to server.

2. Set up the clients

On each computer configured as a client, run tl-sys-configure and:

  1. Set the Role to client.
  2. Set the Wi-Fi Name ( SSID ) to match the network.

3. Turn off Wi-Fi on wired machines

On the server and any computer with a cable, switch Wi-Fi off using the network icon in the corner of the screen.

For cable diagrams and the full setup, see the Network & Wi-Fi guide.

Prepare the installer USB

The installer USB boots a computer into the recovery environment used in the next step. Create one with the Create an Installer USB guide — it erases the USB drive completely. Skip this step if you already have a working installer.

Provision the first computer

Caution

tl-hw-prepare erases everything on the internal drive. Double check the drive name before pressing Enter.

1. Boot from the USB

Restart the computer and boot from the TechLit USB drive.

2. Identify the internal drive

lsblk

Look for the drive that is much larger than your USB — common names are /dev/sda, /dev/nvme0n1, or /dev/mmcblk0. This is your

Target Drive .

3. Install the system

Replace /dev/sdX with your drive and tl-xxxx with the computer’s tag:

tl-hw-prepare /dev/sdX tl-xxxx

4. Finish and reboot

When you see the success message, type reboot and pull the USB out as the computer restarts.

Small devices (32GB or less)

Chromebooks and Mini Computers must not use this method. Follow Small Storage Devices instead.

Update the classroom

Once one computer has the update files, spread them through the room.

For standard desktop computers, update from a prepared USB drive — see Standard Desktop Computers:

  1. Plug the USB in and open “Update Components” (or run tl-comp-update).
  2. Choose Update → Update Desktop (Using USB).
  3. Pick your USB drive and wait for it to finish, then unplug the USB.
  4. Reboot when prompted.

Note

32GB Chromebooks and Minis need their own update flow — see Small Storage Devices.

Install curriculum, apps, and languages

  • Curriculum and components: apply them with the update guides above; the docs curriculum installs with tl-curriculum-install docs (see Installing Local Patches).
  • Free up space: the “Manage Components” tool (tl-comp-manage) removes old Btrfs Snapshots and unused components — see Using the Computer.
  • Games: Installing Games copies bundles from another computer on the LAN.
  • The code curriculum: how TechLit teaches programming — students read written instructions and turn them into working programs. The languages it uses (Python, JavaScript, and friends) are managed with asdf: Setting Up Programming Languages.

Healthy-classroom checklist

  • One server only — exactly one computer has Role server, and it is wired with Wi-Fi switched off.
  • Clients configured — every computer configured as a client shows Role client and the right Wi-Fi name.
  • Address server running — on the server, rsv status dhcpd4 shows run.
  • Network visible — client computers can see the Wi-Fi network and connect to it.
  • code languages work (if installed) — asdf current lists the languages, and python --version runs without errors.

When something goes wrong

Symptom Go to
No Wi-Fi or cabling Network troubleshooting
Will not boot Hardware & Device FAQ
Setup or USB failed Troubleshooting Provisioning
Slow, disk full, TTY Software & System FAQ
Router or DHCP Router Configuration
Update files missing How to Get Update Files

Command quick-reference

Command What it does
tl-sys-configure Set computer name, Role, and Wi-Fi name
tl-comp-manage View components, free up disk space
tl-comp-update Install component updates from USB
tl-comp-pull <name> <remote> Copy a component from a source computer
tl-comp-latest <name> Show the newest version available
tl-archive-install <name> Install a downloaded component
tl-curriculum-install <subject> Install the curriculum
tl-usb-prepare /dev/sdX Create an installer USB (erases it)
tl-hw-prepare /dev/sdX tl-xxxx Install the system (erases the drive)
tl-hw-update-desktop /dev/sdX Update the system, keeping the data
lsblk List connected drives
rsv status dhcpd4 Check the address server (DHCP)
asdf current List the languages for the code curriculum