Skip to content

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 and updating from Bastion. Those guides say so.

Only here for one task? Jump straight to it:

  • 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 Cables (the grey or white cables)
  • A TechLit installer USB. If you don’t have one, follow Create an Installer USB first.
  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.
    • 2 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.

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 at the bottom right of the screen, next to the volume and battery icons.

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

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.

  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.

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.
  • 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.
  • 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.
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 Get and Install Updates
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