Skip to content

Unified firmware#1763

Open
mutatrum wants to merge 16 commits into
bitaxeorg:masterfrom
mutatrum:unified-firmware
Open

Unified firmware#1763
mutatrum wants to merge 16 commits into
bitaxeorg:masterfrom
mutatrum:unified-firmware

Conversation

@mutatrum

@mutatrum mutatrum commented Jun 15, 2026

Copy link
Copy Markdown
Collaborator

This PR embeds Axe-OS into esp-miner.bin to create a unified firmware.

It is still possible to upload a custom front-end, but this is a separate configuration option, as it's no longer needed for default installs.

It also exposes the currently installed firmware versions, as there are several partitions (factory, ota_0 and ota_1). This should make rolling back easier.

The esp-miner.bin is only 450kB bigger, instead of the full 3MB of the www.bin file. This was because the SPIFFS partition image of www.bin was not truncated, even though only 450kB of the 3MB was used. So the unified firmware is only a little bit larger, now clocking in at 2.4MB which leaves plenty of room on the 4MB partition.

image

Prior issue: #308 and #1002. This PR implements option 3 from 1002. The closing of these issues was done when Axewell-UI was released. Having the configuration option makes it possible to still use external developed front-ends.

Reason 3 was done to preserve the Angular filenames, which have a random hash at the end for cache-busting purposes. Other solutions would be trickier to get right, and disabling the cache-busting feature from Angular is not a viable option either.

@github-actions

github-actions Bot commented Jun 15, 2026

Copy link
Copy Markdown

Test Results

  2 files  ±0    2 suites  ±0   0s ⏱️ ±0s
111 tests +8  111 ✅ +8  0 💤 ±0  0 ❌ ±0 
113 runs  +8  113 ✅ +8  0 💤 ±0  0 ❌ ±0 

Results for commit 005e9b0. ± Comparison against base commit 55c7d8c.

♻️ This comment has been updated with latest results.

@mutatrum mutatrum added the enhancement New feature or request label Jun 16, 2026

@0xf0xx0 0xf0xx0 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

couple nits:

  • had a write error get thrown mid-progress bar, but still had to wait for the bar to complete before the error was displayed
  • maybe the restart modal on successful upload should clear itself when the page refreshes?
  • can we have a button to delete partitions?
  • choosing which partition to upload to would be cool too

Comment thread main/http_server/axe-os/src/app/components/update/update.component.ts Outdated
@mutatrum

mutatrum commented Jun 18, 2026

Copy link
Copy Markdown
Collaborator Author
  • had a write error get thrown mid-progress bar, but still had to wait for the bar to complete before the error was displayed

What caused the write error? It should handle it better now, but not sure how to test/reproduce this?

  • maybe the restart modal on successful upload should clear itself when the page refreshes?

Fixed.

  • can we have a button to delete partitions?

Why? I mean, yes, it's possible to add a delete button next to not-active partitions, not sure why you would want this. They would be marked as empty, not actually deleted. We cannot delete or change the partition table without forcing everyone to do a factory flash, it's a tiny miracle this is even possible without any partition table changes.

  • choosing which partition to upload to would be cool too

You can't upload to factory partition. And you always upload to the other OTA partition, you can't upload to the current active one. It's all managed by the ota library.

@0xf0xx0

0xf0xx0 commented Jun 19, 2026

Copy link
Copy Markdown
Collaborator

What caused the write error? It should handle it better now, but not sure how to test/reproduce this?

likely the same issue that triggers #764, sending a malformed request.

Why? I mean, yes, it's possible to add a delete button next to not-active partitions, not sure why you would want this. They would be marked as empty, not actually deleted. We cannot delete or change the partition table without forcing everyone to do a factory flash, it's a tiny miracle this is even possible without any partition table changes.

well, not delete-delete, but clear em? marking as empty would be good enough i think

You can't upload to factory partition. And you always upload to the other OTA partition, you can't upload to the current active one. It's all managed by the ota library.

ahhh i seee, ok nvm then

@WantClue WantClue self-requested a review June 19, 2026 21:54
@mutatrum mutatrum requested a review from 0xf0xx0 June 22, 2026 15:54
@0xf0xx0

0xf0xx0 commented Jun 22, 2026

Copy link
Copy Markdown
Collaborator

ouh oop, never posted

heres whats displayed now when a write error occurs
image

@0xf0xx0 0xf0xx0 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

acked

Image

# Conflicts:
#	main/http_server/axe-os/package.json
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants