Chord 2qute and my DOP challenge

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
Okay this is the worst Linux nightmare ever ....

Playing on ubuntu 16.10 right now 4.8.0-22-generic #24-Ubuntu SMP Sat Oct 8 09:15:00 UTC 2016 x86_64 x86_64 , it seems to be quite stable, played my test song 36 times 2 skips.

Would like to make a simple kernel based on 4.8.1 then

But due to the fact that gcc is build with an -PIE option, the linux source need to be patched
to get over this limitation else you just hang like I do...

found a patch here but can't get it to work

https://gist.github.com/yukkeorg/d1b61d58a9cae1f1c8cae77b2339474f

I'm not the only one, so I'm stocked can't build a vanilla kernel.

Error
Code:
music@mplayerdev:/home/music/buildkernel/linux-4.8.5# scripts/config --disable DEBUG_INFO              
music@mplayerdev:/home/music/buildkernel/linux-4.8.5# scripts/config --disable CC_STACKPROTECTOR_STRONG
music@mplayerdev:/home/music/buildkernel/linux-4.8.5# 
music@mplayerdev:/home/music/buildkernel/linux-4.8.5# 
music@mplayerdev:/home/music/buildkernel/linux-4.8.5# 
music@mplayerdev:/home/music/buildkernel/linux-4.8.5# make -j2
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/kconfig/conf.o
  SHIPPED scripts/kconfig/zconf.tab.c
  SHIPPED scripts/kconfig/zconf.lex.c
  SHIPPED scripts/kconfig/zconf.hash.c
  HOSTCC  scripts/kconfig/zconf.tab.o
  HOSTLD  scripts/kconfig/conf
scripts/kconfig/conf  --silentoldconfig Kconfig
#
# configuration written to .config
#
  SYSTBL  arch/x86/entry/syscalls/../../include/generated/asm/syscalls_32.h
  HOSTCC  scripts/basic/bin2c
  SYSHDR  arch/x86/entry/syscalls/../../include/generated/asm/unistd_32_ia32.h
  CHK     include/config/kernel.release
  UPD     include/config/kernel.release
  SYSHDR  arch/x86/entry/syscalls/../../include/generated/asm/unistd_64_x32.h
  SYSTBL  arch/x86/entry/syscalls/../../include/generated/asm/syscalls_64.h
  WRAP    arch/x86/include/generated/asm/clkdev.h
  WRAP    arch/x86/include/generated/asm/cputime.h
  WRAP    arch/x86/include/generated/asm/dma-contiguous.h
  WRAP    arch/x86/include/generated/asm/early_ioremap.h
  WRAP    arch/x86/include/generated/asm/mcs_spinlock.h
  WRAP    arch/x86/include/generated/asm/mm-arch-hooks.h
  HYPERCALLS arch/x86/entry/syscalls/../../include/generated/asm/xen-hypercalls.h
  CHK     include/generated/uapi/linux/version.h
  UPD     include/generated/uapi/linux/version.h
  SYSHDR  arch/x86/entry/syscalls/../../include/generated/uapi/asm/unistd_32.h
  SYSHDR  arch/x86/entry/syscalls/../../include/generated/uapi/asm/unistd_64.h
  SYSHDR  arch/x86/entry/syscalls/../../include/generated/uapi/asm/unistd_x32.h
  CHK     include/generated/utsrelease.h
  UPD     include/generated/utsrelease.h
  HOSTCC  scripts/genksyms/genksyms.o
  SHIPPED scripts/genksyms/parse.tab.c
  CC      scripts/mod/empty.o
scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
 /* empty file to figure out endianness / word size */
 
scripts/Makefile.build:289: recipe for target 'scripts/mod/empty.o' failed
make[2]: *** [scripts/mod/empty.o] Error 1
scripts/Makefile.build:440: recipe for target 'scripts/mod' failed
make[1]: *** [scripts/mod] Error 2
make[1]: *** Waiting for unfinished jobs....
  SHIPPED scripts/genksyms/lex.lex.c
  SHIPPED scripts/genksyms/keywords.hash.c
  SHIPPED scripts/genksyms/parse.tab.h
  HOSTCC  scripts/genksyms/parse.tab.o
  HOSTCC  scripts/genksyms/lex.lex.o
  HOSTLD  scripts/genksyms/genksyms
Makefile:559: recipe for target 'scripts' failed
make: *** [scripts] Error 2
make: *** Waiting for unfinished jobs....
 
Last edited:
I see, that is a PITA. But the patch looks simple, just in the top-level makefile. Your problem is in the scripts directory, perhaps those need a similar fix too. Or can you install gcc 4.X from packages (available?), make it default with update-alternatives and compile the kernel with make-kpkg? I have always used make-kpkg with no problems, it directly produces kernel package to install.

Or - can you do the tests in your archlinux? IMO it is much more friendly to tweaking.
 
