-
Notifications
You must be signed in to change notification settings - Fork 232
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] Unable to write custom images / format as FAT32 without Internet #714
Comments
Definitely a defect. I'll take a look at this today. Workaround for now is to use the CLI:
|
When we changed the mechanism for appending the special flash options to the OS list, this made those items dependent on a JSON parsing success. Unfortunately, there's a number of ways that JSON parsing can fail. And when it did, it took out the special items with it. So, let's make failure return an empty object - which is safe with all current callers - and let the subsequent iterators catch the empty case. Tested on WSL, in a no-internet scenario. Resolves raspberrypi#714
Or drag & drop file from a file manager to Imager GUI window. |
It really should have the "use custom" item by default, and user should not have to wait till failure. E.g. on embedded it will not start downloading the list until it has received an IP through DHCP. Which may take 30 seconds if STP is active in network. |
That sounds like an orthogonal bug, where the embedded imager should present an OS list immediately and back-fill as it gains more knowledge? |
Perhaps at least display a big fat warning if STP is in-use and it is going to take a long time for Imager to be functional. (Can be detected. Like we do with Piserver https://github.com/raspberrypi/piserver/blob/67a1513d8e6b6ec60458a6cfa81e97d046934bca/src/stpanalyzer.cpp ) But regardless of that. I do believe "use custom" should be available in all situations. And not only after a failure. |
@maxnet Completely agreed. Unfortunately this dovetails with another incoming feature, where we are going to move the OS list fetching and filtering into the C++ layer as part of a refactor to grant more powers to the CLI mode. |
I now believe the latest PR (#719) should safely resolve this problem - albiet producing slightly different internal JSON representations. Additionally, it sets the ground work for moving more business logic into the C++ layer, where we can verify it ahead of time. |
Describe the bug
It is no longer possible to write custom images or format as FAT32 without Internet.
As also noticed by end-users: https://forums.raspberrypi.com/viewtopic.php?t=359002
To Reproduce
Additional context
Imager was originally designed to still offer the option to write a custom .img file, and format as FAT32, even if the user doesn't have Internet and downloading the os_list therefore fails.
This was done by hard coding those options in the osmodel ListModel in main.qml and pre-pending additional items to it on download.
Commit 3f665e0#diff-6b6066b8c2cfa063e0014db476a9967f054fc913bb71de97644e91e91e3660d3R1400 changes this to only append the custom image options after the OS list is downloaded.
This renders Imager unusable to users that cannot directly use the RPI server for any reason. (Could be no Internet, but also that they are running an old operating system that does not have the right SSL certificates, or that they cannot reach the server directly due to firewall problems, which they may have no control over.)
If this change in behavior was intended then at least the commit log should mention that.
Failing that, I consider this a bug.
The text was updated successfully, but these errors were encountered: