Commit graph

360 commits

Author SHA1 Message Date
Floris Bos
bfcbd6307c Embedded: output errors on console if failed to start 2022-02-14 11:06:54 +01:00
Floris Bos
25947fc199 Add build scripts for embedded (netboot) edition 2022-02-14 11:03:37 +01:00
Floris Bos
71754dd164 Add json schema (as documentation only, verify is not enforced) 2022-02-14 10:10:57 +01:00
Floris Bos
033ff07abf Move source files to /src 2022-02-14 10:07:15 +01:00
Floris Bos
4daff1ba79 Do not enable "set username and password" automatically if public key auth is used 2022-02-14 09:59:08 +01:00
Floris Bos
eb011bb049 Store saved wifi password hashed
Does have the consequence that if the user modifies the SSID, they
will also need to enter the password again, as PBKDF2 scheme hashes
SSID together with password.

Closes #344
2022-02-04 14:19:57 +01:00
Floris Bos
c1234d2ea2 Make buttons blue on keyboard navigation
- Make buttons blue when they have activeFocus to make it more
  clear which button has focus when using keyboard navation.
- By default most components only respond to 'space' on keyboard
  for pressing buttons and toggling checkboxes.
  Map Enter/Return (normal and keypad) as well.
2022-02-04 12:32:12 +01:00
Floris Bos
d91f8d95b1 Fix advanced settings not working if wifiSSIDHidden is not in settings file
- Fix advanced settings not working if users has wifi settings saved
  with previous version of Imager, and user selected "use always"

Ref #343

- Also fix problem where "SSH enabled" is not saved on Mac OS X due
  to the check assuming QSettings stores settings as strings, while
  with the plist stuff on Mac OS X it is stored as boolean.
2022-02-03 18:57:41 +01:00
Floris Bos
b8222915f8 Raspberry Pi (Trading) Limited -> Raspberry Pi Ltd
Same legal entity, just a company name change.

https://find-and-update.company-information.service.gov.uk/company/08207441/filing-history
2022-02-03 12:01:10 +01:00
Floris Bos
078985b312 Fix "error on writing to disk" that sometimes appears after "cancel"
- Do not generate "error on writing to disk" error if it is the
  result of the write being cancelled.
- Mac: QProcess::execute(cmdline) -> QProcess::execute(cmd, args)
  to avoid depreceation warning.
2022-02-03 11:43:29 +01:00
Floris Bos
538cf8c9dd Extend telemetry to include OS Imager is being run on 2022-02-03 11:41:23 +01:00
Floris Bos
3ac4ee7326 On opening advanced settings, focus advanced settings popup
Make keyboard navigation work better.
2022-02-03 11:38:51 +01:00
Floris Bos
4b71b5c305 Give extract thread more time to gracefully terminate on cancellation
Embedded build does not deal well with threads being forcefully
terminated.
So wait 10 seconds instead of 2 before resorting to that.
2022-02-01 19:53:22 +01:00
Floris Bos
0f6115e3a5 Enforce password is filled in if "set user" is checked even when not using SSH
Also fix logic for persisting wheter SSH is enabled.
2022-02-01 16:02:50 +01:00
Floris Bos
9c22346d61 If exiting program while downloading, terminate thread gracefully
Fix "terminate called without an active exception" message on Linux
2022-02-01 15:30:47 +01:00
Floris Bos
43b012f964 Update version / oslist url 2022-01-31 14:29:09 +01:00
Floris Bos
34460f84b8 Advanced settings: rework username/password logic
- Also change group name.
- Outsource changes to /usr/lib/userconf-pi/userconf if present
2022-01-31 14:26:08 +01:00
Floris Bos
2f4fe2f35a Update icons
- Add new logo, category icons for 3D printing, home automation and
  language specific operating systems.
- chmod 644 icons
2022-01-31 13:50:45 +01:00
maxnet
88c565c1b1
Merge pull request #331 from mzanetti/rework-osdelegate
Make osdelegate more flexible and robust
2022-01-24 11:10:50 +01:00
maxnet
e40d17cc1d
Merge branch 'qml' into rework-osdelegate 2022-01-24 11:09:40 +01:00
Floris Bos
c17795c48e Allow nested subitems
Fixes "Can't assign to existing role 'subitems' of different type"
or hang (depending on Qt version) on using nested subitems.

Keep nested subitems flattenend as json string in memory while not
being used, to simplify dealing with ListElement expectation that
all elements have the same data type, as well as QML/Ecmascript's
memory management.
2022-01-23 19:30:16 +01:00
Floris Bos
10b50d5f8e QRegExp -> QRegularExpression
- Change QRegExp -> QRegularExpression. To drop dependency on
  legacy Qt5Compat module, if we upgrade to a later Qt version
  at some point.

- Change some "for" constructs clang gives warnings about
  while we are at it.
