Skip to content

intel platforms: add list of Chromebook dev. environments - #379

Merged
lgirdwood merged 1 commit into
thesofproject:masterfrom
marc-hb:chromebook-options
Nov 15, 2021
Merged

lgirdwood merged 1 commit into
thesofproject:masterfrom
marc-hb:chromebook-options

Conversation

@marc-hb

@marc-hb marc-hb commented Nov 3, 2021

Copy link
Copy Markdown
Collaborator

Add list of options to develop on Chromebooks and links - especially
Zephyr's detailed Crouton guide.

Signed-off-by: Marc Herbert marc.herbert@intel.com

4. Chromebooks and SOF
----------------------

As stated above, Chromebook firmware is as of 2021 configured with the

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

this is more circa 2019/2020

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

I meant "up to today 2021". As a native speaker could you help me rephrase?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Ah if you meaning as "at the time of writing this" then I think this is good. We have 0 intent to change this, so I think its safe to write it as a "beginning in" style fashion to convey when the switch happened

As stated above, Chromebook firmware is as of 2021 configured with the
*community* key which means Chromebooks can run audio firmware signed by
anyone. The entire filesystem is locked by default instead but there are
a couple options to disable security for development purposes.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

You're right, I didn't because I assume the developer guide below already would but the Developer Mode is of more general interest, not just for ChromeOS

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The link below is a few generations behind, this should always be up to date :)

- ChromeOS has direct hardware access but development cannot happen on
ChromeOS itself, it requires a separate workstation similar to how
most embedded development does. Setting up its ``cros_sdk`` requires
significant time and effort, see the `ChromeOS developer guide

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

time yes, but it is "supposed" to be low effort... that being said, you do not need the cros_sdk to do strictly FW dev, if you want to modify the kernel then yes

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Good point about the kernel, thanks. I tried to avoid making a difference between SOF fw and the kernel (similar problem with Crouton) to keep this section short but now I think it's too much of a shortcut.

<https://docs.zephyrproject.org/2.7.0/boards/xtensa/intel_adsp_cavs25/doc/index.html>`_
on how to use Crouton for SOF.

- Finally, it is possible to "dual-boot" a regular Linux distribution on

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

or just wipe it entirely?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Good point, will add.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

"Dual-boot" is possible on some chromebooks? I rather more interested in this part. :) I'd like to know which ones support dual-boots.
And why it is least secure option?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Yes, it is, I have coworkers how have done it. I believe you have to use grub or something of the sorts to pick your boot partition. I believe its least secure because it completely disables all boot verification, this might be different though with our latest version of depthcharge, Havent seen it done in a few years.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

"Dual-boot" is possible on some chromebooks?

chrx.org does that.

Comment thread getting_started/intel_debug/introduction.rst Outdated

@marc-hb marc-hb left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Thanks @cujomalainey for the thorough review!

Comment thread getting_started/intel_debug/introduction.rst Outdated
<https://docs.zephyrproject.org/2.7.0/boards/xtensa/intel_adsp_cavs25/doc/index.html>`_
on how to use Crouton for SOF.

- Finally, it is possible to "dual-boot" a regular Linux distribution on

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Good point, will add.

- ChromeOS has direct hardware access but development cannot happen on
ChromeOS itself, it requires a separate workstation similar to how
most embedded development does. Setting up its ``cros_sdk`` requires
significant time and effort, see the `ChromeOS developer guide

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Good point about the kernel, thanks. I tried to avoid making a difference between SOF fw and the kernel (similar problem with Crouton) to keep this section short but now I think it's too much of a shortcut.

4. Chromebooks and SOF
----------------------

As stated above, Chromebook firmware is as of 2021 configured with the

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

I meant "up to today 2021". As a native speaker could you help me rephrase?

As stated above, Chromebook firmware is as of 2021 configured with the
*community* key which means Chromebooks can run audio firmware signed by
anyone. The entire filesystem is locked by default instead but there are
a couple options to disable security for development purposes.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

You're right, I didn't because I assume the developer guide below already would but the Developer Mode is of more general interest, not just for ChromeOS

@marc-hb
marc-hb marked this pull request as draft November 3, 2021 22:10

@fredoh9 fredoh9 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Overall looks good. Great to see the link to Zephyr document

<https://docs.zephyrproject.org/2.7.0/boards/xtensa/intel_adsp_cavs25/doc/index.html>`_
on how to use Crouton for SOF.

- Finally, it is possible to "dual-boot" a regular Linux distribution on

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

"Dual-boot" is possible on some chromebooks? I rather more interested in this part. :) I'd like to know which ones support dual-boots.
And why it is least secure option?

@marc-hb
marc-hb force-pushed the chromebook-options branch 2 times, most recently from 1c8e8b8 to 5996428 Compare November 12, 2021 00:05
@marc-hb
marc-hb marked this pull request as ready for review November 12, 2021 00:20

@cujomalainey cujomalainey left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

couple nits but otherwise good

Comment thread getting_started/intel_debug/introduction.rst Outdated
ChromeOS by a regular Linux distribution on *some* Chromebooks and
forget it is a Chromebook entirely. This comes at a price however: it
is the least secure option and the more likely to make your device
permanently unusable ("brick"). That level of risk is highly dependent

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Minus using a debuging tool

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Good point but I'm trying to keep this (most dangerous) section short and "simply scary" and debug tools would IMHO stray a bit too far from SOF. I believe there are enough references in case anyone wants to go and dive into serious Chromebook hacking.

I'm guessing you're thinking about https://chromium.googlesource.com/chromiumos/platform/ec/+/cr50_stab/docs/case_closed_debugging.md and similar? From past experience these solutions also tend to be somewhat model-dependent.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

From what I understand CCD should be supported going forward, its not the fastest thing in the world but if you want to unlock your system its better than opening some of these super thin cases.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

but yes i agree, good to make is scary :)

Add list of options to develop on Chromebooks and links - especially
Zephyr's detailed Crouton guide.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
<https://docs.zephyrproject.org/2.7.0/boards/xtensa/intel_adsp_cavs25/doc/index.html>`_
on how to use Crouton for SOF.

- Finally, it is possible to "dual-boot" a regular Linux distribution on

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

"Dual-boot" is possible on some chromebooks?

chrx.org does that.

ChromeOS by a regular Linux distribution on *some* Chromebooks and
forget it is a Chromebook entirely. This comes at a price however: it
is the least secure option and the more likely to make your device
permanently unusable ("brick"). That level of risk is highly dependent

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Good point but I'm trying to keep this (most dangerous) section short and "simply scary" and debug tools would IMHO stray a bit too far from SOF. I believe there are enough references in case anyone wants to go and dive into serious Chromebook hacking.

I'm guessing you're thinking about https://chromium.googlesource.com/chromiumos/platform/ec/+/cr50_stab/docs/case_closed_debugging.md and similar? From past experience these solutions also tend to be somewhat model-dependent.

@lgirdwood

Copy link
Copy Markdown
Member

@anton-intel @deb-intel shall we merge and fix grammar incrementally ?

@anton-intel

Copy link
Copy Markdown
Contributor

@anton-intel @deb-intel shall we merge and fix grammar incrementally ?

@lgirdwood Yes, please. I'll make some edits in a new pull request.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants