ITNavigate Posted July 24, 2018 Posted July 24, 2018 Officially, how do I convince my build environment that I still want to use 4.14? When I just ./compile.sh BOARD=nanopiair BRANCH=next it defaults to 4.17 What I have come up with is: git checkout sunxi-4.14 && touch .ignore_changes This results in a lot of patches failing What is the correct way please?
Igor Posted July 24, 2018 Posted July 24, 2018 42 minutes ago, ITNavigate said: What is the correct way please? https://docs.armbian.com/Developer-Guide_Build-Options/
ITNavigate Posted July 25, 2018 Author Posted July 25, 2018 18 hours ago, Igor said: https://docs.armbian.com/Developer-Guide_Build-Options/ Yep, Read that and tried LIB_TAG="sunxi-4.14" but that stilled wanted to use 4.17. I have since renamed my build directory, and started from scratch cloning your build environment again, and that seems to be working. Obviously, my local directory got corrupted. I'll let you know how the build goes.
Igor Posted July 25, 2018 Posted July 25, 2018 5 hours ago, ITNavigate said: Obviously, my local directory got corrupted. If you were editing something outside user area, this is normal. It will not change branches ... and overwrite your changes. Perhaps we need to add another warning.
ITNavigate Posted July 26, 2018 Author Posted July 26, 2018 19 hours ago, Igor said: If you were editing something outside user area, this is normal. It will not change branches ... and overwrite your changes. Perhaps we need to add another warning. The only places I am *aware* that I had changed files were: build/config/kernel/linux-sunxi-next.config (and then reverted) build/patches/sunxi* (renamed to & from .disabled) build/userpatches/ cache/sources/linux-mainline/ I'm not saying that these are definitely the only files that I changed, only the ones that I can remember. colin@ArmbianDev:~/Armbian/build$ git status didn't flag anything either. However, all that aside, checking out an entire new build env from your github repo fixed all the errors for my basic build. ./compile.sh BOARD=nanopiair BRANCH=next LIB_TAG=sunxi-4.14 KERNEL_ONLY=yes KERNEL_CONFIGURE=yes works flawlessly However, I want a real-time sunxi-next kernel. The latest 4.14 RT patch that I can find at https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/4.14/ is patch-4.14.52-rt34.patch. Is there any way that I can convince the compile script to only download 4.14.52, not 4.14.58?
Igor Posted July 26, 2018 Posted July 26, 2018 4 hours ago, ITNavigate said: build/config/kernel/linux-sunxi-next.config build/patches/sunxi Those are build system areas. You copy linux-sunxi-next.config to build/userpatches/ and edit there ... the same goes with patches, copy to userpatches/kernel/sunxi-next (in this case) and rename to .patch ... those .disabled are for our internal needs. 4 hours ago, ITNavigate said: Is there any way that I can convince the compile script to only download 4.14.52, not 4.14.58? Sure it is. https://docs.armbian.com/Developer-Guide_User-Configurations/ Add: KERNELBRANCH='tag:v4.14.52' to build/userpatches/lib.config
ITNavigate Posted July 27, 2018 Author Posted July 27, 2018 23 hours ago, Igor said: Those are build system areas. You copy linux-sunxi-next.config to build/userpatches/ and edit there ... the same goes with patches, copy to userpatches/kernel/sunxi-next (in this case) and rename to .patch ... those .disabled are for our internal needs. Sure it is. https://docs.armbian.com/Developer-Guide_User-Configurations/ Add: KERNELBRANCH='tag:v4.14.52' to build/userpatches/lib.config OK. That is awesome!! One problem, I can't find KERNELBRANCH documented :-(
Igor Posted July 27, 2018 Posted July 27, 2018 8 minutes ago, ITNavigate said: One problem, I can't find KERNELBRANCH documented Documentation is always behind/at minimum since we are low on resources. It is stated: "For a comprehensive list of available variables, look through lib/configuration.sh" https://github.com/armbian/documentation/blob/master/docs/Developer-Guide_User-Configurations.md#user-provided-configuration Feel free to make a pull request if you want to extend this part of the documentation.
ITNavigate Posted July 27, 2018 Author Posted July 27, 2018 3 minutes ago, Igor said: Documentation is always behind/at minimum since we are low on resources. It is stated: "For a comprehensive list of available variables, look through lib/configuration.sh" https://github.com/armbian/documentation/blob/master/docs/Developer-Guide_User-Configurations.md#user-provided-configuration Feel free to make a pull request if you want to extend this part of the documentation. *Blush* I'll see what I can do to help. Maybe a week before I can.
Zaltora Posted July 22, 2020 Posted July 22, 2020 *Hello, i want to build a armbian image with a custom kernel version. I got some problem. I read this topic and the following documentation : - https://docs.armbian.com/Developer-Guide_Build-Options/ - https://docs.armbian.com/Developer-Guide_User-Configurations/ I want use this specific version : 5.4.45 So i have put in my "lib.conf" this line : KERNELBRANCH="tag:v5.4.45" Then i have try to build with these commands : ./compile.sh KERNEL_ONLY=no KERNEL_CONFIGURE=no INSTALL_HEADERS=yes BUILD_DESKTOP=yes BOARD=orangepizeroplus2-h3 RELEASE=buster COMPRESS_OUTPUTIMAGE=sha,gpg,img, BRANCH=current ./compile.sh EXPERT=yes KERNEL_ONLY=no KERNEL_CONFIGURE=no INSTALL_HEADERS=yes BUILD_DESKTOP=yes BOARD=orangepizeroplus2-h3 RELEASE=buster COMPRESS_OUTPUTIMAGE=sha,gpg,img BRANCH=dev I got error, it seem that the kernel was not found: [ o.k. ] Checking git sources [ linux-mainline v5.4.45 ] [ .... ] Fetching updates fatal: Couldn't find remote ref tags/v5.4.45 [ .... ] Checking out error: pathspec 'FETCH_HEAD' did not match any file(s) known to git [ o.k. ] Checking git sources [ sunxi-tools master ] ... ... ... make: *** No rule to make target 'olddefconfig'. Stop. [ error ] ERROR in function compile_kernel [ compilation.sh:414 ] [ error ] Kernel was not built [ @host ] [ o.k. ] Process terminated By reading this topic, i have try this command, but it is seem not to be the good way to do this but the kernel was found: ./compile.sh KERNEL_ONLY=no KERNEL_CONFIGURE=no INSTALL_HEADERS=yes BUILD_DESKTOP=yes BOARD=orangepizeroplus2-h3 RELEASE=buster COMPRESS_OUTPUTIMAGE=sha,gpg,img BRANCH=next but i still got an error at the end: .... CC kernel/padata.o CC kernel/crash_dump.o CC kernel/jump_label.o CC kernel/iomem.o CC kernel/rseq.o AR kernel/built-in.a [ error ] ERROR in function compile_kernel [ compilation.sh:414 ] [ error ] Kernel was not built [ @host ] [ o.k. ] Process terminated i have try with different additionnal LIB_TAG argument too : LIB_TAG=sunxi-5.5 or LIB_TAG=sunxi-5.3 "sunxi-5.4" tag seem missing. It is possible to me to build armbian with a custom kernel version ? what setting i have miss ? the branch "next" seem legacy, what is the recent way to do this ? (kernel is not fetch when BRANCH=dev)
Werner Posted July 22, 2020 Posted July 22, 2020 Quote KERNELBRANCH="tag:v5.4.45" That wont work in this special case. Only for kernel sources that are patches by upstream. On sunxi-legacy however from a specific point Armbian had to print upstream patches by themselves. Sounds complicated but for you a rather easy fix. Check https://github.com/armbian/build/tree/master/patch/kernel/sunxi-legacy and remove all upstream patches above 5.4.45 Btw as branch you need to use "legacy" instead of "current" since the branches have been cycled a few days ago. current would give you 5.7 kernel.
Zaltora Posted July 23, 2020 Posted July 23, 2020 How i can get the list of all kernel version available for my custom build by using option provided by armbian? I have tried to build without specifying the kernel as follows: ./compile.sh KERNEL_ONLY=no KERNEL_CONFIGURE=no INSTALL_HEADERS=yes BUILD_DESKTOP=yes BOARD=orangepizeroplus2-h3 RELEASE=buster COMPRESS_OUTPUTIMAGE=sha,gpg,img BRANCH=legacy the build work fine and the kernel version is 5.4.51. But if i specify this kernel into "lib.config" and do it again : KERNELBRANCH="tag:v5.4.51" the build system can't fetch the kernel version: [ .... ] Fetching updates fatal: Couldn't find remote ref tags/v5.4.51 [ .... ] Checking out error: pathspec 'FETCH_HEAD' did not match any file(s) known to git If i want a specific version of kernel and maintain it. What i need to look and what i need to set to make it work ? I didn't understand well what i need to do with different option provided by armbian build system.
Werner Posted July 23, 2020 Posted July 23, 2020 Once again in this particular case defining a specific branch won't work since sunxi relying on 3rd party sources. In your particular case here: https://github.com/megous/linux/tree/orange-pi-5.4 You can find these also when you start digging through the configs for your boards and their matching board families. Back to the sources: Megi does not add tags and also maintains a kernel version only to a certain level and mostly works on the newest available sources. It is up to us as we use these sources to keep them halfway up to date if possible and we do that using our patches. The location you can find in my previous post. There is no general way to get specific kernel versions for every single board. The wide variety of boards makes that impossible.
Recommended Posts