Commit graph

31 commits

Author SHA1 Message Date
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
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
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
Floris Bos
b34d2a54af Show keyboard instructions if no mouse / warning on custom repo 2021-11-23 12:27:04 +01:00
Floris Bos
fe2c1c55bd Linux Embedded: add support for language/keyboard selection 2021-11-22 00:21:30 +01:00
Floris Bos
8f9fbcffeb First attempt at cloudinit support
Experimental
2021-11-18 20:50:44 +01:00
Floris Bos
62e9969afb Basic CLI support
Closes #221
2021-05-06 16:49:17 +02:00
Floris Bos
e2296deb1a Mac OS X: advanced options. offer to prefill system wifi PSK
Offer to prefill the wifi password of the system running
Imager, like we do on Windows.

Ask user first if that is desired, as it does cause OS X to
generate a prompt asking for admin password.
2021-05-04 22:51:08 +02:00
Floris Bos
b57da413a6 Fix handling of wifi password with special characters
We could cover the backtic case by using nowdoc instead of
heredoc, but then there may still be problems with double quotes.
Put the PBKDF2 hash instead of plaintext password in
wpa_supplicant.conf to solve such problems.

Closes #206
2021-04-11 14:09:28 +02:00
Floris Bos
2261faabc5 Fix Windows progress on images >2GB
Closes #133
2021-01-30 23:18:26 +01:00
Floris Bos
ab29b218af Fix handling of .iso files
Do not let libarchive treat iso as archive that needs to be
extracted.
2021-01-26 22:17:56 +01:00
Floris Bos
abbed47f97 Shift+Ctrl+X option screen: allow persisting settings 2021-01-20 13:04:18 +01:00
Floris Bos
86f893388c Shift+Ctrl+X for advanced users that likes to customize the image
- Adds "hidden" shift+ctrl+X shortcut for eXpert image customization
  options.

Allows one to set certain options on RPI OS images, namely:

* disable overscan
* set hostname
* enable ssh and
  - set Pi user password if using password authentication
  OR
  - set authorized_keys
    (if running Imager on Linux/Mac this will
     have contents of ~/.ssh/id_rsa.pub prefilled)
* configure wifi settings
  (if computer running Imager is connected by wifi it will
  prefill wifi SSID and if on Windows also PSK).
* set time zone and keyboard layout

  Related to feature requests/issues:
  Ref #127
  Ref #86
  Ref #102
  Ref #73
  Ref #68
  Ref #25
  Ref #12

- Option Window also allows setting a couple other general settings:

* Adds option for audible notification (beep) when imaging completes.
  Closes #46

* Adds option not to eject media when done.
  Closes #144

- No longer suspends a number of Windows services during Imaging
  (We want Windows to detect the drive and mount it, or we may
   not be able to alter files on FAT partition).
2021-01-17 17:43:17 +01:00
Floris Bos
2844b5bd1a Do not activate embedded mode for wayland
Embedded (fullscreen) mode was activated automatically if QPA
platform type is eglfs, wayland or linuxfb.
However although setting window size to -1 does result in fullscreen
on eglfs, on wayland it results in
"Client tried to set invalid geometry"

Do not activate embedded mode for wayland.

Closes #143
2021-01-11 18:43:41 +01:00
Floris Bos
1d0087929c Windows: show progress in taskbar
Windows: show progress in taskbar
Closes #132

Implemented in ImageWriter class instead of qml for practical
reasons. GUI stuff does not really belong there, but there is no
easy way to have platform specific stuff in qml, lacking #ifdef
2020-12-09 14:23:40 +01:00
Floris Bos
78276cffb7 Add --disable-telemetry command-line option 2020-12-07 14:42:10 +01:00
Floris Bos
43c1e05795 Disable telemetry if user specified custom repository with --repo 2020-12-07 13:50:53 +01:00
Floris Bos
95ce718d41 Enable telemetry
- Phone back home image downloaded for image popularity research.
  Only in case image comes from our repository (NOT for custom images)
2020-12-01 15:50:58 +01:00
Floris Bos
eb11ba2707 Remember last selected custom image path
Closes #123
2020-11-23 19:53:13 +01:00
Floris Bos
7385dd0838 Add update notification support 2020-11-23 19:52:51 +01:00
Floris Bos
e4d99008fe Fix \n -> <br> in translations
Closes #119
2020-11-19 19:05:09 +01:00
Floris Bos
6b178731c7 Improve status reporting
There are some user complaints that Imager hangs at "writing 0%"
Mention in the progress status what it is actually doing prior
to writing (e.g. opening storage, blkdiscarding,
zero'ing out MBR, starting download) to help diagnose
potential issues.
2020-11-19 18:10:05 +01:00
Floris Bos
755d7dc6ab Enumerate drives in seperate thread
Ref #87
2020-07-02 23:31:20 +02:00
Floris Bos
fa7637e7dc Do not use libcurl for reading local files
We originally used libcurl for both downloading images from
Internet and reading local files to have the same code path for both.

It doesn't work that well in practice, as Qt and libcurl are not
on the same page how special characters such as Chinese characters
are represented in a local file URL.

So create a new class to handle local files.

Closes #76
2020-06-01 19:43:51 +02:00
Floris Bos
123542a66b Linux embedded: misc improvements
- Allow static build
- Use .svg icons
- Linux Embedded lacks normal "open file dialog". So simply scan
  files in root folder of USB stick and return list.
- Change QProcess::execute(command) calls to
  QProcess::execute(command, args) calls to silence Qt 5.15.0
  depreciation warning.
2020-06-01 17:45:41 +02:00
Floris Bos
5b072f3196 Build changes
- Add support for embedded Linux without X, dbus, udisks, ntp, etc.
- Misc minor changes
2020-05-25 00:36:16 +02:00
Dave Jones
3bb47b6377 Fix #62
Append "rpi-imager/version-num" to the default User-Agent when curl is
downloading the image so that image hosts can more easily distinguish
rpi-imager traffic from other traffic.
2020-05-19 19:56:32 +00:00
Floris Bos
0264af9b73 Performance improvements
- Use larger buffer size when writing uncompressed files
  (was libcurl's default of 16 kb, change it to 128 kb)
- Uncompress the next MB of data, while it is hashing/writing to
  disk in seperate thread.
2020-03-10 23:22:20 +01:00
Floris Bos
bd37916527 Mention version number in title bar 2020-03-10 17:43:48 +01:00
Floris Bos
d7b361ba44 Qt/QML edition 2020-03-04 16:55:40 +01:00