Create a new module and branding targeted at the smartphone and tablet
use case. The installation process is significantly different from your
typical PC install:
The UI must fit mobile screens, the amount of inputs visible on one
screen must be reduced.
Every input must be controllable with an on screen keyboard.
Full disk encryption is done with GRUB in Calamares, but mobile
devices use other bootloaders (u-boot, lk).
Complex partitioning screens are not useful for most users, as the
expectation is not that multiple OS can be installed next to each
other.
It would be nice if the regular Calamares modules worked with mobile
devices eventually. But this can't be done in one step (and before that,
the QML <> QWidgets related refactoring should probably be completed?),
therefore let's add it to calamares-extensions first.
This initial version is far from perfect, but what is there works
reliably. It should give a good shared base to iterate upon.
Implemented screens:
Welcome
Lockscreen PIN
Set the user password, but as numeric PIN. Because that is what the
current generation of mobile friendly Linux DEs expects (Plasma Mobile
and Phosh).
SSH server: enable or disable
To debug Linux distributions on phones, SSH is essential. Give
advanced users the opportunity to enable it and casual users the
option to skip this.
Credentials for SSH server
The SSH server has a dedicated user account with a stronger password.
Users are encouraged to replace password auth with SSH key auth after
the installation.
There is no partitioning screen. The target partition, which will be
formatted and optionally encrypted is defined in mobile.conf as
targetDeviceRoot. It is expected that the installer OS will use this to
install to an empty partition on the same medium as the installer (SD
card or eMMC) as explained here:
https://wiki.postmarketos.org/wiki/On-device_installer
Create a new module and branding targeted at the smartphone and tablet use case. The installation process is significantly different from your typical PC install:
It would be nice if the regular Calamares modules worked with mobile devices eventually. But this can't be done in one step (and before that, the QML <> QWidgets related refactoring should probably be completed?), therefore let's add it to calamares-extensions first.
This initial version is far from perfect, but what is there works reliably. It should give a good shared base to iterate upon.
Implemented screens:
Screenshots: https://postmarketos.org/blog/2020/07/15/pinephone-ce-preorder/#installer-with-optional-ssh-server-and-encryption
There is no partitioning screen. The target partition, which will be formatted and optionally encrypted is defined in mobile.conf as targetDeviceRoot. It is expected that the installer OS will use this to install to an empty partition on the same medium as the installer (SD card or eMMC) as explained here: https://wiki.postmarketos.org/wiki/On-device_installer
I ended up throwing everything into one module instead of several, because of a Qt Virtual Keyboard bug: https://gitlab.com/postmarketOS/postmarketos-ondev/-/issues/18
Based on, but adjusted to be distro-agnostic: https://gitlab.com/postmarketOS/postmarketos-ondev/-/releases/0.2.1
Closes: calamares/calamares#1451