Jump to content

Nanopineo - build fails when I use both CPUMIN and CPUMAX on the command-line


Go to solution Solved by indianajones,

Recommended Posts

Posted (edited)

This issue isn't for orangepione, but for nanopineo - which I can't find in the dropdowns anymore.  Perhaps it is no longer supported.  I'm able to build a working image using this command:

 

./compile.sh BOARD=nanopineo BRANCH=current RELEASE=noble BUILD_MINIMAL=no BUILD_DESKTOP=no KERNEL_CONFIGURE=no COMPRESS_OUTPUTIMAGE=xz

 

However, if I add the CPU governance variables, such as this:

./compile.sh BOARD=nanopineo BRANCH=current RELEASE=noble BUILD_MINIMAL=no BUILD_DESKTOP=no KERNEL_CONFIGURE=no COMPRESS_OUTPUTIMAGE=xz CPUMIN=81600 CPUMAX=96000

 

...the build fails with the following error text:

./compile.sh mike
[🚸] This script requires root privileges; Docker is unavailable [ trying to use sudo ]
[🌿] Applying cmdline param [ 'PREFER_DOCKER': '(unset)' --> 'no' early ]
[🌱] Skip     cmdline param [ 'ARMBIAN_RELAUNCHED': already set to 'yes' early ]
[🌿] Applying cmdline param [ 'SET_OWNER_TO_UID': '(unset)' --> '1000' early ]
[🌱] Skip     cmdline param [ 'PREFER_DOCKER': already set to 'no' after config 'config-mike.conf' ]
[🌱] Skip     cmdline param [ 'ARMBIAN_RELAUNCHED': already set to 'yes' after config 'config-mike.conf' ]
[🌱] Skip     cmdline param [ 'SET_OWNER_TO_UID': already set to '1000' after config 'config-mike.conf' ]
[🌱] Starting single build process [ nanopineo ]
[🌱] Checking [ basic host setup ]
[🌱] Build host OS release [ noble ]
[🌱] Build host architecture [ arm64 ]
[🌱] Sourcing board configuration [ /home/mike/build/config/boards/nanopineo.csc ]
[] change-tracking: after sourcing board file config/boards/nanopineo.csc [ BOARDFAMILY='sun8i' ]
[] change-tracking: after sourcing board file config/boards/nanopineo.csc [ BOOTCONFIG='nanopi_neo_defconfig' ]
[] change-tracking: after defaulting LINUXFAMILY to BOARDFAMILY [ LINUXFAMILY='sun8i' ]
[🌱] Starting main configuration
[🌱] Using REVISION from [ main VERSION file: '25.11.0-trunk' ]
[🌿] Enabling extension [ armbian-config ]
[🌱] Sourcing family configuration [ /home/mike/build/config/sources/families/sun8i.conf ]
[🌿] Enabling extension [ sunxi-tools ]
[💥] Error 1 occurred in main shell [ at /home/mike/build/lib/functions/configuration/main-config.sh:552
   source_family_config_and_arch() --> lib/functions/configuration/main-config.sh:552
          do_main_configuration() --> lib/functions/configuration/main-config.sh:291
                do_with_logging() --> lib/functions/logging/section-logging.sh:81
    do_with_conditional_logging() --> lib/functions/logging/section-logging.sh:111
    prep_conf_main_build_single() --> lib/functions/main/config-prepare.sh:29
         cli_standard_build_run() --> lib/functions/cli/cli-build.sh:22
        armbian_cli_run_command() --> lib/functions/cli/utils-cli.sh:136
                 cli_entrypoint() --> lib/functions/cli/entrypoint.sh:208
                           main() --> compile.sh:50
 ]

 

I looked at the source_family_config_and_arch() function source, and the file that gets passed into it (/home/mike/build/config/sources/families/sun8i.conf) exists on my box, but something is causing the failure at line 552 anyway.  What's strange is that the exact same LINUXFAMILY / BOARDFAMILY is configured in my working command (with all the params passed on the cmdline), like this:

