Jump to content

How to prevent main branch or external dependencies changes from breaking local build?


JGWD

Recommended Posts

Hello. I have been struggling with creating a local build environment that will be guaranteed to work today, next month, next year etc.

My hardware is Radxa-Zero and I want to run kernel 6.1.23. Currently I find that the build environment, in various ways, breaks the build over time.

 

I've been chasing a stable build for kernels 6.1.23, 57, 58, 59. The build environment, by default, grabs the latest 6.1.y kernel, which is no good for me.

My root FS and DTB are for 6.1.23 and I don't want to keep updating everything just because I need to make some kernel configuration changes.

 

I have tried the BSPFREEZE and OFFLINE_WORK build options but the build environment still goes online to update various files, breaking the build over time:

 

./compile.sh build BOARD=radxa-zero BRANCH=current BUILD_DESKTOP=yes BUILD_MINIMAL=no DESKTOP_APPGROUPS_SELECTED='3dsupport browsers chat desktop_tools editors email internet multimedia office programming remote_desktop' DESKTOP_ENVIRONMENT=xfce DESKTOP_ENVIRONMENT_CONFIG_NAME=config_base RELEASE=jammy KERNEL_CONFIGURE=no KERNEL_KEEP_CONFIG=no BSPFREEZE=y OFFLINE_WORK=y INSTALL_HEADERS=y CREATE_PATCHES=no

 

I am using this override in meson64_common.inc

 

case $BRANCH in

    current)
        declare -g KERNEL_MAJOR_MINOR="6.1" # Major and minor versions of this kernel. For mainline caching.
        #KERNELBRANCH='branch:linux-6.1.y'
        KERNELBRANCH='tag:v6.1.23'
        KERNELPATCHDIR='meson64-current'
        ;;

...

 

But, I've tried that in the past and I have found that the build environment still updates various patches etc., that eventually results in build errors.

 

I also tried to get the files from the latest tag (23.02.0-trunk.0256). The idea was that a tag would be stable and never change.

Unfortunately, that build failed for Radxa Zero (network driver issue).

git clone --depth=1 -- branch=23.02.0-trunk.0256 https://github.com/armbian/build

 

So, what is the 100% certain way to arrive at a local build environment that will work forever?

 

Thank you.

/John.

Link to comment
Share on other sites

On 10/25/2023 at 1:37 AM, JGWD said:

So, what is the 100% certain way to arrive at a local build environment that will work forever?


With last release, we have frozen sources at branch. If you need specific version, you need to change both:
KERNELBRANCH='tag:v6.1.23'
KERNELPATCHDIR='meson64-current' # where you have patches that match your version. In most cases they will just fit.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines