Jump to content

[Armbian build PR] - Add option BUILD_ONLY to the build compile scripts


Recommended Posts

Posted

Description

The BUILD_ONLY option can be set as a comma separated list of build artifact names to filter build artifacts being compiled. The following artifact names are supported: u-boot, kernel, armbian-config, armbian-zsh, plymouth-theme-armbian, armbian-firmware, armbian-bsp, chroot, bootstrap

GH issue reference #4421

Test Results

Following tests have been performed with the according output:

  • [x] Test 1 - U-Boot only build - BUILD_ONLY="u-boot": ./compile.sh BOARD=cubietruck BRANCH=current RELEASE=focal BUILD_MINIMAL=yes BUILD_DESKTOP=no BUILD_ONLY="u-boot" KERNEL_ONLY=no KERNEL_CONFIGURE=no COMPRESS_OUTPUTIMAGE=sha,gpg,7z
...
  MKIMAGE u-boot.img
  MKIMAGE u-boot-dtb.img
  BINMAN  all
[ o.k. ] Building deb [ linux-u-boot-current-cubietruck_22.11.0-trunk_armhf.deb ]
[ o.k. ] Build done [ @host ]
[ o.k. ] Target directory [ /home/user/Projects/Armbian/build/output/debs/ ]
[ o.k. ] U-Boot file name [ linux-u-boot-current-cubietruck_22.11.0-trunk_armhf.deb ]
[ o.k. ] Runtime [ 0 min ]
[ o.k. ] Repeat Build Options [ ./compile.sh  BOARD=cubietruck BRANCH=current RELEASE=focal BUILD_MINIMAL=yes BUILD_DESKTOP=no BUILD_ONLY=u-boot KERNEL_ONLY=no KERNEL_CONFIGURE=no COMPRESS_OUTPUTIMAGE=sha,gpg,7z  ]
user@HOST:~/Projects/Armbian/build$
  • [x] Test 2 - Kernel only build - BUILD_ONLY="kernel": ./compile.sh BOARD=cubietruck BRANCH=current RELEASE=focal BUILD_MINIMAL=yes BUILD_DESKTOP=no BUILD_ONLY="kernel" KERNEL_ONLY=no KERNEL_CONFIGURE=no COMPRESS_OUTPUTIMAGE=sha,gpg,7z
...
  CLEAN   vmlinux.symvers modules-only.symvers modules.builtin modules.builtin.modinfo
patching file tools/include/tools/be_byteshift.h
patching file tools/include/tools/le_byteshift.h
dpkg-deb: building package 'linux-headers-current-sunxi' in '../linux-headers-current-sunxi_22.11.0-trunk_armhf.deb'.
dpkg-buildpackage: info: binary-only upload (no source included)
[ o.k. ] Build done [ @host ]
[ o.k. ] Target directory [ /home/user/Projects/Armbian/build/output/debs/ ]
[ o.k. ] Kernel file name [ linux-image-current-sunxi_22.11.0-trunk_armhf.deb ]
[ o.k. ] Runtime [ 7 min ]
[ o.k. ] Repeat Build Options [ ./compile.sh  BOARD=cubietruck BRANCH=current RELEASE=focal BUILD_MINIMAL=yes BUILD_DESKTOP=no BUILD_ONLY=kernel KERNEL_ONLY=no KERNEL_CONFIGURE=no COMPRESS_OUTPUTIMAGE=sha,gpg,7z  ]
user@HOST:~/Projects/Armbian/build$
  • [x] Test 3 - Kernel only build - BUILD_ONLY not set, KERNEL_ONLY=yes: ./compile.sh BOARD=cubietruck BRANCH=current RELEASE=focal BUILD_MINIMAL=yes BUILD_DESKTOP=no KERNEL_ONLY=yes KERNEL_CONFIGURE=no COMPRESS_OUTPUTIMAGE=sha,gpg,7z