2022-01-23 19:27:07 +01:00
Floris Bos
51a79c7229 Mac: set NSSupportsAutomaticGraphicsSwitching in plist
Closes #325
2022-01-23 16:37:05 +01:00
maxnet
9f1c87cc0b
Merge pull request #339 from bovirus/patch-5
Update italian language
2022-01-22 16:33:09 +01:00
bovirus
136c915dc0
Update italian language 2022-01-22 16:10:46 +01:00
Floris Bos
28148be1a0 Update translations 2022-01-21 17:32:07 +01:00
Floris Bos
ef6819f6c3 Embedded: reboot immeadetely upon success 2022-01-21 17:31:52 +01:00
Floris Bos
243da48257 cloud-init: reorder ssh/user creation 2022-01-21 17:25:32 +01:00
Floris Bos
566450c728 qml.qrc remove old cog icon 2022-01-20 17:31:34 +01:00
Floris Bos
83513733ef Advanced options: allow username and password to be set without ssh
- Allow username and password to be set separate to SSH.
  Does enforce password to be changed if SSH is enabled without
  public key authentication.
- cloud-init: apt: disable date/time checks
2022-01-20 17:24:25 +01:00
Floris Bos
ba5a27d154 Change advanced settings button
- Change image to button
- Add option to randomize OS list entries
2022-01-20 17:23:47 +01:00
maxnet
ef7106932e
Merge pull request #332 from 63BeetleSmurf/qml
Added option to specify SSID is hidden.
2022-01-20 13:06:58 +01:00
S Murphy
dcf93bd5e8 Added option to specify SSID is hidden. 2022-01-09 21:32:25 +00:00
Michael Zanetti
5cb57dae2b Make osdelegate more flexible and robust 2022-01-09 13:47:43 +01:00
Floris Bos
be40f05b50 Retry once on (GnuTLS) Recv errors
Try resuming download on CURLE_RECV_ERROR.
Will not retry more than once if nothing has been
downloaded since last attempt.

Ref #306
2021-12-21 23:07:53 +01:00
Floris Bos
69f5799145 Fix QtConcurrent use for future Qt version
Qt 6 has a breaking ABI change in relation to QtConcurrent::run()
https://doc.qt.io/qt-6/concurrent-changes-qt6.html
2021-12-21 22:50:13 +01:00
Floris Bos
47d331b664 Allow multi-line authorized_keys
Closes #316
2021-12-20 21:46:37 +01:00
Floris Bos
3733b0e4b3 Update Debian changelog for 1.6.3 2021-12-09 12:28:33 +01:00
Floris Bos
67618a2eac Bump bundled libarchive version to 3.5.2
- Update bunlded libarchive version used on Windows/Mac
- Enable requested zstd support while we are at it. Closes #211
2021-12-09 12:22:14 +01:00
Floris Bos
03e083b4f3 Embedded: do not mention mention that SD card can be removed 2021-11-30 23:18:21 +01:00
maxnet
652da25661
Merge pull request #314 from miharix/qml
Add sl-SI (EU/Slovenija) translation
2021-11-30 22:31:41 +01:00
miharix
d621cd18ba Add sl-SI (EU/Slovenija) translation
Changes to be committed:
	modified:   CMakeLists.txt
	new file:   i18n/rpi-imager_sl.ts
	modified:   i18n/translations.qrc
2021-11-28 17:04:10 +01:00
Floris Bos
5e2db9d16a QML: fix warning about anchors 2021-11-27 21:44:32 +01:00
Floris Bos
b42342d0ac Linux/udisks2/image customization: fix issue with mounting NVMe drives
When using image customization with an NVMe drive under RPI OS on a CM4,
the system will prompt non-root users for password when mounting the FAT file system.
(Passwordless mounting does is available for removable storage,
but the NVMe drive qualifies as internal storage instead).

- The mount command we send to udisks2 over dbus2 may timeout
before the user completed the password prompt.
Raise timeout to counter this.

- Print mount error details to console
- On mount error report error mounting in GUI instead of
  "/config.txt does not exist" (which happened when mountDevice()
  returned empty string)
2021-11-27 19:22:55 +01:00
Floris Bos
8b25991537 README.md: mention disabling parallel build on Pi
On bullseye it seems to default to 'make -j4' which will results
in OOM when it runs out of swap

==
[ 3004.100215] Out of memory: Killed process 6983 (cc1plus) total-vm:211660kB, anon-rss:170332kB, file-rss:0kB, shmem-rss:0kB, UID:1000 pgtables:428kB oom_score_adj:0
==

Mention how to disable parallel build in README.md
2021-11-27 19:11:09 +01:00
Floris Bos
35172d3489 README.md remove qt5-default
There is no qt4 anymore in bullseye.
2021-11-27 18:54:30 +01:00
Floris Bos
9a9c5eb490 cloud-init: set keyboard through localectl
Set keyboard through systemd's localectl instead of writing to
Debian specific /etc/default/keyboard directly, as this also
works for other Linux distributions.

On Debian/Ubuntu one does still need to run a distro specific
command to have the keyboard change be effective without
reboot first (setupcon).
2021-11-25 01:34:13 +01:00
Floris Bos
6845a86fc3 Linux: link liblzma explicity
Otherwise it gives unresolved symbols if libarchive is compiled statically.
2021-11-23 16:25:34 +01:00
Floris Bos
24d7546830 Embedded: allow custom repo to be set through EEPROM setting
Set IMAGER_REPO_URL in EEPROM  (sudo rpi-eeprom-config --edit)
to use an alternative repository.
2021-11-23 13:50:48 +01:00
Floris Bos
a4fb8293ed Embedded: Fix ability to change language back to English 2021-11-23 13:32:12 +01:00