Jump to content

Armbian CI is building v5.10.43 while my local build is making v5.10.45. How can I switch?


Go to solution Solved by lanefu,

Recommended Posts

Posted

Armbian CI is building v5.10.43 while my local build is making v5.10.45. How can I switch?

 

I've tried all sorts of iterations of KERNELRELEASE= BRANCH= and LIB_TAG= in userpatches/config-example.conf but can't find the right combination to build a v5.10.43 kernel with RELEASE=focal

 

What's the correct build  env var and value needed to match Armbian's CI?

 

 

Posted

May depend on board(-family) (which is quite an essential information that is missing here) since not all follow mainline. Some are built around custom sources which are not always up-to-date. sunxi for example.

Posted

@rob which board are you building for?

 

Most of our kernel versions are bound to upstream tags or branches.   Minor release versions do tend to change.

Posted

First thanks for the excellent build environment. I'm building BRANCH=current RELEASE=focal BOARD=odroidn2 which makes

 

dpkg-deb: building package 'linux-source-5.10.45-current-meson64' in '/tmp/tmp.8RgxL6czti/linux-source-current-meson64_21.08.0-trunk_all.deb'.

but  I'm trying to share .ko with the nightly CI image

https://armbian.tnahosting.net/dl/odroidn2/archive/Armbian_21.05.4_Odroidn2_focal_current_5.10.43.img.xz

because I'm still working out binfmt_misc issues in my hirsute LXC env.

update-binfmts: warning: unable to open /proc/sys/fs/binfmt_misc/status for writing: Permission denied

update-binfmts: warning: qemu-arm not in database of installed binary formats.

[ o.k. ] Adding Armbian repository and authentication key [ /etc/apt/sources.list.d/armbian.list ]

chroot: failed to run command ‘/bin/bash’: Exec format error

mount: /root/build/.tmp/rootfs-30acf184-73cd-46c1-864e-6b43fbd38071/proc: WARNING: source write-protected, mounted read-only.

mount: /root/build/.tmp/rootfs-30acf184-73cd-46c1-864e-6b43fbd38071/sys: WARNING: source write-protected, mounted read-only.

mount: /root/build/.tmp/rootfs-30acf184-73cd-46c1-864e-6b43fbd38071/dev: WARNING: source write-protected, mounted read-only.

mount: /root/build/.tmp/rootfs-30acf184-73cd-46c1-864e-6b43fbd38071/dev/pts: WARNING: source write-protected, mounted read-only.

[ o.k. ] Applying distribution specific tweaks for [ focal ]

chroot: failed to run command ‘/bin/bash’: Exec format error

chroot: failed to run command ‘/bin/bash’: Exec format error

chroot: failed to run command ‘/bin/bash’: Exec format error

[ o.k. ] Applying common tweaks

chroot: failed to run command ‘/bin/bash’: Exec format error

chroot: failed to run command ‘/bin/bash’: Exec format error

chroot: failed to run command ‘/bin/bash’: Exec format error

[ .... ] Updating [ package lists ]

[ .... ] Temporarily disabling [ initramfs-tools hook for kernel ]

[ .... ] Installing [ linux-u-boot-odroidn2-current_21.08.0-trunk_arm64.deb ]

[ error ] ERROR in function install_deb_chroot [ image-helpers.sh:150 ]

[ error ] Installation of /root/linux-u-boot-odroidn2-current_21.08.0-trunk_arm64.deb failed [ odroidn2 focal no meson64 ]

 

I don't understand how to build v5.10.43 rather than v5.10.45 so I slide in my newly built 88x2bu.ko 

  • Solution
Posted

Re: binfmt.

if using lxc the container.

you need to execute it with more priviledges

 

if you are already, or are using lxc the VM
your kernel needs to be ubuntu's -generic kernel rather than the -virtual kernel... -virtual doesn't have binfmt support in it the last time I checked. 


misc building tips.. I personally hate the LIB_TAG thing.. and prefer to just force it to use whatever branch I'm using.. here's a hint for that https://docs.armbian.com/Developer-Guide_Build-Preparation/#using-alternate-armbian-builder-repos-and-branches

How to build from the kernel source you want and love armbian builder

As we mentioned. it's not that the armbian build checkout has changed the minor release. it's that the upstream has (it's a weakness we have).   So you're going to want to specify your own kernel branch/commit/target etc by hand.

https://docs.armbian.com/Developer-Guide_Build-Preparation/#using-alternate-armbian-builder-repos-and-branches

So step 1.. we need to figure out what "family" your odroidn2 is

 

lane@billroyall:~/GIT/build$ fgrep -i FAMILY config/boards/odroidn2.conf
BOARDFAMILY="meson-g12b"


okay.. it's part of the meson-g12b family

https://github.com/armbian/build/blob/master/config/sources/families/meson-g12b.conf#L1

hmmmm ---- source "${BASH_SOURCE%/*}/include/meson64_common.inc"

 

okay lets look at its common include

 

https://github.com/armbian/build/blob/master/config/sources/families/include/meson64_common.inc#L30-L32

branch:linux-5.10.y

alright so.. it's just following the linux-5.10.y branch.. hence the minor release update....  and since no explicit kernel source is specified.. we can assuming it's using the default mainline

https://github.com/armbian/build/blob/master/lib/configuration.sh#L86

which means hunting here https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/log/?h=linux-5.10.y

https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tag/?h=v5.10.43

and lucky for us there's a tag

 

so in theory you should be able to create the file  userpatches/sources/meson-g12b.conf

 

with the contents of

 

KERNELBRANCH=tag:v5.10.43

 

 

 

 

 

Posted

Thanks for the detailed walkthrough.  Solved issues with QEMU and editing meson-g12b.conf

 

so far no stack traces dumped with 5.8.7.1_35809.20191129_COEX20191120-7777 88x2bu which is the root goal. normally had them every hr so that's a good sign.

×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines