0:00–0:30
Lecture
0:30–1:50
Lab 0
1:50–2:00
Debrief
0:00 – 0:30
Lecture · 30 min
What is an operating system — and where does Linux fit in?
Students arrive with Windows networking experience but zero assumed Linux knowledge. This lecture frames Linux within concepts they already understand — resources, drivers, file systems, security — before introducing the history and philosophy that makes Linux different from everything they've used before.
Part 1 — What does an operating system actually do? (10 min)
- Open with a question: "Before we talk about Linux — what is an operating system?" Take answers. Build toward the definition: an OS manages hardware resources and provides an interface between the user and those resources. The resources it manages: CPU time, RAM, storage (read/write access, file systems), I/O devices (keyboard, network, screen).
- Ask: "What devices use an operating system?" — build the list together: servers, desktops, laptops, phones, game consoles, kiosks, car entertainment systems, ATMs, medical equipment. The point: an OS is not a Windows thing. It's a concept that exists wherever a machine needs to be told how to use its own hardware.
- What's inside an OS? Cover the four main components students will encounter throughout this course:
· Process management — every running program is a process; the OS decides who gets CPU time
· File system — how data is organised and located on storage (FAT32, NTFS, ext4)
· Device drivers — the software layer that lets the OS talk to hardware
· Security — user accounts, permissions, encryption, firewalls — every OS has some form
- Name a few operating systems students should recognise: Windows 10/11, macOS, iOS, Android, Ubuntu, Red Hat, CentOS. Ask: "Which of these is Linux?" — Ubuntu, Red Hat, CentOS are all Linux. Android is Linux underneath. This surprises some students.
Part 2 — Linux history and the GPL (10 min)
- Unix roots: Before Linux, there was Unix — a powerful OS developed at Bell Labs in the late 1960s. Expensive, proprietary, ran on specific hardware. Inspired a generation of OSes but was out of reach for most people and institutions.
- Richard Stallman and the GNU Project (1983): Stallman believed software should be free — not free as in price, but free as in freedom. Started writing free replacements for Unix tools. The GNU General Public License (GPL) — "copyleft." You can copy, modify, and distribute the software, but any derivative must also be free under the same terms. This is the philosophical foundation Linux is built on.
- Linus Torvalds and the Linux kernel (1991): A Finnish computer science student frustrated by the cost and restrictions of Unix started writing his own kernel. Posted it to a newsgroup: "I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu)". He was wrong. Released version 1.0 under the GPL in 1994. The kernel + GNU tools = a complete OS. People started calling it Linux.
- Kernel versioning: Structured as A.B.C.D — kernel number, major revision (even = stable, odd = developer), minor revision (drivers, hotfixes), emergency fixes. Ubuntu 24.04 runs kernel 6.8. The latest kernel is always at kernel.org. Bridge: Windows has a kernel too — students have seen kernel panics as blue screens. Linux kernel panics are called kernel panics — rarer, and often more informative.
- Where Linux is used today: ~96% of the top 1 million web servers. All of the top 500 supercomputers. Android phones. Most cloud infrastructure. Routers, switches, and network appliances. In this field — networking — Linux is not optional knowledge. It's ambient.
Part 3 — Linux strengths, weaknesses, and distributions (10 min)
- Strengths: Cost (free), performance (runs well on modest hardware), stability (servers run for years without rebooting), security (permissions model, smaller attack surface), vast software ecosystem (free tools for almost everything), open source (you can see and modify the code).
- Weaknesses — be honest: Steeper learning curve (especially the command line), hardware compatibility can be hit-or-miss (especially new or exotic hardware), some commercial software simply doesn't exist for Linux, some technical configurations require comfort with the terminal that takes time to build. This course is explicitly about building that comfort.
- Distributions: The Linux kernel is just the core. A distribution (distro) bundles the kernel with a package manager, desktop environment, default applications, and support model. Common families:
· Debian family: Ubuntu (what we use), Debian, Linux Mint, Raspberry Pi OS
· Red Hat family: Red Hat Enterprise Linux (RHEL), CentOS, Fedora, Rocky Linux
· Other: Arch, openSUSE, Gentoo
Same Linux kernel underneath — different tools, packaging, and philosophy on top.
- Why Ubuntu 24.04 LTS for this course: LTS = Long Term Support — 5 years of security updates, stable and predictable. Large community means good documentation. Hyper-V support is excellent. Most employers running Linux on desktops/development machines use Ubuntu or a Debian-family distro. It's the right starting point.
Instructor note — keep the lecture tight: Day 1 students are eager to get on the computers. 30 minutes is the right length for this. The history and philosophy matter for context but should not crowd out Lab 0, which takes the full remaining 80 minutes. Save deeper dives for questions during lab time.
0:30 – 1:50
Lab 0 · 80 min
Lab 0 — Hyper-V host configuration and dual VM creation
Students configure their workstation host, set up the Hyper-V virtual switch, and create two Ubuntu VMs ready for installation tomorrow. The VMs are not started today. The goal is to finish the session with two properly configured, waiting-to-be-installed virtual machines.
Pre-lab orientation (5 min)
- Each workstation has a pre-imaged SSD provided by the instructor. Default credentials: username Student, password Room225. Hyper-V is already installed and enabled — do not reinstall or modify the Hyper-V feature itself.
- The Ubuntu 24.04 LTS Desktop ISO has already been downloaded to each machine. Confirm its location before starting — typically
C:\ISOs\ or the Desktop. If it's missing, raise your hand immediately.
- Each student sits at a numbered workstation. Your workstation number (e.g. 21) is used throughout the course for naming and IP addressing. Locate your number on the sticker on your workstation case — you will need it in Step 1.
Step 1 — Configure the host computer (15 min)
- Computer name: Right-click Start → System → Rename this PC. Set the name to LanXHost where X is your workstation number. Example: workstation 21 →
Lan21Host. A restart may be required — if so, restart now and log back in as Student.
- Ethernet NIC (primary): Open Network Connections (ncpa.cpl). Right-click Ethernet → Properties → Internet Protocol Version 4 → Properties. Configure:
· IP Address: 172.17.10.X (where X = your desk number)
· Subnet mask: 255.255.0.0
· Default gateway: 172.17.0.1
· DNS: 172.17.0.1
- Ethernet 2 NIC (secondary): If a second Ethernet adapter is present, right-click → Disable. This prevents routing conflicts in the lab environment.
- Verify connectivity: open a command prompt and ping
172.17.0.1. You should receive replies. If not, check your IP configuration and raise your hand.
Why does the IP scheme use your desk number? Ask this as a class question and take answers before explaining. The lab network uses 172.17.0.0/16. Each workstation's host gets a unique address in the 172.17.10.x range. VMs created by each student will get addresses in nearby ranges. Using the desk number makes it easy to identify which machine is which on the network — and avoids IP conflicts between students.
Step 2 — Configure Hyper-V global network settings (15 min)
- Open Hyper-V Manager. In the right-hand Actions panel, click Hyper-V Settings. Navigate to MAC Address Range.
- Change the 4th octet of both the Minimum and Maximum MAC addresses to match your desk number. Example — desk 21:
· Minimum: 00-15-5D-21-00-00
· Maximum: 00-15-5D-21-FF-FF
- Ask the instructor to explain why this step matters before continuing. (Answer: Hyper-V assigns MAC addresses to VMs from this range. If all workstations use the default range, multiple students' VMs could get the same MAC address on the same network segment, causing address conflicts and unpredictable network behaviour. Each student having a unique 4th octet guarantees every VM in the lab has a globally unique MAC.)
- Create the External vSwitch: In Hyper-V Manager, click Virtual Switch Manager in the Actions panel. Select External as the type, click Create Virtual Switch. Name it External. Under Connection type, select External network and choose your physical Ethernet adapter from the dropdown. Click OK. This switch gives VMs direct access to the lab network — they will behave as real machines on 172.17.0.0/16.
Instructor note — the MAC address question is a teaching moment. Don't answer it immediately when students ask. Let them think for 30 seconds. The students with networking background will often get to "MAC conflicts" on their own. Acknowledge the good answers and fill in what's missing. This is the first bridge moment of the course — a Windows networking concept appearing in a Linux/VM context.
Step 3 — Create desktop1 virtual machine (20 min)
- In Hyper-V Manager, click New → Virtual Machine in the Actions panel. Work through the wizard:
· Name: desktop1
· Store VM in a custom location: Yes — create folder C:\VM\desktop1\
· Generation: Generation 2
· Memory: 8192 MB. Check Use Dynamic Memory.
· Network: Select the External vSwitch you just created
· Virtual Hard Disk: Create a new VHD, store in C:\VM\desktop1\, size 50 GB
· Installation Options: Install an operating system from a bootable image file → browse to the Ubuntu 24.04 ISO
Click Finish, but do not start the VM yet.
- Right-click desktop1 → Settings. Make two changes:
· Security: Uncheck Enable Secure Boot. Ubuntu's GRUB bootloader is not signed with Microsoft's Secure Boot key. Leaving this enabled will prevent the VM from booting.
· Processor: Increase Virtual processors to at least 4. Ubuntu's installer and desktop environment benefit significantly from multiple cores.
- Verify the settings summary shows: Gen 2, 8192 MB RAM dynamic, External network, 50 GB disk, Secure Boot disabled, 4 processors, ISO attached. Call the instructor over to check before proceeding.
Step 4 — Create desktop2 virtual machine (15 min)
- Repeat the entire process from Step 3 for a second VM:
· Name: desktop2
· Storage location: C:\VM\desktop2\
· All other settings identical to desktop1 — Gen 2, 8192 MB dynamic, External vSwitch, 50 GB disk, Ubuntu ISO attached, Secure Boot disabled, 4 processors.
- Both VMs should now appear in Hyper-V Manager in the Off state. This is correct — they are configured but not yet installed. Tomorrow (Day 2) we will boot desktop1 from the ISO and install Ubuntu.
- Early finishers: If you finish both VMs with time to spare, visit overthewire.org/wargames/bandit and read the Level 0 description. You won't be able to complete it yet (you need a Linux terminal), but read what it expects and think about what SSH is. You will connect to Bandit for the first time during Lab 2 later this week.
Lab 0 — what you're building
Windows Host
LanXHost
172.17.10.X
→
Hyper-V
External vSwitch
MAC range set
→
desktop1
Gen 2 · 50GB
8GB RAM · ISO
+
desktop2
Gen 2 · 50GB
8GB RAM · ISO
Lab 0 complete when: Both desktop1 and desktop2 appear in Hyper-V Manager in the Off state, with correct settings (Gen 2, 8192 MB, External vSwitch, 50 GB disk, Secure Boot disabled, 4 processors, ISO attached). Neither VM should be started.
1:50 – 2:00
Debrief · 10 min
Wrap-up and preview of Day 2
- Quick show of hands — who has both VMs created and verified? Work with anyone who hasn't finished during tomorrow's pre-lab time.
- Ask: "Why did we create two VMs instead of one?" Take answers. The real answer comes later in the course — desktop1 will be a server, desktop2 will be a client. NFS (Week 7), SSH testing between machines, and multi-user networking scenarios all require two machines. We set them up now so they both exist and accumulate configuration throughout the term.
- Ask: "Tomorrow we boot the VM from the ISO and install Ubuntu. What decisions do you think the installer will ask us to make?" Take a few guesses — language, keyboard, username, password are common answers. Preview: it also asks about partitioning, and tomorrow we will make manual partition decisions rather than accepting the default. That's where it gets interesting.
- Remind students: the two VMs created today are the machines they will use for the entire term, including the final exam. Take care of them. Don't delete files from previous labs to save space. If something goes wrong, ask — don't guess your way into an unrecoverable state.
Learning outcomes — by end of Day 1, students can…
Define an operating systemDescribe the four components an OS manages and give examples across different device types
Explain Linux originsName Linus Torvalds and Richard Stallman, explain the GPL and copyleft, and describe why Linux is free
Identify distributionsName the two main Linux families (Debian, Red Hat) and explain what a distribution adds to the kernel
Configure Hyper-VSet MAC address range, create an External vSwitch, and explain why each setting matters
Create a VM correctlyBuild a Generation 2 VM with correct RAM, storage, network, Secure Boot, and processor settings
What you need ready before class
Ubuntu 24.04 LTS ISO on every workstation
Hyper-V pre-installed and enabled on host
Lab 0 handout printed
Workstation numbers labelled on cases
Lab network (172.17.0.0/16) active with gateway at 172.17.0.1
Common issues and fixes
| Issue | Likely cause | Fix |
| VM wizard doesn't show Generation 2 option | Hyper-V version or host BIOS setting | Check that hardware virtualisation (VT-x/AMD-V) is enabled in BIOS; verify Hyper-V feature is fully installed |
| External vSwitch not visible in VM network dropdown | vSwitch not yet created, or created as Internal/Private | Return to Virtual Switch Manager, delete and recreate as External with the correct physical NIC selected |
| ISO not visible when browsing for installation image | ISO is in an unexpected location or filename contains spaces | Move ISO to C:\ISOs\ with a simple filename — no spaces |
| Secure Boot option greyed out | VM already started at least once | If the VM has never been started, delete and recreate. If it has been started, boot into firmware settings from the boot menu |
| Ping to 172.17.0.1 fails after IP configuration | Wrong subnet mask, or Ethernet 2 NIC not disabled | Verify subnet is 255.255.0.0 (not 255.255.255.0); disable Ethernet 2 |