🌱] Sourcing board configuration [ /home/mike/build/config/boards/nanopineo.csc ]
[] change-tracking: after sourcing board file config/boards/nanopineo.csc [ BOARDFAMILY='sun8i' ]
[] change-tracking: after sourcing board file config/boards/nanopineo.csc [ BOOTCONFIG='nanopi_neo_defconfig' ]
[] change-tracking: after defaulting LINUXFAMILY to BOARDFAMILY [ LINUXFAMILY='sun8i' ]
[🌱] Starting main configuration
[🌱] Using REVISION from [ main VERSION file: '25.11.0-trunk' ]
[🌿] Enabling extension [ armbian-config ]
[🌱] Sourcing family configuration [ /home/mike/build/config/sources/families/sun8i.conf ]
[🌿] Enabling extension [ sunxi-tools ]
[] change-tracking: after sourcing family config [ KERNEL_MAJOR_MINOR='6.12' ]
[] change-tracking: after sourcing family config [ LINUXFAMILY='sunxi'  # (was: 'sun8i') ]
[] change-tracking: after sourcing family config [ KERNELPATCHDIR='archive/sunxi-6.12' ]
[] change-tracking: after sourcing family config [ BOOTBRANCH='tag:v2024.01' ]
[] change-tracking: after sourcing family config [ BOOTPATCHDIR='u-boot-sunxi' ]
[] change-tracking: after sourcing family config [ NETWORKING_STACK='network-manager' ]

 

The build/config/sources/families/sun8i.conf file, referenced in the log output, contains a proper CPUMIN and CPUMAX, so I'm not sure why specifying them on the command line blows up the build.

 

# SPDX-License-Identifier: GPL-2.0
#
# Copyright (c) 2013-2023 Igor Pecovnik, igor@armbian.com
#
# This file is a part of the Armbian Build Framework
# https://github.com/armbian/build/
#
# shellcheck source=config/sources/families/include/sunxi_common.inc
source "${BASH_SOURCE%/*}/include/sunxi_common.inc"

if [[ -z ${OVERLAY_PREFIX} ]]; then
        OVERLAY_PREFIX='sun8i-h3'
fi

[[ -z $CPUMIN ]] && CPUMIN=480000
[[ -z $CPUMAX ]] && CPUMAX=1400000

 

Any thoughts on what I'm doing wrong?

Edited by indianajones
  • indianajones changed the title to Nanopineo - build fails when I use both CPUMIN and CPUMAX on the command-line
  • Solution
Posted (edited)

@Igor Thanks for that, I guess I can move on to the newer tools.  So does that mean that the GOVERNOR and CPUMIN params are useless and can be discarded?  And BTW your Armbian tools are utterly fantastic.

Edited by indianajones
Posted
2 hours ago, indianajones said:

So does that mean that the GOVERNOR and CPUMIN params are useless and can be discarded?

 

Currently yes. A replacement for this package / service needs to be found and implement - in case you want to get involved. 

 

2 hours ago, indianajones said:

And BTW your Armbian tools are utterly fantastic.


Thank you! It's a work of many people, impossible for me to poke into every issue or feature that exists :)

Posted
6 hours ago, Igor said:
9 hours ago, indianajones said:

So does that mean that the GOVERNOR and CPUMIN params are useless and can be discarded?

 

Currently yes. A replacement for this package / service needs to be found and implement - in case you want to get involved. 

This isn't completely true.  Armbian still does utilize CPUMIN/CPUMAX from /etc/default/cpufrequtils if present to set corresponding frequencies via the Armbian script armbian-hardware-optimization (packages/bsp/common/usr/lib/armbian/armbian-hardware-optimization).  This script I believe runs at every system startup.  So even without the cpufrequitls package installed, there is still some functionality in this area.  Functionally that no one has likely touched or looked at in years.

 

 

 

 

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