matteobp Posted February 16, 2017 Posted February 16, 2017 Hi. I have a Banana PI M1+, and I'm building my custom kernel on a VirtualBOX VM with Ubuntu Server 16.04 because I want to enable other frequencies (until 1152000) and I want to modify the voltage according to the table found here https://linux-sunxi.org/A20 I'm having this error compiling my own kernel ¦ dpkg-deb: building package 'linux-firmware-image-4.9.10-sunxi' in '../linux-firmware-image-4.9.10-sunxi_5.26_a ¦ ¦ dpkg-deb: building package 'linux-headers-4.9.10-sunxi' in '../linux-headers-4.9.10-sunxi_5.26_armhf.deb'. ¦ ¦ dpkg-deb: building package 'linux-libc-dev' in '../linux-libc-dev_5.26_armhf.deb'. ¦ ¦ dpkg-deb: building package 'linux-image-4.9.10-sunxi' in '../linux-image-4.9.10-sunxi_5.26_armhf.deb'. ¦ ¦ dpkg-genchanges: binary-only upload (no source code included) ¦ +----------------------------------------------------------------------------------------------------------------+ dpkg-deb: error: failed to read archive '/home/xxxxx/armbian/output/debs/linux-image-next-sunxi_5.26_armhf.deb': No such file or directory [ o.k. ] Kernel build done [ @host ] [ o.k. ] Target directory [ /home/xxxxx/armbian/output/debs/ ] [ o.k. ] File name [ linux-image-next-sunxi_5.26_armhf.deb ] [ o.k. ] Runtime [ 23 min ] These are my changes to compile.sh file KERNEL_ONLY="yes" # leave empty to select each time, set to "yes" or "no" to skip dialog prompt KERNEL_CONFIGURE="yes" # change provided kernel configuration ... FORCE_CHECKOUT="no" # take manual changes to source ... BOARD="bananapipro" BRANCH="next" and I have modifed only the file sources/linux-vanilla/v4.9.10/arch/arm/boot/dts/sun7i-a20.dtsi I had the same error building the kernel v. 4.9.9 I successfully compiled kernel v. 4.9.8. Thanks for support P.S. Is it possible to include these frequencies as standard? 1152000 1550000 1104000 1500000 1056000 1500000 1008000 1450000 Every time I run an "apt upgrade" I lose my changes.
zador.blood.stained Posted February 16, 2017 Posted February 16, 2017 I had the same error building the kernel v. 4.9.9 I successfully compiled kernel v. 4.9.8. You probably need to revert FORCE_CHECKOUT to yes since it will interfere with kernel updates, and create a patch to apply your changes to the operating points. P.S. Is it possible to include these frequencies as standard? 1152000 1550000 1104000 1500000 1056000 1500000 1008000 1450000 Operating points in sun7i-a20.dtsi are the generic ones shared by all boards: https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/arch/arm/boot/dts/sun7i-a20.dtsi?id=d96b7161916f1b5c1a676fba2d54ef0106a88aff Operating points higher than 960MHz were unstable on some boards, so they are not included by default, though some boards override this table to include other values, like the Banana Pi. Every time I run an "apt upgrade" I lose my changes. You can use "apt-mark hold <package_name>" to prevent upgrading certain packages like the kernel ones. You still will be able to install updated packages manually when you want to upgrade.
zador.blood.stained Posted February 16, 2017 Posted February 16, 2017 In fact if you are only editing the operating points you can use Device Tree compiler (dtc) on the board itself to edit .dtb file for your board, you don't need to cross-compile anything.
matteobp Posted February 16, 2017 Author Posted February 16, 2017 Yes, I'm editing only the operating points. I found this post in the forum https://forum.armbian.com/index.php/topic/3064-problem-enablig-tty5-and-tty6-on-cubieboard2-with-kernel-473-using-dtb/#entry21296 Based on it, my understand is to apply these steps: - install Device Tree compiler # sudo apt-get install device-tree-compiler- navigate to /boot/dtb and execute this command# dtc -I dtb -O dts sun7i-a20.dtb > sun7i-a20.dts (probably, it should be better to use "sun7i-a20-bananapi-m1-plus.dtb")- modify the section "operating-points"- recompile the dtb using this command# dtc -O dtb -o sun7i-a20.dtb -b 0 sun7i-a20.dts Is it correct? By the way, with FORCE_CHECKOUT="yes" the compilation was successfull :-). Thanks for help
matteobp Posted February 16, 2017 Author Posted February 16, 2017 Based on it, my understand is to apply these steps: - install Device Tree compiler # sudo apt-get install device-tree-compiler - navigate to /boot/dtb and execute this command # dtc -I dtb -O dts sun7i-a20.dtb > sun7i-a20.dts (probably, it should be better to use "sun7i-a20-bananapi-m1-plus.dtb") - modify the section "operating-points" - recompile the dtb using this command # dtc -O dtb -o sun7i-a20.dtb -b 0 sun7i-a20.dts Is it correct? It doesn't work. This is my /boot/armbianEnv.txt fdtfile=sun7i-a20-bananapi-m1-plus.dtb I executed this command dtc -I dtb -O dts sun7i-a20-bananapi-m1-plus.dtb > sun7i-a20-bananapi-m1-plus.dts then I modifed the file sun7i-a20-bananapi-m1-plus.dts changing the line operating-points (the values are in hexadecimal form, I used the line of the previous sun7i-a20-bananapi-m1-plus.dts obtained from my custom kernel installation), and then this command dtc -O dtb -o sun7i-a20-bananapi-m1-plus.dtb -b 0 sun7i-a20-bananapi-m1-plus.dts and reboot. I tried also to compile the /boob/boot.cmd file, but the output of the command cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies is this one 144000 312000 528000 720000 864000 912000 960000 If I install my custom kernel, compiled modifying only the file "sources/linux-vanilla/v4.9.10/arch/arm/boot/dts/sun7i-a20.dtsi", the output is this one 144000 312000 528000 720000 864000 912000 960000 1008000 1056000 1104000 1152000 Probably I'm missing something else.
matteobp Posted February 24, 2017 Author Posted February 24, 2017 Hi Can anyone help me? What am I doing wrong? Thanks in advance.
Recommended Posts