Puavo

Laptops

Laptops are locally installed devices that boot locally, but still use the same image as netboot devices. Because laptops need to work in any network and also without network, they have some differences and limitations compared to netboot devices.

Laptops have two concepts:

  • personal devices that are primarily used only by a single user (e.g. teacher laptops)
  • shared devices that are stored in classrooms and used by pupils or others who may need them for an hour or two

Personal laptops act much like any normal laptop - the user can do some configuration settings and administration tasks depending on the Puavo settings. Updates are either automatic or launched by the user.

Shared laptops require always the user to enter username and changes to wireless network settings and printers are always removed after using the laptop. This is done to ensure that every laptop always functions the same way and the previous user's changes do not confuse the next one.

Authentication

Authentication is done with sssd that supports also offline mode. Authentication is done using kerberos, so the laptop needs connection to kerberos server. This works either by using the bootserver on the local network or by contacting kerberos master through VPN.

After kerberos authentication, puavo-rest is contacted for session information that contains also user information. This data is stored under path /var/lib/puavo-desktop/users/ that is linked to /state partition. Next user information is written to /var/lib/extrausers that NSS uses for passwd and group entries. sssd stores the user password for offline use.

If network connection is not available and the user has used the laptop before, the cached entries are used.

Developer mode

Personal laptops have also a developer mode where image is not updated automatically. User has sudo rights to do changes, but is also responsible for running normal system updates. Instead of using ramdisk for storing overlayfs upper partition, the changes are stored on /imageoverlays partition where every image has its own directory. Developer mode is activated in grub using developer mode entry.

Primary user needs to be set for developer mode to work.

Puavo settings

Option Description
Device primary user On personal laptops, this sets the user who uses the laptop. This user is set as default on login screen.
Personal device When set to false, NetworkManager and CUPS settings are reset to Puavo configured values on each boot.
Personally administered Primary user can use developer mode with sudo rights.
Automatic image updates Update image and take it in use automatically after configuring new image in Puavo.
Desktop Image Image that is used by default on the laptop. Automatic update mechanism checks always this image name to determine if there is an update available.
Kernel version Kernel version to use. This needs to exist inside the image. If the kernel version does not exist, the image specific default is used.
Kernel arguments Kernel parameters to use. These are passed to kernel through grub.