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

Building an ARM image with Yocto #56

Closed
Voxel07 opened this issue May 3, 2021 · 4 comments
Closed

Building an ARM image with Yocto #56

Voxel07 opened this issue May 3, 2021 · 4 comments
Labels
area: yocto There is an issue with Yocto meta-layers

Comments

@Voxel07
Copy link

Voxel07 commented May 3, 2021

I was able to install and run the Agent on an Ubuntu VM to validate if DU has all needed functionality.
Now I want to cross compile the Agent using Yocto 3.0. Yocto is set up, and I'm able to create images for my target device. All that is missing is how to add the agent recipe. Unfortunately I could not find an example on how to do this.

@ValOlson Mentioned added recipes. It would be nice to get them.

At the moment it's not clear to me which packages are used during compilation and which during runtime. The c-sdk porting guide mentions some, but does not specify further if these are host packages or for the target. The fact that the example is for a Pi who is able to install all dependency by himself and then simply copy them to a host system does not help either.

@ValOlson
Copy link
Contributor

ValOlson commented May 3, 2021

Hello @Voxel07,

You can find the raw recipes used to generate the Yocto image here and look for meta-azure-device-update.zip.

Thank you.

@Voxel07
Copy link
Author

Voxel07 commented May 10, 2021

@ValOlson Thank you very much, worked perfectly. Are there any plans to release the meta-azure-device-update layer as a separate repo ?

@ValOlson
Copy link
Contributor

So far the plan is to only make this available in our GitHub. Glad that this helped you.

@Voxel07
Copy link
Author

Voxel07 commented May 10, 2021

Thanks for the Info.

@Voxel07 Voxel07 closed this as completed May 10, 2021
shiyi-peng pushed a commit that referenced this issue May 24, 2021
* Squashed commit of the following:

