-
-
Notifications
You must be signed in to change notification settings - Fork 188
Deployment
You have to decide which medium a thin client will use to load the ThinStation boot image (“deployment”). You have three options:
Note - All bootloaders besides grub have been deprecated. While many of the concepts written here are still applicable, the only available bootloader is grub, and it supports all booting modes.
A comparison:
Medium | CD/DVD | removable media | internal storage devices | network |
---|---|---|---|---|
Initial setup effort | very low | low | medium | (very) high |
effort of boot image update | medium | medium | high (low Using-the-hdupdate-package) | low |
massive parallel booting | no problem | no problem | no problem | network bottleneck |
No matter which way you deploy ThinStation you can always fetch configuration files through the network.
A very easy way to boot ThinStation is from CD or DVD.
Pro: little setup required; reliable boot process
Con: tedious process of (erasing and) writing an optical medium; does not scale (work well) for lots of thin clients (lots of CDs have to be written)
Fetch the ISO image file thinstation-efi.iso
from the subdirectory build/boot-images/grub
of you build environment and write it onto a CD or a DVD using any available CD/DVD writing application. Now put this CD/DVD into the thin client optical drive and boot from it.
If you plan to boot from either removable media or internal storage devices you will probably be using the same bootloader: GRUB.
Pro: little setup required (only BIOS/UEFI); reliable boot process; scales (works) well for lots of thin clients if you have a stable boot image in place
Con: tediuous process of writing the boot image to the drive (USB stick, Compact Flash card, SD card, hard disk) – To avoid this use hdupdate.
- Is your drive physically attached to your development system?
-
Yes: From inside the chroot environment identify the drive that you want to be bootable.
fdisk -l |grep -e "Disk /"
will list all block devices attached to the system (e.g./dev/sdb
). Then runmkmbrdrv -o /build/boot-images/grub/efi-source -p d:0:boot <drive ex. /dev/sdb>
or
flash <device ex. sdb>
-
No: Maybe use this CD to USB
- Put your drive (back) in the thin client and boot from it.
When doing a remote install, consider the local-install package or the installer package for an interactive deployment.
The easiest and most common method of booting ThinStation from network is by using PXE. PXE is implemented in virtually every modern networking card (including onboard devices on mainboards). Thus it is very likely that your thin client supports PXE booting.
Pro: on the client side almost no setup (only BIOS/UEFI) and no storage device is required
Con: in your network a set of services (DHCP, TFTP) is required that is not trivial to set up; does not scale (work well) for lots of thin clients (the delivering server is a bottleneck)
PXE requires you to have a working DHCP service for assigning IP adresses to thin clients. In addition to that you have to configure two so called DHCP options for requesting thin clients:
- To tell a thin client where to boot from you have to set option number 66 to the hostname or the IP address of the TFTP file server (serving the boot loader).
- Each thin client has to know which file to request as a boot loader from the TFTP server. You have to set option number 67 to the exact file name of the PXE boot loader on the server.
This isboot/grub/pxeboot.img
for BIOS mode.
This isEFI/boot/grubx64.efi
for EFI mode.
You also need to set up a TFTP file service to deliver
- the PXE boot loader file (mandatory),
- the PXE boot loader configuration files (optional but very common),
- the Linux kernel (optional but very common),
- the initial ramdisk (initrd) for system boot up (optional but very common) and
- boot time configuration files for ThinStation thin clients (optional but common).
Numbers 3 and 4 from above can be delivered by HTTP or FTP servers too. This needs special configuration of GRUB that is not covered here.
All of the above files need to reside in the TFTP server root directory (“TFTP root”) tree that is served to thin clients.
- Copy all files from the following subdirectory
build/boot-images/grub/efi-source
of you build environment into your TFTP root directory. - Boot your thin client via PXE.
By default all devices booting via PXE will now load your most recent ThinStation boot image.
Pro: Faster then PXE when you use HTTP instead of TFTP
Con: in your network a set of services (DHCP, HTTP) is required that is not trivial to set up; does not scale (work well) for lots of thin clients (the delivering server is a bottleneck)
- Build ThinStation.
- Copy the following files from the subdirectory
build/boot-images/grub/efi-source/boot
of you build environment into your HTTP root directory:
-
vmlinuz
(Linux kernel) -
initrd
(initial ramdisk).
- Create boot entry in your ipxe menu
- If you have fastboot enabled
- Copy
lib.squash
somewhere accessible over http (can be along sidevmlinuz
), - You might also need to set
FASTBOOT_URL=
inthinstation.conf.buildtime
to point to the directory that contains this file.
#!ipxe
kernel ${boot-url}/thin/boot/vmlinuz splash=silent,theme:default console=tty1 LM=3
initrd ${boot-url}/thin/boot/initrd
boot