I see, that is a PITA. But the patch looks simple, just in the top-level makefile. Your problem is in the scripts directory, perhaps those need a similar fix too. Or can you install gcc 4.X from packages (available?), make it default with update-alternatives and compile the kernel with make-kpkg? I have always used make-kpkg with no problems, it directly produces kernel package to install.

Or - can you do the tests in your archlinux? IMO it is much more friendly to tweaking.

Patch don't work, it gives me errors so no solution for the patch.
Just compiling a little more, but the error comes again.

If you have a solution for Arch we can try that, I can install it in a kvm , just need to
compile this 4.8.1 kernel.... But I know I'll get the c++ compiler 7.x and It can not compile
these antient kernels...
 
ubuntu 16.4 kernel compiling
Code:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.9

sudo apt-get purge gcc-6

sudo ln -s /usr/bin/gcc-4.9 /usr/bin/gcc

A little progress as I can see.

Do you have a guide to use the make-pkpg tool :)
 
Last edited:
For gcc - IMO you do not have to remove the existing gcc, just install another gcc packages and use update-alternatives for the task https://stackoverflow.com/questions/7832892/how-to-change-the-default-gcc-compiler-in-ubuntu

make-kpkg - e.g. https://www.cyberciti.biz/faq/debian-ubuntu-building-installing-a-custom-linux-kernel/

For configuring the kernel I always use make oldconfig as explained e.g. in using kpkg to build kernels

needs 1782 MB what a joke.

Your unzipped kernel source will be much larger, even much larger after compilation with all the object files (10GB)
 
For gcc - IMO you do not have to remove the existing gcc, just install another gcc packages and use update-alternatives for the task https://stackoverflow.com/questions/7832892/how-to-change-the-default-gcc-compiler-in-ubuntu

make-kpkg - e.g. https://www.cyberciti.biz/faq/debian-ubuntu-building-installing-a-custom-linux-kernel/

For configuring the kernel I always use make oldconfig as explained e.g. in using kpkg to build kernels



Your unzipped kernel source will be much larger, even much larger after compilation with all the object files (10GB)

Yes I can see it , it get HUGE right now 4215M and growing.
 
I just hangs here is it normal...
Code:
 INSTALL debian/headertmp/usr/include/linux/tc_act/ (12 files)
  INSTALL debian/headertmp/usr/include/linux/tc_ematch/ (4 files)
  INSTALL debian/headertmp/usr/include/linux/usb/ (11 files)
  INSTALL debian/headertmp/usr/include/linux/wimax/ (1 file)
  INSTALL debian/headertmp/usr/include/linux/ (432 files)
  INSTALL debian/headertmp/usr/include/asm/ (65 files)
dpkg-deb: building package 'linux-firmware-image-4.8.1-custom' in '../linux-firmware-image-4.8.1-custom_4.8.1-custom-1_amd64.deb'.
dpkg-deb: building package 'linux-headers-4.8.1-custom' in '../linux-headers-4.8.1-custom_4.8.1-custom-1_amd64.deb'.
dpkg-deb: building package 'linux-libc-dev' in '../linux-libc-dev_4.8.1-custom-1_amd64.deb'.
dpkg-deb: building package 'linux-image-4.8.1-custom' in '../linux-image-4.8.1-custom_4.8.1-custom-1_amd64.deb'.
dpkg-deb: building package 'linux-image-4.8.1-custom-dbg' in '../linux-image-4.8.1-custom-dbg_4.8.1-custom-1_amd64.deb'.

Been waiting in 15 min , and machine isn't dead , fine responding.
 
Okay , Testing is already done, The perfect kernel 4.8.17 which I ran for about 8 hours
on my 1Gbit MSI is a disaster on the 100Mbit Lenovo... Have 7 skips in the 12 run test.

I'm almost sure its about the irqs, but need more testing.

I saw the Irqs rate on my MSI was very much lower, and It rock stable. (1 skip in 10 hours) could
be related to playing over network, with high server load.

I have a wandboard low (irqs) quite stable contra my odroid C1+ (8000 irqs) total unstable.

Think we might have something to look into. I have my 100Mbit lenovo will test it tomorrow to see If there is a collation between irqs rate and these skips.
 
And here is the irqs number MSI my Lenovo

Code:
// Lenovo [b]100mbit[/b]  total irqs (119932) irq/sec([b]7995.47[/b]) start irq(16985717) stop irq(17105649).
// MSI [b]1gbit[/b]             total irqs (4621) irq/sec([b]308.07[/b]) start irq(155314) stop irq(159935).
// Lenovo [b]100mbit[/b] antient Netbook N450 , very slow, but quite stable 
         total irqs (5300) irq/sec([b]353.33[/b]) start irq(115517) stop irq(120817).

Did the playing test on my MSI 12 times no skips. Kernel 4.8.17
 
Last edited:
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.