Site Tools


kerneldev

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
kerneldev [2012/02/21 17:47] – [Kernel Debugging] armelfkerneldev [2012/06/28 19:12] marvin24
Line 5: Line 5:
 [[http://en.wikipedia.org/wiki/Nvidia_Tegra#Tegra_2_series|NVidia's Tegra2]]((http://www.nvidia.com/object/tegra-2.html)), which is dual-core [[http://arm.com|ARM]] [[http://en.wikipedia.org/wiki/Cortex-A9|Cortex-A9]], supports only [[http://en.wikipedia.org/wiki/ARM_architecture#VFP|VFPv3]] ((http://www.arm.com/products/processors/technologies/vector-floating-point.php)) and **not** [[http://en.wikipedia.org/wiki/ARM_architecture#Advanced_SIMD_.28NEON.29|NEON]] ((http://www.arm.com/products/processors/technologies/neon.php)) extensions which are more powerful. [[http://en.wikipedia.org/wiki/Nvidia_Tegra#Tegra_2_series|NVidia's Tegra2]]((http://www.nvidia.com/object/tegra-2.html)), which is dual-core [[http://arm.com|ARM]] [[http://en.wikipedia.org/wiki/Cortex-A9|Cortex-A9]], supports only [[http://en.wikipedia.org/wiki/ARM_architecture#VFP|VFPv3]] ((http://www.arm.com/products/processors/technologies/vector-floating-point.php)) and **not** [[http://en.wikipedia.org/wiki/ARM_architecture#Advanced_SIMD_.28NEON.29|NEON]] ((http://www.arm.com/products/processors/technologies/neon.php)) extensions which are more powerful.
  
-As of 2012/02/18, the most stable kernel is 3.0.19, and [[http://gitorious.org/~marvin24/ac100/marvin24s-kernel/|Marc Dietrich]]the ac100 kernel maintainer, started to work on [[http://gitorious.org/~marvin24/ac100/marvin24s-kernel/commits/chromeos-ac100-3.2-exp|kernel 3.2.x series]] for AC100.+As of 2012/06/28, the most stable kernel is [[http://gitorious.org/~marvin24/ac100/marvin24s-kernel/commits/chromeos-ac100-3.0|3.0.19]]. This kernel is based on the original work made by [[http://git.chromium.org/gitweb/?p=chromiumos/third_party/kernel.git;a=summary|Google]]. Work has been started on [[http://gitorious.org/ac100/marvin24s-kernel/trees/linux-tegra-nv-ac100-3.1-exp|3.1.10]] kernel for AC100, which is based on the work of [[http://nv-tegra.nvidia.com/gitweb/?p=linux-2.6.git;a=summary|NVIDIA]]. The next Ubuntu version 12.10 will be based upon this kernel. There also exists a very experimental version of a mainline kernel [[http://gitorious.org/~marvin24/ac100/marvin24s-kernel/commits/for-next|(for-next)]] with a minimal amount of patches.
  
 The most hotspot in kernel development is NVEC driver (incomplete implementation and marginal stability issue), sound driver (noise annoyance, automatic switch between Speaker/Headphone (not implemented at all in ASoC but can be easily done with a userspace daemon)) and ''rt2800usb'' Wifi driver (some stability issues and high stress on specific memory pool (reduced by **echo 32000 > /proc/sys/vm/min_free_kbytes**)). The most hotspot in kernel development is NVEC driver (incomplete implementation and marginal stability issue), sound driver (noise annoyance, automatic switch between Speaker/Headphone (not implemented at all in ASoC but can be easily done with a userspace daemon)) and ''rt2800usb'' Wifi driver (some stability issues and high stress on specific memory pool (reduced by **echo 32000 > /proc/sys/vm/min_free_kbytes**)).
Line 94: Line 94:
 git clone -b chromeos-ac100-3.0 git://gitorious.org/~marvin24/ac100/marvin24s-kernel.git git clone -b chromeos-ac100-3.0 git://gitorious.org/~marvin24/ac100/marvin24s-kernel.git
 cd marvin24s-kernel cd marvin24s-kernel
 +make paz00_defconfig
 +make zImage modules
 </code> </code>
  
Line 99: Line 101:
  
 TODO TODO
 +
 +[[http://kernelnewbies.org/KernelHacking|Kernel Hacking]]
        
 === GDB and KGDB === === GDB and KGDB ===
  
 TODO TODO
 +
 +http://kgdb.sourceforge.net
  
 == Remote debugging session == == Remote debugging session ==
Line 131: Line 137:
  
 [[http://sprocket.io/blog/2007/11/systemtap-its-like-dtrace-for-linux-yo/|SystemTap: It's like dtrace for linux, yo.]] by [[http://sprocket.io/blog/contact/|Thomas Strömberg]] [[http://sprocket.io/blog/2007/11/systemtap-its-like-dtrace-for-linux-yo/|SystemTap: It's like dtrace for linux, yo.]] by [[http://sprocket.io/blog/contact/|Thomas Strömberg]]
 +
 +[[http://sourceware.org/systemtap/examples/|SystemTap Examples]]
  
 Examples written by Paul Fertser for tracking [[hardware_specs?&#keyboard_touch_led_battery_controller|NVEC]] activities (this assumes you're crosscompiling and then manually scp'ing and staprun'ing modules) : Examples written by Paul Fertser for tracking [[hardware_specs?&#keyboard_touch_led_battery_controller|NVEC]] activities (this assumes you're crosscompiling and then manually scp'ing and staprun'ing modules) :
Line 161: Line 169:
  
 [[http://sourceware.org/systemtap/wiki/SystemtapDtraceComparison|SystemTap vs. DTrace]] [[http://sourceware.org/systemtap/wiki/SystemtapDtraceComparison|SystemTap vs. DTrace]]
 +
 +=== ftrace ===
 +
 +TODO
 +
 +[[http://lwn.net/Articles/365835/|Debugging the kernel using Ftrace - part 1]]
 +
 +[[http://lwn.net/Articles/366796/|Debugging the kernel using Ftrace - part 2]]
 +
 +http://elinux.org/Ftrace
 +
 +[[https://events.linuxfoundation.org/slides/2010/linuxcon_japan/linuxcon_jp2010_rostedt.pdf|Ftrace Linux Kernel Tracing]] by Steve Rostedt
 +
 +[[http://git.kernel.org/?p=linux/kernel/git/rostedt/trace-cmd.git;a=summary|Home of trace-cmd and kernelshark]]
 ===== Git-Fu ===== ===== Git-Fu =====
 TODO TODO
  
 [[http://www.eecs.harvard.edu/~cduan/technical/git/|A tutorial on Git]] by Charles Duan. [[http://www.eecs.harvard.edu/~cduan/technical/git/|A tutorial on Git]] by Charles Duan.
 +
 +[[http://schacon.github.com/git/gittutorial.html|official Git tutorial]]
  
 ====== Kernel Hot patching ====== ====== Kernel Hot patching ======
kerneldev.txt · Last modified: 2014/06/21 18:57 by santox