03-08-2016, 10:18 AM
(This post was last modified: 03-08-2016, 10:32 AM by Artyom.)
(03-07-2016, 11:24 AM)umiddelb Wrote: I've re-mediated the rejected hunks and this time the kernel builds and boots up nicely. You can download the the kernel binary tar archive here.
Unpack with:
Code: curl -sSL https://github.com/umiddelb/z2d/blob/master/kernel/linux-3.10.65-2-pine64-rt69+-p64.tar.xz?raw=true | sudo tar --numeric-owner -C / -xpJf -
You may find the kernel sources here.
OK. VERY GOOD! Thanks. But i don't have Pine64 board now. Waiting my board... If you have Pine64 board you can try run test like here: https://rt.wiki.kernel.org/index.php/Cyclictest
(03-08-2016, 10:18 AM)Artyom Wrote: (03-07-2016, 11:24 AM)umiddelb Wrote: I've re-mediated the rejected hunks and this time the kernel builds and boots up nicely. You can download the the kernel binary tar archive here.
Unpack with:
Code: curl -sSL https://github.com/umiddelb/z2d/blob/master/kernel/linux-3.10.65-2-pine64-rt69+-p64.tar.xz?raw=true | sudo tar --numeric-owner -C / -xpJf -
You may find the kernel sources here.
OK. VERY GOOD! Thanks. But i don't have Pine64 board now. Waiting my board... If you have Pine64 board you can try run test like here: https://rt.wiki.kernel.org/index.php/Cyclictest During the next two days I'll try to look at the configuration file for one of the distributions using kernel Linux real-time. Compare them with the configuration file you used when building of our current kernel. Let's try a little bit to optimize it)))
03-09-2016, 01:44 AM
(This post was last modified: 03-10-2016, 02:31 AM by Artyom.)
@ umiddelb
Hi again Uli!
Try to recompile the kernel with these options:
...
# RCU Subsystem
CONFIG_TREE_PREEMPT_RCU=y
CONFIG_PREEMPT_RCU=y
...
# Kernel Features
CONFIG_PREEMPT=y
CONFIG_PREEMPT_RT_BASE=y
CONFIG_HAVE_PREEMPT_LAZY=y
CONFIG_PREEMPT_LAZY=y
.....
CONFIG_PREEMPT_RT_FULL=y
CONFIG_PREEMPT_COUNT=y
CONFIG_HZ_FIXED=0
CONFIG_HZ_100=y
CONFIG_SCHED_HRTICK=y
# Timers subsystem
CONFIG_HIGH_RES_TIMERS=y
# Debug Lockups and Hangs
CONFIG_TIMER_STATS=y
CONFIG_DEBUG_PREEMPT=y
# RCU Debugging
CONFIG_TREE_PREEMPT_RCU=y
CONFIG_PREEMPT_RCU=y
If the kernel build a successful, try to make the tests.
(03-09-2016, 01:44 AM)Artyom Wrote: @umiddelb
Hi again Uli!
Try to recompile the kernel with these options:
...
# RCU Subsystem
(OK) CONFIG_TREE_PREEMPT_RCU=y
(OK) CONFIG_PREEMPT_RCU=y
...
# Kernel Features
(OK) CONFIG_PREEMPT=y
(OK) CONFIG_PREEMPT_RT_BASE=y
(Not present) CONFIG_HAVE_PREEMPT_LAZY=y
(Not present) CONFIG_PREEMPT_LAZY=y
.....
(Not present) CONFIG_PREEMPT_RT_FULL=y
(OK) CONFIG_PREEMPT_COUNT=y
(ARMv7 only, 3.12+ only)CONFIG_HZ_FIXED=0
(MIPS only) CONFIG_HZ_100=y
(ARMv7 only) CONFIG_SCHED_HRTICK=y
# Timers subsystem
(ARMv7 only) CONFIG_HIGH_RES_TIMERS=y 1
# Debug Lockups and Hangs
(OK) CONFIG_TIMER_STATS=y
(OK) CONFIG_DEBUG_PREEMPT=y
# RCU Debugging
(OK) CONFIG_TREE_PREEMPT_RCU=y
(OK) CONFIG_PREEMPT_RCU=y
If the kernel build a successful, try to make the tests. Hi Artyom,
the green coloured settings are already enabled, the red coloured settings cannot be enabled due to different reasons:
- they depend on a certain architecture or minimal kernel version
- they depend on additional patches being applied first
Cheers
Uli
03-10-2016, 05:24 AM
(This post was last modified: 03-10-2016, 05:38 AM by Artyom.)
(03-10-2016, 05:01 AM)umiddelb Wrote: (03-09-2016, 01:44 AM)Artyom Wrote: @umiddelb
Hi again Uli!
Try to recompile the kernel with these options:
...
# RCU Subsystem
(OK) CONFIG_TREE_PREEMPT_RCU=y
(OK) CONFIG_PREEMPT_RCU=y
...
# Kernel Features
(OK) CONFIG_PREEMPT=y
(OK) CONFIG_PREEMPT_RT_BASE=y
(Not present) CONFIG_HAVE_PREEMPT_LAZY=y
(Not present) CONFIG_PREEMPT_LAZY=y
.....
(Not present) CONFIG_PREEMPT_RT_FULL=y
(OK) CONFIG_PREEMPT_COUNT=y
(ARMv7 only, 3.12+ only)CONFIG_HZ_FIXED=0
(MIPS only) CONFIG_HZ_100=y
(ARMv7 only) CONFIG_SCHED_HRTICK=y
# Timers subsystem
(ARMv7 only) CONFIG_HIGH_RES_TIMERS=y 1
# Debug Lockups and Hangs
(OK) CONFIG_TIMER_STATS=y
(OK) CONFIG_DEBUG_PREEMPT=y
# RCU Debugging
(OK) CONFIG_TREE_PREEMPT_RCU=y
(OK) CONFIG_PREEMPT_RCU=y
If the kernel build a successful, try to make the tests. Hi Artyom,
the green coloured settings are already enabled, the red coloured settings cannot be enabled due to different reasons:
- they depend on a certain architecture or minimal kernel version
- they depend on additional patches being applied first
Cheers
Uli You use "make menuconfig" when configuring your kernel? I find some info about (as i undestand minimal kernel configuration):
--------------------------------------------------------------------------------------------
Required parameters for configuring realtime kernel?
Kernel 2.6.x:
CONFIG_PREEMPT=y
CONFIG_PREEMPT_RT=y
Kernel 3.x:
CONFIG_PREEMPT=y
CONFIG_PREEMPT_RT_BASE=y
CONFIG_PREEMPT_RT_FULL=y
Optional parameters for configuring realtime kernel, but they affect realtime performance?
CONFIG_HIGH_RES_TIMERS=y
------------------------------------------------------------------------------------------------------------------
More you can find here: https://rt.wiki.kernel.org/index.php/Fre...nel_3.x:_2
As I undestand CONFIG_PREEMPT_RT_FULL must present in our kernel...
(03-10-2016, 05:24 AM)Artyom Wrote: (03-10-2016, 05:01 AM)umiddelb Wrote: (03-09-2016, 01:44 AM)Artyom Wrote: @umiddelb
Hi again Uli!
Try to recompile the kernel with these options:
...
# RCU Subsystem
(OK) CONFIG_TREE_PREEMPT_RCU=y
(OK) CONFIG_PREEMPT_RCU=y
...
# Kernel Features
(OK) CONFIG_PREEMPT=y
(OK) CONFIG_PREEMPT_RT_BASE=y
(Not present) CONFIG_HAVE_PREEMPT_LAZY=y
(Not present) CONFIG_PREEMPT_LAZY=y
.....
(Not present) CONFIG_PREEMPT_RT_FULL=y
(OK) CONFIG_PREEMPT_COUNT=y
(ARMv7 only, 3.12+ only)CONFIG_HZ_FIXED=0
(MIPS only) CONFIG_HZ_100=y
(ARMv7 only) CONFIG_SCHED_HRTICK=y
# Timers subsystem
(ARMv7 only) CONFIG_HIGH_RES_TIMERS=y 1
# Debug Lockups and Hangs
(OK) CONFIG_TIMER_STATS=y
(OK) CONFIG_DEBUG_PREEMPT=y
# RCU Debugging
(OK) CONFIG_TREE_PREEMPT_RCU=y
(OK) CONFIG_PREEMPT_RCU=y
If the kernel build a successful, try to make the tests. Hi Artyom,
the green coloured settings are already enabled, the red coloured settings cannot be enabled due to different reasons:
- they depend on a certain architecture or minimal kernel version
- they depend on additional patches being applied first
Cheers
Uli You use "make menuconfig" when configuring your kernel? I find some info about (as i undestand minimal kernel configuration):
--------------------------------------------------------------------------------------------
Required parameters for configuring realtime kernel?
Kernel 2.6.x:
CONFIG_PREEMPT=y
CONFIG_PREEMPT_RT=y
Kernel 3.x:
CONFIG_PREEMPT=y
CONFIG_PREEMPT_RT_BASE=y
CONFIG_PREEMPT_RT_FULL=y
Optional parameters for configuring realtime kernel, but they affect realtime performance?
CONFIG_HIGH_RES_TIMERS=y
------------------------------------------------------------------------------------------------------------------
More you can find here: https://rt.wiki.kernel.org/index.php/Fre...nel_3.x:_2
As I undestand CONFIG_PREEMPT_RT_FULL must present in our kernel...
Uli, try to find this in "menuconfig": Preemption Model --> Fully Preemptible Kernel (RT)
(03-10-2016, 05:24 AM)Artyom Wrote: Uli, try to find this in "menuconfig": Preemption Model --> Fully Preemptible Kernel (RT)
only CONFIG_PREEMPT_RT_BASE is offered at this time (and enabled). You may get in touch with chlorisdroid, he managed to build a RT enabled Linux kernel for the ODROID -C2.
(03-10-2016, 06:31 AM)umiddelb Wrote: (03-10-2016, 05:24 AM)Artyom Wrote: Uli, try to find this in "menuconfig": Preemption Model --> Fully Preemptible Kernel (RT)
only CONFIG_PREEMPT_RT_BASE is offered at this time (and enabled). You may get in touch with chlorisdroid, he managed to build a RT enabled Linux kernel for the ODROID -C2.
Uli, can you post instructions how you reconfigure pine64 rt kernel from github with using menuconfig? And how you compile them...
(03-10-2016, 07:03 AM)Artyom Wrote: Uli, can you post instructions how you reconfigure pine64 rt kernel from github with using menuconfig? And how you compile them...
I've updated the description how to build a custom kernel on the PINE64 in order to reflect @longsleeps recent changes on U-Boot .
For the RT kernel just take my Github repository instead, so
Code: git clone --depth 1 --single-branch -b pine64-hacks-1.2 https://github.com/umiddelb/linux-pine64-rt.git
curl -sSL https://github.com/longsleep/build-pine64-image/raw/master/blobs/pine64.dts > linux-pine64/arch/arm64/boot/dts/sun50i-a64-pine64-plus.dts
make sun50iw1p1smp_linux_defconfig
make menuconfig
make clean
make -j 4 Image sun50i-a64-pine64-plus.dtb modules
and so on.
(03-10-2016, 02:04 PM)umiddelb Wrote: (03-10-2016, 07:03 AM)Artyom Wrote: Uli, can you post instructions how you reconfigure pine64 rt kernel from github with using menuconfig? And how you compile them...
I've updated the description how to build a custom kernel on the PINE64 in order to reflect @longsleeps recent changes on U-Boot .
For the RT kernel just take my Github repository instead, so
Code: git clone --depth 1 --single-branch -b pine64-hacks-1.2 https://github.com/umiddelb/linux-pine64-rt.git
curl -sSL https://github.com/longsleep/build-pine64-image/raw/master/blobs/pine64.dts > linux-pine64/arch/arm64/boot/dts/sun50i-a64-pine64-plus.dts
make sun50iw1p1smp_linux_defconfig
make menuconfig
make clean
make -j 4 Image sun50i-a64-pine64-plus.dtb modules
and so on.
Yesterday I wrote chloris droid. Waiting for an answer... I also plan to write RT patch developers. Furthermore Now I recompile the kernel Raspberry Pi 2 to integrate ARM Gator. How to deal with him, we will integrate ARM Gator in Pne64 core.
There did not seem difficult now. You in? )))
(03-10-2016, 10:43 PM)Artyom Wrote: (03-10-2016, 02:04 PM)umiddelb Wrote: (03-10-2016, 07:03 AM)Artyom Wrote: Uli, can you post instructions how you reconfigure pine64 rt kernel from github with using menuconfig? And how you compile them...
I've updated the description how to build a custom kernel on the PINE64 in order to reflect @longsleeps recent changes on U-Boot .
For the RT kernel just take my Github repository instead, so
Code: git clone --depth 1 --single-branch -b pine64-hacks-1.2 https://github.com/umiddelb/linux-pine64-rt.git
curl -sSL https://github.com/longsleep/build-pine64-image/raw/master/blobs/pine64.dts > linux-pine64/arch/arm64/boot/dts/sun50i-a64-pine64-plus.dts
make sun50iw1p1smp_linux_defconfig
make menuconfig
make clean
make -j 4 Image sun50i-a64-pine64-plus.dtb modules
and so on.
Yesterday I wrote chloris droid. Waiting for an answer... I also plan to write RT patch developers. Furthermore Now I recompile the kernel Raspberry Pi 2 to integrate ARM Gator. How to deal with him, we will integrate ARM Gator in Pne64 core.
There did not seem difficult now. You in? )))
As it turned out, even on Rpi2 ARM DS5 and ARM Gator work to put it mildly is not very good. Simply put Eclipse on Rpi2.
So I think to abandon the ARM Gator integration into Pine64 kernel.
@ umiddelb
Hi Uli. Seems I find solution, why FULL_PREEPT_RT didn't work.
Read this ( https://patches.linaro.org/patch/47646/), and tell me what you think?
|