diff --git a/PACKAGING.md b/PACKAGING.md index 5982b71c5af8833bf60b7ef63508c3b51ade322c..0a927159b8593c06614e25c54c1abcfcce4d0ce5 100644 --- a/PACKAGING.md +++ b/PACKAGING.md @@ -49,6 +49,12 @@ make package-cli-linux-deb-{target} make package-gui-linux-deb-{target} ``` +- Service + +``` +make package-service-linux-deb-{target} +``` + Where `target` is the platform you are building for. Currently, the following targets have been tested: - x86_64-unknown-linux-gnu - aarch64-unknown-linux-gnu @@ -73,12 +79,20 @@ For different host/target pair, see [Cross Compilation](#cross-compilation) ## Linux Generic -Just a tarball of everything. Useful for creating packages that need to be maintained out of tree. Only supported for CLI for now. +Just a tarball of everything. Useful for creating packages that need to be maintained out of tree. + +- CLI ``` make package-cli-linux-xz-{target} ``` +- Service + +``` +make package-service-linux-xz-{target} +``` + Where `target` is the platform you are building for. Currently, the following targets have been tested: - x86_64-unknown-linux-gnu - aarch64-unknown-linux-gnu diff --git a/README.md b/README.md index 87025b30c4c877dd769a930e1164b16feefa1431..98852fd9de00b14c19735fa8f920107f0ad6bddf 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ A Rust rewrite of [bb-imager](https://openbeagle.org/beagleboard/bb-imager) with # Run ```shell -cargo run --package gui --release +cargo run --package bb-imager-gui --release ``` # Configuration diff --git a/bb-imager-service/README.md b/bb-imager-service/README.md new file mode 100644 index 0000000000000000000000000000000000000000..ba33b2196a9e3d69c5fb3f95b37cef4685b68c88 --- /dev/null +++ b/bb-imager-service/README.md @@ -0,0 +1,14 @@ +# Introduction + +A D-BUS service that allows to perform firmware upgrade for BeagleBoard devices (specifically Pocketbeagle2 MSPM0), from userspace applications (GUI). + +This is needed because there is no existing D-BUS service (like UDisk2) to open root sysfs entries as a non root user/application. Additionally, it seems most distributions heavily discourage use of `pkexec` since [CVE-2021-4034](https://blog.qualys.com/vulnerabilities-threat-research/2022/01/25/pwnkit-local-privilege-escalation-vulnerability-discovered-in-polkits-pkexec-cve-2021-4034). + +It uses polkit to verify if the application has necessary permissions to perform firmware upgrade. + +## Dependencies + +- polkit +- systemd + +It is possible to make things work without systemd, but it is not officially supported right now.