[debian-edu-commits] [Debian Wiki] Update of "DebianEdu/HowTo/TestInstallVirtualMachine" by RolandClobus
Debian Wiki
wiki at debian.org
Tue Oct 20 14:08:29 BST 2026
Dear Wiki user,
You have subscribed to a wiki page or wiki category on "Debian Wiki" for change notification.
The "DebianEdu/HowTo/TestInstallVirtualMachine" page has been changed by RolandClobus:
https://wiki.debian.org/action/diff/DebianEdu/HowTo/TestInstallVirtualMachine?action=diff&rev1=31&rev2=32
#language en
- = How to test Debian Edu CD/DVDs on Virtual Machines =
+ = How to test Debian Edu CD/BDs on Virtual Machines =
- Varning: This is for testing on test-versions of Debian Edu. You my encounter bugs which needs restart.
+ ~+ Warning +~:This is for testing of development versions of Debian Edu. You may encounter bugs which might require you to reinstall everything.
- This is a guide for testing Debian Edu on virtual machines running Debian or Ubuntu connected to a dhcp network (also including steps to support networks with static Internet address).
+ This is a guide for testing Debian Edu on virtual machines running Debian unstable (sid).
- For testing you can choose between [[KVM|KVM]], [[QEMU#Virt-Manager|QEMU with Virt-Manager]], [[QEMU|QEMU]] or VirtualBox. The guide got the
+ For testing you can choose between [[QEMU#Virt-Manager|QEMU with Virt-Manager]], [[KVM|KVM]], [[QEMU|QEMU]] or VirtualBox. This guide uses the first option.
- same test network commendation, IP addresses.
+ '''Test config 1a with thin client(s)''': The user can run a combi-server (main + thin client sever) on one virtual machine and 1+n thin clients on 1+n virtual machines.
- '''Test config 1a with thin client(s)''': The user can choose to test combi-server (main + thin
- client sever) on one virtual machine and 1+n thin clients on an 1+n
- virtual machines.
- '''Test config 1b with diskless client(s)''': The user can run a combi-server with a virtual machine
+ '''Test config 1b with diskless client(s)''': The user can run a combi-server on one virtual machine and running diskless clients on 1+n virtual machines.
- running diskless client on 1+n virtual machines.
- '''Test config 1a+1b running both thin clients and diskless clients'''.
+ '''Test config 1c running both thin clients and diskless clients'''.
+ '''Test config 2 (not described yet)''': The user can run main server on a separate virtual machine, thin client server on an other virtual machine and thin clients and diskless clients (almost as 1a+1b).
- '''Test config 2 (not described yet)''': The user can run main server on a separate virtual
- machine, thin client server on an other virtual machine and thin clients
- and diskless clients (almost as 1a+1b).
- '''What's also needs are:'''
+ == Fetching the installation CD or BD ==
+ Fetch the latest weekly build from the server, and rename it to contain the week number:
+ The netinst image (network installation):
- 1. Short guide on how to report bugs at the TestCDinstall page.
- 2. Short guide how to get access to logs and screen dumps as easy as possible. This makes it easier making accurate bug reports.
- 3. Test scripts to run for automatic setup and running the different test configs :)
-
- I'll see 1 and 2 as mandatory documentation.
- Suggestion 3 is just a wish :)
-
- == Fetching the test install CD or DVD ==
- Fetch the debian-edu-12.<x>.0-amd64-BD-1.iso image from the server. You can use your web browser, or the wget command.
{{{
- wget https://cdimage.debian.org/mirror/cdimage/release/12.5.0/amd64/iso-bd/debian-edu-12.5.0-amd64-BD-1.iso
+ wcurl https://get.debian.org/images/weekly-builds/amd64/iso-cd/debian-edu-testing-amd64-netinst.iso -o debian-edu-testing-amd64-netinst-CW$(date +%V).iso
+ }}}
+ or the BD image (offline installation):
+ {{{
+ wcurl https://get.debian.org/images/weekly-builds/amd64/iso-bd/SHA256SUMS -o debian-edu-testing-amd64-BD-1-CW$(date +%V).iso
}}}
+ For the debian-edu-router gateway, a non-DebianEdu netinst image is required:
+ {{{
+ wcurl https://get.debian.org/images/weekly-builds/amd64/iso-cd/debian-edu-testing-amd64-netinst.iso
+ }}}
+ The remainder of this document assumes the BD image.
- == Setting up bridge network for VM's ==
- Here follows the full explanation of setting up a full virtual machine Debian Edu test with main and thin client server, also running diskless workstation and a thin client.
+ == Setting up bridge network for VMs ==
- == VirtualBox setup ==
- You need VirtualBox 4.3 or newer. To install VirtualBox on Ubuntu, see this page https://itsfoss.com/install-virtualbox-ubuntu/
+ We'll set up a collection of virtual machines that works independently of the configuration of the host.
- === Setting up VirtualBox network ===
- '''Warning''': if the host machine (the one you install VirtualBox on) is on the 10.0.0.0 network (it has an IP address in the 10.0.x.x range) you might get network trouble if you use this guide.
- DebianEdu needs a 10.0.0.0/8 network as default, see the [[http://wiki.debian.org/DebianEdu/Documentation/Bookworm/Architecture#The_default_network_setup|DebianEdu default network setup]] page. The main server provides it's own DHCP server, so DHCP needs to be turned off in VirtualBox. To set up a suitable network via the command line:
+ === Configure virtual networks (simulated switches) ===
+
+ The following steps simulate 2 switches, as mentioned in the [[https://wiki.debian.org/DebianEdu/Documentation/Trixie/Architecture#Network|DebianEdu network architecture diagram]]
+
+ * In 'Virtual Machine Manager', select 'Edit | Connection Details | Virtual Networks'.
+ * Define the switch to connect the gateway and the Main server.
+ Click on the plus icon ('Add Network')
+ * 'Name:' 'bridge_edu_wan'
+ * 'Mode:' 'Isolated'
+ * Disable 'Enable IPv4'
+ * Confirm that 'Enable IPv6' is also disabled
+ * Click 'Finish'
+ * Define the switch to connect the LTSP server located on the Main server to the networked clients.
+ Click on the plus icon ('Add Network')
+ * 'Name:' 'bridge_edu_lan'
+ * 'Mode:' 'Isolated'
+ * Disable 'Enable IPv4'
+ * Confirm that 'Enable IPv6' is also disabled
+ * Click 'Finish'
+
+ === Set up the gateway ===
+
+ First prepare the VM for the gateway using debian-edu-router.
+
+ * In 'Virtual Machine Manager', select 'File | New Virtual Machine'
+ * Select 'Connection' -> 'QEMU/KVM'
+ * Select 'Local installation media'
+ * Click 'Forward'
+ * Click 'Browse' and choose the regular netinst image, not the 'DebianEdu' netinst image
+ * Click 'Forward'
+ * Just 1GiB of memory is sufficient: 'Memory' '1024'
+ * 'CPUs' '1'
+ * Click 'Forward'
+ * A small disk image is sufficient: '4' GiB
+ * Click 'Forward'
+ * 'Name:' 'debian-edu-gateway'
+ * Enable 'Customise configuration before install'
+ * Click 'Finish'
+ * Click 'Add Hardware'
+ * Select 'Network'
+ * 'Network source' 'Virtual network 'bridge_edu_wan': Isolated network'
+ * Click 'Finish'
+ * Click 'Begin Installation'
+ * Select the graphical installer
+ * When the Debian Installer runs, select the default answers, except:
+ * 'Configure the network', choose 'enp1s0'. This is the interface which gets an IP address via DHCP from the host.
+
+ After the Debian Installer has finished and rebooted the VM, prepare access to the debian-edu-router-config package, which is currently not available in testing (this sentence is written on 2026-10-19):
+ * Log in as 'root'
+ * Type in the root console:
{{{
- $ VBoxManage natnetwork add --netname skolelinux --network 10.0.0.0/8 --dhcp off
+ echo "deb http://deb.debian.org/debian sid main" >> /etc/apt/sources.list.d/allow_sid.list
+ echo -e "Package: *\nPin: release n=sid\nPin-Priority: 1\n\nPackage: debian-edu-router-config\nPin: release n=sid\nPin-Priority: 400" > /etc/apt/preferences.d/50pin_debian_edu_router_config
+ apt update
}}}
+
+ Follow the installation steps as described in the [[https://wiki.debian.org/DebianEdu/Documentation/Trixie/Installation#Installing_a_gateway_using_debian-edu-router|Installation]] chapter.
+
+ For a sharper view, in the virtual machine window:
+ * Select 'View | Scale Display | Never'
+ * Click 'View | Resize to VM'
- To verify that you have the network set up correctly, use the GUI: File, Preferences, Network, NAT Networks. You should have a network named "skolelinux" there, with "Network CIDR" set to "10.0.0.0/8". DHCP and IPv6 should both be unchecked..
- From the command line you can also do
- {{{
- $ VBoxManage list natnets
- NetworkName: skolelinux
- IP: 10.0.0.1
- Network: 10.0.0.0/8
- IPv6 Enabled: No
- IPv6 Prefix:
- DHCP Enabled: No
- Enabled: Yes
- loopback mappings (ipv4)
- 127.0.0.1=2
- }}}
- the command line provides more information than the VirtualBox GUI.
=== Set up the main server ===
- In VirtualBox GUI, create a new virtual machine for the main server. Recommended values are 2 GB memory, 60 GiB hard drive (you might due with 40 GiB at a minimum, but having 60 GiB is more safe). Select New, give the machine a name. For this example choose "tjener" as a name.
+ Before you set up the main server, make sure that the gateway VM is running.
- Select "Linux" for type, and "Debian (64 bit)" for version. Click next, select or input 2048 MB for memory size, click next, select "create a virtual hard drive now", click next, select VDI for Hard drive file type, click next, select "dynamically allocated", click next, give it a name (the default suggestion is usually ok), and set the size to 60 GiB, click create.
+ The (re-)installation works much faster, if the host has a proxy configured (apt-cacher-ng at port 3142 or squid-deb-proxy at port 3128).
- In the "installer boot menu" when starting up the installation, select 64 bit (graphical) install. Follow the install guide for main server + thin client server.
+ Configure the VM for a main server that can act as an LTSP server too.
- Important. Before installing the main server "tjener", the first Adapter 1 network card has to be sett to NAT and nothing else. This because it is a workstation when installing the server. After installation, the Adapter 1 are changed from "NAT" to "NAT Network".
+ * In 'Virtual Machine Manager', select 'File | New Virtual Machine'
+ * Select 'Local installation media'
+ * Click 'Forward'
+ * Choose the DebianEdu BD image
+ * Click 'Forward'
+ * 'Memory' '2048'
+ * 'CPUs' '2'
+ * Click 'Forward'
+ * You'll need some large amount of disk space: '70' GiB
+ * Click 'Forward'
+ * 'Name:' 'debian-edu-tjener'
+ * Enable 'Customise configuration before install'
+ * Change 'Network selection' to 'Virtual network 'bridge_edu_wan': Isolated network'
+ Alternative: if you are using a host with a proxy, leave the value to 'NAT', and change it later.
+ * Click 'Finish'
+ * Click 'Add Hardware'
+ * Select 'Network'
+ * 'Network source' 'Virtual network 'bridge_edu_lan': Isolated network'
+ * Click 'Finish'
+ * Click 'Begin Installation'
+ * Move the cursor to the 'Graphical install' line and press 'Tab'
+ * On the command line append after 'quiet': 'mirror/suite=unstable mirror/codename=sid apt-setup/services-select=none'
+ If you are using a host with a proxy, also add: 'mirror/http/proxy=<the proxy IP-addres and port>'
+ * Press 'Enter' to start the installer
+ * When the Debian Installer runs, select the default answers, except:
+ * 'Configure the network', choose 'enp1s0'. This is the interface which is connected to the gateway.
+ * Select 'Configure network manually' after the DHCP request timed out.
+ * 'IP address': '10.0.2.2/8'
+ * 'Really use the automatic partitioning tool?': 'Yes'
+ * Note that the password for the user must be sufficiently strong, see [[https://wiki.debian.org/DebianEdu/Documentation/Trixie/Installation#The_installation_process|the Wiki]]
+ * There will be an error message from 'XXX'. Press 'Continue'. This error message is due to the additional commandline options and shows that they will be used.
+
+ ******* Updated to here *******
+
- After the server are installed, click Settings on the tjener virtual machine configuration, click Network, on Adapter 1, and change "NAT" to "NAT Network". The Name of the network on Adapter one is "skolelinux", if it isn't selected already. click ok.
- From the command line you can do it with
- {{{
- $ VBoxManage modifyvm tjener --nic1 natnetwork
- }}}
=== Set up a diskless workstation ===
@@ -115, +177 @@
In VirtualBox GUI, create a new machine for a thin client. The most easy way is to clone the ws1 image, and change the "NAT Network" to "thinclient". Recommended values for memory is 1024 MB RAM, 512 MB RAM is minimum. Give it a name (for example "tc-01"), 1024 MB RAM and no hard drive. After creation, change settings. On System, allow the machine to boot from network in the Boot Order list. Under Network, Adapter 1, select "NAT Network" and the correct network ("thinclient" in this example). You might change the MAC address by pressing the two arrow circle under the Advance menu. Given that the main and thin client server already runs in a virtual machine, just start the wk1 virtual machine, and it should start. Easy peacy.
+ == Notes for automation of the steps ==
+
+ Instead of using the graphical interface, several steps can be performed from the command line.
+
+ Create the images for the VMs:
+ {{{
+ qemu-img create -f qcow2 debianedu-gateway.qcow2 4G
+ qemu-img create -f qcow2 debianedu-tjener.qcow2 70G
+ }}}
+
+ == Missing documents/pages ==
+
+ These are the thoughts from the original Wiki page author for improvements of this page:
+
+ 1. Short guide on how to report bugs at the [[TestCDinstall]] page.
+ 2. Short guide how to get access to logs and screen dumps as easy as possible. This makes it easier to report accurate bug reports.
+ 3. Test scripts to run for automatic setup and running the different test configs :)
+
More information about the debian-edu-commits
mailing list