Avoid waiting for the NetworkManager-wait-online or
systemd-networkd-wait-online service to complete in the midst of
prompting for root account password.
Scanning accesspoints requires an activated wifi device.
Networkd does not activate it (only NetworkManager does so).
As a result, firstlogin is not able to configure and use wifi on minimal
images, as only Server and Desktop images have NetworkManeger installed.
Activating the wifi device using "ip link set ${WIFI_DEVICE} up" before
scanning fixes this.
(And can safely be done - there is no problem activating it multiple
times, as it is the case with NetworkManager installed.)
Trying to run this in the background does not work correctly in its current iteration, setting the correct place on the screen for displaying did not work out.
Includes minor fixes and wording improvements.
- use Chrony with Network Manager
- use timesync with systemd-networkd
- use NetPlan with Network manager only
- move command-not-found to CLI image only
- improve firstlogin ip detection
* reload-or-restart ssh prevents botching if sshd is started by a systemd socket
* restart ssh prevents botching if sshd is started by a systemd socket
* move sshd activation from ssh.service to ssh.socket:
- more realiable, avoids possible race condition on first boot
- supplementary to PR#6586 - and commits ffee50a8a6 and 6725032191
* Add display_alert explaining the change in SSH activation
Improve naming confusion by changing build framework defaults. Set framework defaults VENDOR to Armbian-unofficial for self build images. Unsupported boards and unsupported distribution have framework defaults, except VENDOR and VENDORURL. We build images with predefined values.
Commit c909864922 removed a prompt
asking the user if they want to change display settings, but didn't
remove the checks that later used the answer. Since it's been like
this for 2 years now apparently without issue, remove the checks and
the shellcheck workaround.
Make the two Y/n questions that firstlogin asks behave consistently
with each other, and more in line with user expectation:
- Reject anything that is not Y, y, N, n or <enter>. Previously the
"Connect via wireless? [Y/n]" question would interpret Y, y and
<enter> as "yes", and everything else as "no", whereas the
"Set user language based on your location? [Y/n]" question would
loop until the user selected Y, y, N or n.
- Make pressing enter equivalent to the default "Y", since that
is the capitalized option.
- Echo back what the user typed.