Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com Free Electrons Kernel advice.

Similar presentations


Presentation on theme: "1 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com Free Electrons Kernel advice."— Presentation transcript:

1 1 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com Free Electrons Kernel advice and resources Michael Opdenacker Thomas Petazzoni Free Electrons © Copyright 2004-2010, Free Electrons. Creative Commons BY-SA 3.0 license Latest update: 11/20/2016, Document sources, updates and translations: http://free-electrons.com/docs/kernel-resources Corrections, suggestions, contributions and translations are welcome! http://free-electrons.com/docs/kernel-resources

2 2 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com Solving issues If you face an issue, and it doesn't look specific to your work but rather to the tools you are using, it is very likely that someone else already faced it. Search the Internet for similar error reports. You have great chances of finding a solution or workaround, or at least an explanation for your issue. Otherwise, reporting the issue is up to you!

3 3 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com Getting help If you have a support contract, ask your vendor. Otherwise, don't hesitate to share your questions and issues Either contact the Linux mailing list for your architecture (like linux- arm-kernel or linuxsh-dev...). Or contact the mailing list for the subsystem you're dealing with (linux-usb-devel, linux-mtd...). Don't ask the maintainer directly! Most mailing lists come with a FAQ page. Make sure you read it before contacting the mailing list. Useful IRC resources are available too (for example on http://kernelnewbies.org).http://kernelnewbies.org Refrain from contacting the Linux Kernel mailing list, unless you're an experienced developer and need advice.

4 4 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com Getting contributions Applies if your project can interest other people: developing a driver or filesystem, porting Linux on a new processor, board or device available on the market... External contributors can help you a lot by Testing Writing documentation Making suggestions Even writing code

5 5 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com Encouraging contributions Open your development process: mailing list, Wiki, public git tree. Let everyone contribute according to their skills and interests. Release early, release often Take feedback and suggestions into account Recognize contributions Make sure status and documentation are up to date Publicize your work and progress to broader audiences

6 6 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com Reporting Linux bugs First make sure you're using the latest version Make sure you investigate the issue as much as you can: see Documentation/BUG-HUNTINGDocumentation/BUG-HUNTING Make sure the bug has not been reported yet. A bug tracking system (http://bugzilla.kernel.org/) exists but very few kernel developers use it. Best to use web search engines (accessing public mailing list archives)http://bugzilla.kernel.org/ If the subsystem you report a bug on has a mailing list, use it. Otherwise, contact the official maintainer (see the MAINTAINERS file). Always give as many useful details as possible.MAINTAINERS

7 7 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com How to submit patches or drivers Don't merge patches addressing different issues Run Linux patch checks: scripts/checkpatch.pl You should identify and contact the official maintainer for the files to patch. See Documentation/SubmittingPatches for details. For trivial patches, you can copy the Trivial Patch Monkey.Documentation/SubmittingPatches See also http://kernelnewbies.org/UpstreamMerge for very helpful advice to have your code merged upstream (by Rik van Riel).http://kernelnewbies.org/UpstreamMerge Patches related to embedded systems can be submitted on the linux- embedded mailing list: http://vger.kernel.org/vger-lists.html#linux- embeddedhttp://vger.kernel.org/vger-lists.html#linux- embedded ARM platform: it's best to submit your ARM patches to Russell King's patch system: http://www.arm.linux.org.uk/developer/patches/http://www.arm.linux.org.uk/developer/patches/

8 8 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com How to become a kernel developer? Greg Kroah-Hartman wrote useful guidelines in the kernel documentation: Documentation/HOWTO How to Participate in the Linux Community (by Jonathan Corbet) A Guide To The Kernel Development Process http://ldn.linuxfoundation.org/documentation/how-participate-linux-community http://ldn.linuxfoundation.org/documentation/how-participate-linux-community Read this last document first. It is probably sufficient!

9 9 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com Embedded Linux driver development Advice and resources References

10 10 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com Kernel development news Linux Weekly News http://lwn.net/ http://lwn.net/ The weekly digest off all Linux and free software information sources In depth technical discussions about the kernel Subscribe to finance the editors ($7 / month) Articles available for non subscribers after 1 week.