...
patching file tools/include/tools/le_byteshift.h
dpkg-deb: building package 'linux-headers-current-sunxi' in '../linux-headers-current-sunxi_22.11.0-trunk_armhf.deb'.
dpkg-buildpackage: info: binary-only upload (no source included)
[ o.k. ] Building deb [ armbian-config ]
[ o.k. ] Checking git sources [ armbian-config master ]
[ .... ] Up to date 
[ o.k. ] Checking git sources [ neofetch 7.1.0 ]
[ .... ] Up to date 
[ o.k. ] Checking git sources [ wireguard-manager main ]
[ .... ] Up to date 
[ o.k. ] * applying add-armbian-neofetch.patch 
[ o.k. ] Building deb [ armbian-zsh ]
[ o.k. ] Checking git sources [ oh-my-zsh master ]
[ .... ] Up to date 
[ o.k. ] Checking git sources [ evalcache master ]
[ .... ] Up to date 
[ o.k. ] Building deb [ armbian-plymouth-theme ]
[ o.k. ] Merging and packaging linux firmware [ @host ]
[ o.k. ] Checking git sources [ armbian-firmware-git master ]
[ .... ] Up to date 
[ o.k. ] Building firmware package [ armbian-firmware_22.11.0-trunk_all ]
[ o.k. ] Merging and packaging linux firmware [ @host ]
[ o.k. ] Checking git sources [ armbian-firmware-git master ]
[ .... ] Up to date 
[ o.k. ] Checking git sources [ linux-firmware-git main ]
[ .... ] Up to date 
[ o.k. ] Building firmware package [ armbian-firmware-full_22.11.0-trunk_all ]
[ o.k. ] Creating board support package for CLI [ armbian-bsp-cli-cubietruck ]
[ o.k. ] Build done [ @host ]
[ o.k. ] Target directory [ /home/user/Projects/Armbian/build/output/debs/ ]
[ o.k. ] U-Boot file name [ linux-u-boot-current-cubietruck_22.11.0-trunk_armhf.deb ]
[ o.k. ] Kernel file name [ linux-image-current-sunxi_22.11.0-trunk_armhf.deb ]
[ o.k. ] Runtime [ 10 min ]
[ o.k. ] Repeat Build Options [ ./compile.sh  BOARD=cubietruck BRANCH=current RELEASE=focal BUILD_MINIMAL=yes BUILD_DESKTOP=no KERNEL_ONLY=yes KERNEL_CONFIGURE=no COMPRESS_OUTPUTIMAGE=sha,gpg,7z  ]
user@HOST:~/Projects/Armbian/build$
  • [x] Test 4 - Full build - BUILD_ONLY not set, KERNEL_ONLY=no: ./compile.sh BOARD=cubietruck BRANCH=current RELEASE=focal BUILD_MINIMAL=yes BUILD_DESKTOP=no KERNEL_ONLY=no KERNEL_CONFIGURE=no COMPRESS_OUTPUTIMAGE=sha,gpg,7z
...
patching file tools/include/tools/le_byteshift.h
dpkg-deb: building package 'linux-headers-current-sunxi' in '../linux-headers-current-sunxi_22.11.0-trunk_armhf.deb'.
dpkg-buildpackage: info: binary-only upload (no source included)
[ o.k. ] Building deb [ armbian-config ]
[ o.k. ] Checking git sources [ armbian-config master ]
[ .... ] Up to date 
[ o.k. ] Checking git sources [ neofetch 7.1.0 ]
[ .... ] Up to date 
[ o.k. ] Checking git sources [ wireguard-manager main ]
[ .... ] Up to date 
[ o.k. ] * applying add-armbian-neofetch.patch 
[ o.k. ] Building deb [ armbian-zsh ]
[ o.k. ] Checking git sources [ oh-my-zsh master ]
[ .... ] Up to date 
[ o.k. ] Checking git sources [ evalcache master ]
[ .... ] Up to date 
[ o.k. ] Building deb [ armbian-plymouth-theme ]
[ o.k. ] Merging and packaging linux firmware [ @host ]
[ o.k. ] Checking git sources [ armbian-firmware-git master ]
[ .... ] Up to date 
[ o.k. ] Building firmware package [ armbian-firmware_22.11.0-trunk_all ]
[ o.k. ] Merging and packaging linux firmware [ @host ]
[ o.k. ] Checking git sources [ armbian-firmware-git master ]
[ .... ] Up to date 
[ o.k. ] Checking git sources [ linux-firmware-git main ]
[ .... ] Up to date 
[ o.k. ] Building firmware package [ armbian-firmware-full_22.11.0-trunk_all ]
[ o.k. ] Creating board support package for CLI [ armbian-bsp-cli-cubietruck ]
[ o.k. ] Checking for rootfs cache [ current cubietruck focal yes ]
[ o.k. ] Checking cache [ armhf-focal-minimal-fac994d6-20221112.tar.zst ]
[ o.k. ] Extracting armhf-focal-minimal-fac994d6-20221112.tar.zst [ 4 days old ]
[ .... ] armhf-focal-minimal-fac994d6-20221112.tar.zst:  128MiB [75.5MiB/s] [==========================================================================>] 100%
[ o.k. ] Adding Armbian repository and authentication key [ /etc/apt/sources.list.d/armbian.list ]
[ o.k. ] Applying distribution specific tweaks for [ focal ]
[ o.k. ] Configuring locales [ en_US.UTF-8 ]
Generating locales (this might take a while)...
  en_US.UTF-8... done
