Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision |
kerneldev [2012/02/21 14:37] – [Kernel Debugging] armelf | kerneldev [2012/06/28 19:12] – marvin24 |
---|
[[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 a [[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**)). |
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> |
| |
| |
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 == |
| |
[[http://www.ibm.com/developerworks/linux/library/l-systemtap/index.html|Linux introspection and SystemTap, An interface and language for dynamic kernel analysis]] by [[http://www.ibm.com/developerworks/linux/library/l-systemtap/index.html|M. Tim Jones]] | [[http://www.ibm.com/developerworks/linux/library/l-systemtap/index.html|Linux introspection and SystemTap, An interface and language for dynamic kernel analysis]] by [[http://www.ibm.com/developerworks/linux/library/l-systemtap/index.html|M. Tim Jones]] |
| |
| [[http://dtrace.org/blogs/brendan/2011/10/15/using-systemtap/|Using SystemTap]] by [[http://dtrace.org/blogs/brendan/about/|Brendan Gregg]] |
| |
| [[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) : |
| |
[[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 ====== |