11 11 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com Useful reading (1) Essential Linux Device Drivers, April 2008 http://free-electrons.com/redirect/eldd-book.html http://free-electrons.com/redirect/eldd-book.html By Sreekrishnan Venkateswaran, an embedded IBM engineer with more than 10 years of experience Covers a wide range of topics not covered by LDD : serial drivers, input drivers, I2C, PCMCIA and Compact Flash, PCI, USB, video drivers, audio drivers, block drivers, network drivers, Bluetooth, IrDA, MTD, drivers in userspace, kernel debugging, etc. « Probably the most wide ranging and complete Linux device driver book I've read » -- Alan Cox

12 12 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com Useful reading (2) Writing Linux Device drivers, September 2009 http://www.coopj.com/ http://www.coopj.com/ Self published by Jerry Cooperstein Available like any other book (Amazon and others) Though not as thorough as the previous book on specific drivers, still a good complement on multiple aspects of kernel and device driver development. Based on Linux 2.6.31 Multiple exercises. Updated solutions for 2.6.36.

13 13 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com Useful reading (3) Linux Device Drivers, 3 rd edition, Feb 2005 By Jonathan Corbet, Alessandro Rubini, Greg Kroah-Hartman, O'Reilly http://www.oreilly.com/catalog/linuxdrive3/ http://www.oreilly.com/catalog/linuxdrive3/ Freely available on-line! Great companion to the printed book for easy electronic searches! http://lwn.net/Kernel/LDD3/ (1 PDF file per chapter) http://free-electrons.com/community/kernel/ldd3/ (single PDF file) http://lwn.net/Kernel/LDD3/ http://free-electrons.com/community/kernel/ldd3/ Getting outdated But still useful for Linux device driver writers!

14 14 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com Useful reading (4) Linux Kernel Development, 3 rd Edition, Jun 2010 Robert Love, Novell Press http://free-electrons.com/redir/lkd3-book.html A very synthetic and pleasant way to learn about kernel subsystems (beyond the needs of device driver writers) http://free-electrons.com/redir/lkd3-book.html

15 15 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com Useful on-line resources Linux kernel mailing list FAQ http://www.tux.org/lkml/ Complete Linux kernel FAQ Read this before asking a question to the mailing list http://www.tux.org/lkml/ Kernel Newbies http://kernelnewbies.org/ Glossary, articles, presentations, HOWTOs, recommended reading, useful tools for people getting familiar with Linux kernel or driver development. http://kernelnewbies.org/ Kernel glossary: http://kernelnewbies.org/KernelGlossary http://kernelnewbies.org/KernelGlossary

16 16 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com International conferences Embedded Linux Conference: http://embeddedlinuxconference.com/ Organized by the CE Linux Forum: California (San Francisco, April), in Europe (October-November). Very interesting kernel and userspace topics for embedded systems developers. Presentation slides freely available http://embeddedlinuxconference.com/ Linux Plumbers http://linuxplumbersconf.org Conference on the low-level plumbing of Linux: kernel, audio, power management, device management, multimedia, etc. http://linuxplumbersconf.org linux.conf.au: http://linux.org.au/conf/ (Australia / New Zealand) Features a few presentations by key kernel hackers.http://linux.org.au/conf/ Don't miss our free conference videos on http://free-electrons.com/community/videos/conferences/! http://free-electrons.com/community/videos/conferences/

17 17 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com ARM resources ARM Linux project: http://www.arm.linux.org.uk/http://www.arm.linux.org.uk/ Developer documentation: http://www.arm.linux.org.uk/developer/http://www.arm.linux.org.uk/developer/ arm-linux-kernel mailing list: http://lists.infradead.org/mailman/listinfo/linux-arm-kernel http://lists.infradead.org/mailman/listinfo/linux-arm-kernel FAQ: http://www.arm.linux.org.uk/armlinux/mlfaq.phphttp://www.arm.linux.org.uk/armlinux/mlfaq.php How to post kernel fixes: http://www.arm.uk.linux.org/developer/patches/ http://www.arm.uk.linux.org/developer/patches/ Linaro: http://linaro.org Many optimizations and resources for recent ARM CPUs (toolchains, kernels, debugging utilities...).http://linaro.org ARM Limited: http://www.linux-arm.com/ Wiki with links to useful developer resourceshttp://www.linux-arm.com/

18 18 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com Embedded Linux driver development Advice and resources Last advice

19 19 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com Use the Source, Luke! Many resources and tricks on the Internet find you will, but solutions to all technical issues only in the Source lie. Thanks to LucasArts


Download ppt "1 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com Free Electrons Kernel advice."

Similar presentations


Ads by Google