commit f6026697c567ea260e296bf9260db94713e231b0
Author: Nox-MSFT <55153324+Nox-MSFT@users.noreply.github.com>
Date:   Thu Apr 23 17:17:23 2020 -0700

    Refactor IsInstalled() logic. Make Sandbox’s permission RWX. Consume libdocsdk.so (#76)

    Fixed bug where DSMHandler::IsInstalled() throw after failed to create a plugin, due to missing DSM file in Sadbox folder.

    Refactor how we handle the case where DSM file is missing.

    Will revisit DSMHandler design after private preview.

    Also link to libdocsdk.so instead of libdocsdk.a to avoid binary mismatch issue.

    Bugs

    Bug 25997916: Deployment to ADU Client fails at IsInstalled with unhandled exception [callresultmethodandhandleexceptions]

    Bug 26013591: ADU client need to use new DO-SDK version (may also need to update build pipeline)

commit 5ee97f6e32bc5b8ed101bbc8d3c136ed386c9468
Author: Nicholas Hemstreet <62158276+nihemstr@users.noreply.github.com>
Date:   Wed Apr 22 15:29:33 2020 -0700

    ReadConnectionStrFromFile will only return buffer insufficient if the… (#77)

    * ReadConnectionStrFromFile will only return buffer insufficient if the first line cannot be entirely read from the file

    * Updated method for checking buffer overflow and changed some character lines

    * Removed needless removal of the flag

commit dbf83a9123d97e8c4d0310491070854627ec8fa3
Author: Nox-MSFT <55153324+Nox-MSFT@users.noreply.github.com>
Date:   Tue Apr 14 22:15:05 2020 -0700

    Include libcpprest in dependencies list (#75)

commit 349c8ebfbb2834db8c200caa7b86983d9c7e3ce8
Author: Casey Irvine <44978150+cirvine-MSFT@users.noreply.github.com>
Date:   Mon Apr 13 17:56:01 2020 -0700

    Write swupdate logs to same folder as client + image doc updates. (#73)

    * Updating adu_install.sh with log option

    * Updating adu_install with log_dir

    * Fixing shellcheck errors

    * Fixing issue with missing -l option

    * Updating docs

    * Addressing PR feedback

    Co-authored-by: Casey Irvine <casey.d.irvine@gmail.com>

commit 2fd1f7594d32388a0dfadfdccafaa64a5d0d3b6b
Author: Carmen Forsmann <cmforsmann@live.com>
Date:   Mon Apr 13 16:03:42 2020 -0700

    Update desired-state-manifest.md broken images (#74)

    * Update desired-state-manifest.md

    * Update desired-state-manifest.md

    * Update desired-state-manifest.md

    * Update desired-state-manifest.md

    * Added cumulative image for better fit

    * Update desired-state-manifest.md

    * Update desired-state-manifest.md

    * Update desired-state-manifest.md

commit 54570f90002e5126144e81f35ce51af392c81378
Author: vimeht <59975079+vimeht@users.noreply.github.com>
Date:   Mon Apr 13 13:20:46 2020 -0700

    Update desired-state-manifest.md (#68)

    * Update desired-state-manifest.md

    updating to add guidelines for creating a dsm

    * Add files via upload

    * Update desired-state-manifest.md

    * Delete cumulativeDSM1.PNG

    * Add files via upload

    * Add files via upload

    * Delete cumulativeDSM1.PNG

    * Delete cumulativeDSM2.PNG

    * Delete cumulativeDSM3.PNG

    Co-authored-by: Jerry-GeGarcia <54458572+Jerry-GeGarcia@users.noreply.github.com>

commit 6b1088279c7a29e79ffcfd18d85948b43aabadd8
Author: vimeht <59975079+vimeht@users.noreply.github.com>
Date:   Mon Apr 13 13:19:49 2020 -0700

    Update how-to-publish-quickstart.md (#69)

    * Update how-to-publish-quickstart.md

    Updating wording to include both image and DSM. Scripts still need to be updated. Will be done in another pass

    * Update docs/quickstarts/how-to-publish-quickstart.md

    Co-Authored-By: Casey Irvine <44978150+cirvine-MSFT@users.noreply.github.com>

    * Update how-to-publish-quickstart.md

    * Update how-to-client-eval-sim-quickstart.md

    Co-authored-by: Casey Irvine <44978150+cirvine-MSFT@users.noreply.github.com>
    Co-authored-by: Jerry-GeGarcia <54458572+Jerry-GeGarcia@users.noreply.github.com>

commit 4a12c08a8055103c89605cdee7e0a775079f57e0
Author: Nox-MSFT <55153324+Nox-MSFT@users.noreply.github.com>
Date:   Fri Apr 10 12:38:47 2020 -0700

    Changed  Aduc agent (simulator) default log dir to /tmp/aduc-logs. And minor comment improvement. (#70)

    Set default log dir for "simulator" build to /tmp/aduc-logs
    Update comment for safe_json_serialize_to_file_pretty.

commit f2b67ca9672898d97e485c7e970c4d65689f636c
Author: Casey Irvine <44978150+cirvine-MSFT@users.noreply.github.com>
Date:   Fri Apr 10 10:10:46 2020 -0700

    Fixing typo in CMakeLists.txt (#72)

commit 3e509ccf2128867e20ec854f248268a53c041805
Author: Casey Irvine <44978150+cirvine-MSFT@users.noreply.github.com>
Date:   Fri Apr 10 00:34:32 2020 -0700

    Fixing package dependency on DO (#71)

    Changed dependency on do-client-lite to ms-doclient-lite
    Added ms-dopapt as a Suggested package.

commit 2da9e0929622b16116c9a0039833b64ee554b99d
Author: Nox-MSFT <55153324+Nox-MSFT@users.noreply.github.com>
Date:   Thu Apr 9 10:24:50 2020 -0700

    Changed installedCriteria file folder and persist timestamp. Changed package version string format.   (#64)

    Saving installedCriteria data to /var/lib/adu/installedcriteria file.
    Persist timestamp as part of installedCriteria data.
    Change package version string format. (Remove '=' sign) and updated the document.
    Add more unit tests

commit 78acc5ee9aa2148415fc09f2b1c875f74641888f
Author: Casey Irvine <44978150+cirvine-MSFT@users.noreply.github.com>
Date:   Wed Apr 8 23:51:36 2020 -0700

    Fixing issues reporting JSON in InstalledContentId (#66)

    * Fixing issues reporting JSON in InstalledContentId
    * Using Parson instead of snprintf to serialize JSON.
    * Fixing references to adu-install.sh
    * Ran sh-format.sh on adu_install.sh

commit b6d652def464cf8032c72a4ac3313eeac11f41c9
Author: Casey Irvine <44978150+cirvine-MSFT@users.noreply.github.com>
Date:   Wed Apr 8 17:56:18 2020 -0700

    Merging latest master into dev/package-update (#65)

    * Adding documentation for Yocto and improved details about ADU reference client (#42)

    * improved client docs

    * clean-up of new file

    * Update docs/linux-reference-client/client-overview.md

    Co-Authored-By: Casey Irvine <44978150+cirvine-MSFT@users.noreply.github.com>

    * address PR feedback

    * fix typo

    * update simulator documentation

    * update shell commands and markdown spacing

    Co-authored-by: Casey Irvine <44978150+cirvine-MSFT@users.noreply.github.com>

    * update simulator command and typo for client overview (#45)

    * update simulator command and typo for client overview

    * remove sudo from command

    * Adding signed ADU-Management cmdlets, signed and modified ADU-Content… (#37)

    * Adding signed ADU-Management cmdlets, signed and modified ADU-Content cmdlets
    * Modifying gitignore files

    * User/chrudrap/add signed cmdlets (#52)

    Bug fix in the setup script - loading MSAL.NET to path

    * Andbrown03312020 (#55)

    * Update how-to-publish-quickstart.md

    * Update how-to-publish-quickstart.md

    * Add install-prefix option to the build.sh script. (#62)

    * Add install-prefix option to the build.sh script.

    * Apply suggestions from code review

    Co-Authored-By: Casey Irvine <44978150+cirvine-MSFT@users.noreply.github.com>

    * Fix indentation

    Co-authored-by: Casey Irvine <44978150+cirvine-MSFT@users.noreply.github.com>

    * Fixing deleted line in merge.

    * Apply suggestions from code review

    Co-authored-by: Carmen Forsmann <cmforsmann@live.com>
    Co-authored-by: Chinmay Rudrapatna <59946089+chrudrap@users.noreply.github.com>
    Co-authored-by: Andrew Brown <59940770+andrewbrownmsft@users.noreply.github.com>
    Co-authored-by: Emre Girgin <50592283+mrgirgin@users.noreply.github.com>

commit 25736479750063a1cb97e9a28f9cd4e8f7d9478c
Author: Casey Irvine <44978150+cirvine-MSFT@users.noreply.github.com>
Date:   Wed Apr 8 16:14:26 2020 -0700

    Fixing debian package version. (#63)

    Replacing '-' with '~' in our semantic version
    to make it debian version schema compliant.

commit c4223196b6d7a1132eff47fc485d5450b7490dd4
Author: Nox-MSFT <55153324+Nox-MSFT@users.noreply.github.com>
Date:   Tue Apr 7 14:40:55 2020 -0700

    Preserve existing config.yaml on update. Fail when download bogus package. IsInstalled unittest. Code clean up. (#61)

    Add a default Dpkg options to preserve exising config.yaml file when upgrading packages.

    Fix bug where Download() succeeded when specified a bogus package.

    Some code clean up.

    Refactor apt_pkg_helper to throw exception in come cases.

    Add package "update" unit test

    Add IsInstalled() unit test

commit 88c2fde33d2d6a745e2aebc4d9a4e57aab4fa862
Author: Casey Irvine <44978150+cirvine-MSFT@users.noreply.github.com>
Date:   Tue Apr 7 10:41:06 2020 -0700

    Fixing issue with reading config file. (#57)

    * Fixing adu config file path.

commit 97898e929d8f8a2438755becc7cc932348e594bc
Author: Casey Irvine <44978150+cirvine-MSFT@users.noreply.github.com>
Date:   Tue Apr 7 09:14:22 2020 -0700

    Making daemon run as root. (#58)

    * Making daemon run as root.

commit cc28c764d5d312cd2961153423ee0aab55ebad04
Author: Casey Irvine <44978150+cirvine-MSFT@users.noreply.github.com>
Date:   Tue Apr 7 08:56:28 2020 -0700

    Fixing PersistInstalledCriteria return value. (#60)

    * Fixing PersistInstalledCriteria return value.

commit 42934b94ba5c9b402e88fcbb79e1a73202f09f5e
Author: Casey Irvine <44978150+cirvine-MSFT@users.noreply.github.com>
Date:   Tue Apr 7 07:10:54 2020 -0700

    Fix DSM APT version specifier format ('=' not '==') (#59)

    * Fix dsm version specifier

    * Addressing PR feedback.

commit 1fdd33bd700b4f46900bb2c5d36b2e3cede0514d
Author: Casey Irvine <44978150+cirvine-MSFT@users.noreply.github.com>
Date:   Fri Apr 3 16:41:27 2020 -0700

    Merging latest master branch into dev/package-update (#56)

    * Adding documentation for Yocto and improved details about ADU reference client (#42)

    * improved client docs

    * clean-up of new file

    * Update docs/linux-reference-client/client-overview.md

    Co-Authored-By: Casey Irvine <44978150+cirvine-MSFT@users.noreply.github.com>

    * address PR feedback

    * fix typo

    * update simulator documentation

    * update shell commands and markdown spacing

    Co-authored-by: Casey Irvine <44978150+cirvine-MSFT@users.noreply.github.com>

    * update simulator command and typo for client overview (#45)

    * update simulator command and typo for client overview

    * remove sudo from command

    * Adding signed ADU-Management cmdlets, signed and modified ADU-Content… (#37)

    * Adding signed ADU-Management cmdlets, signed and modified ADU-Content cmdlets
    * Modifying gitignore files

    * User/chrudrap/add signed cmdlets (#52)

    Bug fix in the setup script - loading MSAL.NET to path

    * Andbrown03312020 (#55)

    * Update how-to-publish-quickstart.md

    * Update how-to-publish-quickstart.md

    Co-authored-by: Carmen Forsmann <cmforsmann@live.com>
    Co-authored-by: Chinmay Rudrapatna <59946089+chrudrap@users.noreply.github.com>
    Co-authored-by: Andrew Brown <59940770+andrewbrownmsft@users.noreply.github.com>

commit 4db0505c06d8be1d36ff79797d3c5a291b3b8f32
Author: Casey Irvine <44978150+cirvine-MSFT@users.noreply.github.com>
Date:   Fri Apr 3 16:00:55 2020 -0700

    Fixing directory permissions and setting up permissions with DO. (#48)

commit 3f143076808d62077fde735a6821a48a07414094
Author: Nox-MSFT <55153324+Nox-MSFT@users.noreply.github.com>
Date:   Fri Apr 3 10:44:44 2020 -0700

    Implemented APT DSM Handler plugin (#50)

    * Upper layer DSM Handler integration
    * DSM Handler implementation
    * DSM Parser component
    * APT DSM Handler plugin
    * Unit tests for DSMParser & APT DSM Handler plugin
    * Apt-Pkg library helper component

commit 6c1e06871fc27ec1747617a8402690b648e6c512
Author: Nicholas Hemstreet <62158276+nihemstr@users.noreply.github.com>
Date:   Thu Apr 2 16:12:13 2020 -0700

    User/nihemstr/local store eis merge branch (#51)

    * Refactor for V2 ADU Core interface. (#30)

    Added ADU Core V2 interface implementation behind ifdefs.
    Refactored platform layer and content handler code.
    Moved some common code into libraries.
    Renamed files to be consistent.

    * Finishing ADU Core V2 PnP interface implementation (#38)

    Some small refactors.
    Addressed TODOs.
    Added exceptions.
    Moved hash functions into a library.

    * Create connection utils library and included it in main

    * Moved connection_utils to utils folder, added unit tests

    * Removed extraneous dependency

    * Removed unit tests and umock implementation, will resolve later in new branch

    * Removed ADU_CAS_FILE in favour of ADU_CONF_FILE

    * Removed merge goof that had two definitions of ADUC_MethodCall_IsInstalled

    * Provided a more verbose log error so user understands where the connection method comes from

    * Fixed naming conventions, minor merge errors, and ran clang-tidy

    * Added more verbose enum names in-keeping with the current project

    * Updated code with clang format, changed file reading method to gets, and responded to other PR concerns

    * Repsonded to PR concerns, tweaked some function and variable names, and added some better Logging messages

    * Added more verbose feedback from ReadConnectionStrFromFile and improved some comments

    * Fixed issues with some of the ReadConStrErrCode values and how ADU detects an insufficient buffer in ReadConStr

    * Fixed naming errors and improperly labeled logging tools, closed a memory leak

    Co-authored-by: Casey Irvine <44978150+cirvine-MSFT@users.noreply.github.com>

commit 932d34f0f9cea7c92155ec3e35320f22d7e97aed
Author: vimeht <59975079+vimeht@users.noreply.github.com>
Date:   Thu Apr 2 12:37:02 2020 -0700

    Update adu-overview.md (#54)

    Edits to ADU overview for package update

commit 5d3387d4547e43eb1ef711090f6a13a1694b9643
Author: Casey Irvine <44978150+cirvine-MSFT@users.noreply.github.com>
Date:   Tue Mar 31 16:26:31 2020 -0700

    Updating client documentation for the new package update scenario and refactoring. (#47)

    * Updating client documentation for the new package update scenario and refactoring. (#47)

    Also merging in from master:
    * Adding documentation for Yocto and improved details about ADU reference client (#42)

commit 1f1c63150f9229280013030f2a7148a9ed299177
Author: Casey Irvine <44978150+cirvine-MSFT@users.noreply.github.com>
Date:   Fri Mar 27 15:34:53 2020 -0700

    Adding support for logging directory in daemon (#44)

    Added support for the standard logging directory in the ADU deamon.
    Fixed issues where we are passing the wrong cmake vars to install script.
    Build the client package seperate from the standalone exe.

commit 0d7d118cba3c174cc626db30b29637fd08fa6580
Author: Casey Irvine <44978150+cirvine-MSFT@users.noreply.github.com>
Date:   Thu Mar 26 10:40:55 2020 -0700

    Adding package generation to build. (#43)

    Generating debian package for ubuntu 18.04
    Added daemon systemd unit file.
    Added cmake options to configure daemon.
    Moved cmake options to top level cmake file.
    Added building package to the azure pipelines.

commit bd42555d0dfc0cbd3c23f4fe541d478f6ae3fdcc
Author: Casey Irvine <44978150+cirvine-MSFT@users.noreply.github.com>
Date:   Fri Mar 20 18:20:39 2020 -0700

    Merge latest dev/adu-core-v2 into dev/package-update (#40)

    * Refactor for V2 ADU Core interface. (#30)

    Added ADU Core V2 interface implementation behind ifdefs.
    Refactored platform layer and content handler code.
    Moved some common code into libraries.
    Renamed files to be consistent.

    * Finishing ADU Core V2 PnP interface implementation (#38)

    Some small refactors.
    Addressed TODOs.
    Added exceptions.
    Moved hash functions into a library.

    * Fixing previous PR comments and adding UTs (#39)

    * Merging latest master into dev/adu-core-v2 branch. (#41)

    * Update README.md (#29)

    Added CELA disclaimer per Vincent and Karthik

    * Adding dev and feature branches to build. (#28)

    Co-authored-by: tejasp-ms <tejasp-ms@users.noreply.github.com>

    Co-authored-by: tejasp-ms <tejasp-ms@users.noreply.github.com>

commit d5d5b0870bc31fa6d8526571eb038bcaa26b47e7
Author: Casey Irvine <44978150+cirvine-MSFT@users.noreply.github.com>
Date:   Thu Mar 12 20:29:52 2020 -0700

    Refactor for V2 ADU Core interface. (#30) (#35)

    Added ADU Core V2 interface implementation behind ifdefs.
    Refactored platform layer and content handler code.
    Moved some common code into libraries.
    Renamed files to be consistent.

* Update version number
@eshashah-msft eshashah-msft added the area: yocto There is an issue with Yocto meta-layers label Jul 19, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: yocto There is an issue with Yocto meta-layers
Projects
None yet
Development

No branches or pull requests

3 participants