Generation complete.
[ o.k. ] Applying common tweaks 
[ .... ] Cleaning [ package lists ]
[ .... ] Updating [ package lists ]
[ .... ] Temporarily disabling [ initramfs-tools hook for kernel ]
[ .... ] Installing [ linux-u-boot-current-cubietruck_22.11.0-trunk_armhf.deb ]
[ .... ] Installing [ linux-image-current-sunxi_22.11.0-trunk_armhf.deb ]
[ .... ] Installing [ linux-dtb-current-sunxi_22.11.0-trunk_armhf.deb ]
[ .... ] Installing [ armbian-bsp-cli-cubietruck_22.11.0-trunk_armhf.deb ]
[ .... ] Installing [ armbian-firmware_22.11.0-trunk_all.deb ]
[ .... ] Installing [ armbian-plymouth-theme_22.11.0-trunk_all.deb ]
[ .... ] Installing from repository [ wireguard-tools --no-install-recommends ]
[ o.k. ] Enabling serial console [ 'ttyS0' ]
[ o.k. ] Building kernel splash logo [ focal ]
[ .... ] Installing extras-buildpkgs [  hostapd htop sunxi-tools ]
[ o.k. ] Copying NAND boot files to image [ customize-image-host.sh ]
'/home/user/Projects/Armbian/build/cache/sources/u-boot/v2022.07/spl/sunxi-spl-with-ecc.bin' -> '/home/user/Projects/Armbian/build/userpatches/overlay/boot/nand/sunxi-spl-with-ecc.bin'
'/home/user/Projects/Armbian/build/cache/sources/u-boot/v2022.07/u-boot-dtb.img' -> '/home/user/Projects/Armbian/build/userpatches/overlay/boot/nand/u-boot-dtb.img'
[ o.k. ] Calling image customization script [ customize-image.sh ]
'/tmp/overlay/boot/nand' -> '/boot/nand'
'/tmp/overlay/boot/nand/sunxi-spl-with-ecc.bin' -> '/boot/nand/sunxi-spl-with-ecc.bin'
'/tmp/overlay/boot/nand/u-boot-dtb.img' -> '/boot/nand/u-boot-dtb.img'
[ o.k. ] No longer needed packages [ purge ]
[ o.k. ] Unmounting [ /home/user/Projects/Armbian/build/.tmp/rootfs-7d834edd-2750-4d7e-83b2-816029998099 ]
[ o.k. ] Preparing image file for rootfs [ cubietruck focal ]
[ o.k. ] Current rootfs size [ 681 MiB ]
[ o.k. ] Creating blank image for rootfs [ 892 MiB ]
[ o.k. ] Creating partitions [ root: ext4 ]
[ .... ] Creating rootfs [ ext4 on /dev/loop0p1 ]
[ .... ] Copying files to [ / ]
[ .... ] Copying files to [ /boot ]
sent 19.10M bytes  received 4.82K bytes  38.21M bytes/sec
total size is 19.08M  speedup is 1.00
[ .... ] Updating initramfs... [ TMPDIR=/tmp update-initramfs -uv -k 5.15.77-sunxi ]
[ o.k. ] Updated initramfs. [ for details see: /home/user/Projects/Armbian/build/output/debug/install.log ]
[ .... ] Re-enabling [ initramfs-tools hook for kernel ]
[ o.k. ] Unmounting [ /home/user/Projects/Armbian/build/.tmp/mount-7d834edd-2750-4d7e-83b2-816029998099/ ]
[ o.k. ] Free SD cache [ 20% ]
[ o.k. ] Mount point [ 88% ]
[ o.k. ] Writing U-boot bootloader [ /dev/loop0 ]
[ o.k. ] SHA256 calculating [ Armbian_22.11.0-trunk_Cubietruck_focal_current_5.15.77_minimal.img ]
[ warn ] GPG signing skipped - no GPG_PASS [ Armbian_22.11.0-trunk_Cubietruck_focal_current_5.15.77_minimal.img ]
[ o.k. ] Compressing [ /home/user/Projects/Armbian/build/.tmp/image-7d834edd-2750-4d7e-83b2-816029998099/Armbian_22.11.0-trunk_Cubietruck_focal_current_5.15.77_minimal.7z ]                                                                                                                                            
[ o.k. ] Done building [ /home/user/Projects/Armbian/build/.tmp/image-7d834edd-2750-4d7e-83b2-816029998099/Armbian_22.11.0-trunk_Cubietruck_focal_current_5.15.77_minimal.img ]                                                                                                                                         
[ o.k. ] Build done [ @host ]
[ o.k. ] Target directory [ /home/user/Projects/Armbian/build/output/debs/ ]
[ o.k. ] U-Boot file name [ linux-u-boot-current-cubietruck_22.11.0-trunk_armhf.deb ]
[ o.k. ] Kernel file name [ linux-image-current-sunxi_22.11.0-trunk_armhf.deb ]
[ o.k. ] Runtime [ 15 min ]
[ o.k. ] Repeat Build Options [ ./compile.sh  BOARD=cubietruck BRANCH=current RELEASE=focal BUILD_MINIMAL=yes BUILD_DESKTOP=no KERNEL_ONLY=no KERNEL_CONFIGURE=no COMPRESS_OUTPUTIMAGE=sha,gpg,7z  ]                                                                                                                        
user@HOST:~/Projects/Armbian/build$

Checklist:

  • [x] My code follows the style guidelines of this project
  • [x] I have performed a self-review of my own code
  • [x] I have commented my code, particularly in hard-to-understand areas
  • [x] I will create an appropriate pull request on the doc repo as soon as this PR has been merged
  • [x] My changes generate no new warnings
  • [n/a] Any dependent changes have been merged and published in downstream modules

View the full article

×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines