-
Notifications
You must be signed in to change notification settings - Fork 5
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
Set up build scripts for all ARM build artifacts and the firmware #27
Comments
I've been working on a first version of this. Current state:
Open questionsI do not want to download the whole firmware repo from scratch every time. It takes much time to download and even more time to compile the linux kernel from scratch every time. What is a good way to check whether it is already downloaded? Currently plutosdr-fw download path is fixed and a check whether the dir exists is performed. Do we want to let the user choose where to create the plutosdr-fw dir? Kernel patching and changing the buildroot+kernel configuration must be only done once or it will fail. How to check if this has already been done? The current script does not properly handle this. |
Please see my comments in your commit 05bd621
I'd propose a fixed directory inside a designated
I'd propose touching a flag file and check if it exists prior to applying the Kernel modifications. This method won't be sufficient for many cases (e.g. changing to a different Tag / Branch in plutosdr-fw), but for our current quasi-static use case (always v0.32), this would be working, I guess. |
* Add scripts to automate firmware and sysroot build process Related to #27
While setting up CI for the build_standalone_binaries.sh script (develop...workflow), I became aware of something we might want to optimize.
|
Add a folder
build_scripts
where buildscripts for the various artifacts reside.This enables re-usage of the scripts for the end-user as well as for the automated Github actions.
Add script
create_sysroot.sh
This script pulls the plutosdr-fw repo with a given Tag or Commit hash from the Analog Devices Github account and alters its content according to our needs (compilation of fftw, libconfig, libfec and liquid-dsp).
The result is called custom sysroot. The sysroot gets zipped and uploaded to Github releases to be available end-users and the
build_binaries.sh
script (see below).Add script
build_standalone_binaries.sh
This script also makes use of the custom sysroot artifact. As it would be to much effort to re-generate the custom sysroot on every build of the binaries (especially for Github actions), the chosen version of the custom sysroot artifact is downloaded from Github releases instead.
Add script
build_firmware.sh
This script makes use of the custom sysroot which was created with the script mentioned above.
Additionally, it patches and configures the Linux Kernel according to our needs and configures the Linux userspace.
Finally, it builds the firmware image called
pluto.frm
.Update manual.hnap.de accordingly
No actions for the x86 binaries yet (they are already implemented as Github actions in
.github/workflows
)The text was updated successfully, but these errors were encountered: