From 492759567af95a91b45809395691cad9e61f1608 Mon Sep 17 00:00:00 2001 From: s-hadinger <49731213+s-hadinger@users.noreply.github.com> Date: Wed, 5 Jul 2023 09:55:17 +0200 Subject: [PATCH] Partition Wizard is now able to convert to safeboot from Shelly partition layout (#19034) --- CHANGELOG.md | 1 + tasmota/berry/modules/Partition_Wizard.tapp | Bin 16297 -> 15541 bytes .../Partition_Wizard/partition_wizard.bec | Bin 15854 -> 15098 bytes tasmota/berry/modules/partition_wizard.be | 25 +++++++++++++----- 4 files changed, 20 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5356f8dd4..e459976d7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ All notable changes to this project will be documented in this file. - Support for SGP41 TVOC/NOx Sensor (#18880) - Command ``BrRestart`` to restart the Berry VM (experimental) (#19003) - Command ``Restart 9`` to save all changes and go into deepsleep waiting for a reset (#19024) +- Partition Wizard is now able to convert to safeboot from Shelly partition layout ### Breaking Changed - Berry `bool( [] )` and `bool( {} )` now evaluate as `false` (#18986) diff --git a/tasmota/berry/modules/Partition_Wizard.tapp b/tasmota/berry/modules/Partition_Wizard.tapp index 14665731deda39cd505acb1cc0e0454fd4b45fe2..9b19600a23fc3433305003ab8c9379ed8331873a 100644 GIT binary patch delta 5179 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 QPUL5iev0S6?&a410HhIt4FCWD delta 6051 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 B;r9Rl diff --git a/tasmota/berry/modules/Partition_Wizard/partition_wizard.bec b/tasmota/berry/modules/Partition_Wizard/partition_wizard.bec index f0c39f5afe377ec19d97ee326b52077e55a291a4..b5227ecd65055926674eeb041663a4415a1eb4dc 100644 GIT binary patch delta 5024 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

Mc?wjj^2zO<5@NwgtfFr!nhIj0OAT$Q) z^Z=xF6G+BY?u4>uF#M$l@OSHQrfFvU9t!Q9_$!4`)vRpL13i-NmAA7A9ok7Kh|(*sN`F&U&m2H<5aUzMg)cqyhEXxBoWy7hHWY~XPN7LXcrlah|FK)M?;p;`uDm5f4yVx_mMaja6eduC&xwOswkjY|N z%q${C7ehPw&2_~^xB{O(q{T2uJaH`X1oN{8&s37OCwl!k=1wpUaDD~Mf_kaa39>#O zCY6r*RDL_F53()pH+)~_e$)3wW}ubI!98FgWpx4H?C{V=yL&Gb-zwl61J%C4l*D(l zkZ>vU-wE6`)6xuNe9O2|!Y>c3VO$x{(EB+147ii)Uerq`6KXq!dFshL_e18|>jC`o znA5k%oQwzYZW`!(P^pWEpaFFmbG_x+tc%PH4|HF#5Oy|HmfO+6v(RyVo}x1#e$G PvvRw_-hcX`8{&TfvY4$| diff --git a/tasmota/berry/modules/partition_wizard.be b/tasmota/berry/modules/partition_wizard.be index 500b15fff..abda19956 100644 --- a/tasmota/berry/modules/partition_wizard.be +++ b/tasmota/berry/modules/partition_wizard.be @@ -313,7 +313,7 @@ class Partition_wizard_UI # `app0` renamed to `safeboot` # `app0` changed subtype to `factory` # `app1` moved to right after `factory` and resized - # `app1` chaned subtype to `app0` and renamed `app0` + # `app1` changed subtype to `app0` and renamed `app0` # # Returns: # - false if READY @@ -413,16 +413,29 @@ class Partition_wizard_UI var step3_state = self.test_step_3(p) if step3_state == true return true end - if type(step3_state) == 'string)' raise "internal_error", step3_state end + if type(step3_state) == 'string' raise "internal_error", step3_state end var app0 = p.get_ota_slot(0) var app1 = p.get_ota_slot(1) if app0 == nil || app1 == nil raise "internal_error", "there are no `app0` or `app1` partitions" end var factory_size = self.app_size_min * 1024 - var firm0_size = app0.get_image_size() - if firm0_size <= 0 raise "internal_error", "invalid size in app0 partition" end - if firm0_size >= factory_size raise "internal_error", "app0 partition is too big for factory" end + do # open new scope + var firm0_size = app0.get_image_size() # get the size of the partition holding safeboot and check values + if firm0_size <= 0 raise "internal_error", "invalid size in app0 partition" end + if firm0_size >= factory_size raise "internal_error", "app0 partition is too big for factory" end + end + + # remove any SPIFFS partition that is not at the end of the partition table + var idx = 1 + while idx < size(p.slots) - 1 # skip explicitly the last partition + if p.slots[idx].is_spiffs() + p.slots.remove(idx) + tasmota.log("UPL: removesd unused SPIFFS partition", 2) + else + idx += 1 + end + end # do the change app0.subtype = 0 # factory subtype @@ -621,7 +634,7 @@ class Partition_wizard_UI # Resize FS to arbitrary size #---------------------------------------------------------------------# elif webserver.has_arg("resize_fs") - if !self.has_factory_layout(p) raise "internal_error", "Device does not avec safeboot layout" end + if !self.has_factory_layout(p) raise "internal_error", "Device does not have safeboot layout" end var fs = p.slots[-1] var last_app = p.slots[-2]