Jump to content

Error in kernel compiling 4.9.9 and 4.9.10


matteobp

Recommended Posts

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.

 

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

 

 

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines