Skip to content
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

[gen 3] update bootloader dependency to v302 #1785

Merged
merged 1 commit into from May 17, 2019

Conversation

@technobly
Copy link
Member

commented May 16, 2019

Problem

After merging Gen 3 and Gen 2 firmware bases together, there was no way to bump the bootloader dependency separately for each generation of device.

Solution

Separate the BOOTLOADER_DEPENDENCY for each generation based on a new definition PLATFORM_GEN, which is set to 0, 1, 2, 3, and 60000 (of course).

Backstory:

  • v1.1.0 contains bootloader v301, and dependency of v201 for both platforms. However Gen 3 devices (except for SoMs) and Electron contained the bootloader in system firmware, so they would apply the bootloader if it was less than v301. Photon/P1 don't contain bootloaders though, so they rely on the CLI via particle update or the Cloud to update them. The CLI only gets updated on default releases and did get v301 bootloaders for Photon/P1 added. That said, the dependency was still v201 so if they get Cloud updated to v1.1.0 they would not request v301 bootloader from the Cloud. There is only a minor update for Gen 2 bootloaders and the thought is that it's not absolutely required, so let's not risk an update to the bootloader just yet.

  • v1.2.0-rc.1 will contain this PR which is still v302 bootloaders (bumped this release due to #1777 ), and also now will have a separate dependency for Gen 2 and Gen 3. For now, we will leave Gen 2 as is depending on v201, but we will bump Gen 3 to v302 because also in this PR we have removed the bootloaders from Gen 3 devices. If a user updates from 0.9.0 to 1.2.0-rc.1, they would not get the required updates via the CLI since we only update particle update on default releases. So they will need to get it from the Cloud or via manual Y-Modem protocol update over USB Serial with particle flash --serial bootloader.bin. To force the Cloud update we need to bump the dependency version to v302.

  • v1.2.0 default - when this happens, we can update the dependency for all to v302 and Photon/P1 can get the minor update easily via the CLI or via the Cloud if they have an internet connection at the time. And just to state it one more time, the bootloader can always be manually updated via Y-Modem protocol over USB Serial with particle flash --serial bootloader.bin.

Steps to Test

  • Run unit tests
  • Clean build with different platforms and add an "error2" or "error3" inserted next to the BOOTLOADER_DEPENDENCY to ensure the build is picking up the correct one.

Completeness

  • User is totes amazing for contributing!
  • Contributor has signed CLA (Info here)
  • Problem and Solution clearly stated
  • Run unit/integration/application tests on device
  • Added documentation
  • Added to CHANGELOG.md after merging (add links to docs and issues)

  • [gen 3] update bootloader dependency to v302 #1785

@technobly technobly added this to the 1.2.0-rc.1 milestone May 16, 2019

@technobly technobly requested review from sergeuz and m-mcgowan May 16, 2019

@technobly technobly force-pushed the feature/bootloader-dep branch 2 times, most recently from 5e0bc17 to e78391d May 16, 2019

modules/shared/system_module_version.mk Outdated Show resolved Hide resolved
modules/shared/system_module_version.mk Outdated Show resolved Hide resolved

@technobly technobly force-pushed the feature/bootloader-dep branch from e78391d to fa438db May 17, 2019

@technobly technobly changed the title [gen 3] update bootloader dependency to v301 [gen 3] update bootloader dependency to v302 May 17, 2019

@technobly technobly force-pushed the feature/bootloader-dep branch from fa438db to 96c7372 May 17, 2019

@avtolstoy avtolstoy merged commit 8f6178f into develop May 17, 2019

2 checks passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details
continuous-integration/travis-ci/push The Travis CI build passed
Details

@avtolstoy avtolstoy deleted the feature/bootloader-dep branch May 17, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants
You can’t perform that action at this time.