Sunteți pe pagina 1din 22

FreeElectrons

Kernel adviceand resources


MichaelOpdenacker ThomasPetazzoni FreeElectrons

Copyright20042010,FreeElectrons. CreativeCommonsBYSA3.0license Latestupdate:Dec20,2010, Documentsources,updatesandtranslations: http://freeelectrons.com/docs/kernelresources Corrections,suggestions,contributionsandtranslationsarewelcome!

FreeElectrons.Kernel,driversandembeddedLinuxdevelopment,consulting,trainingandsupport.http//freeelectrons.com

Solvingissues
Ifyoufaceanissue,anditdoesn'tlookspecifictoyourwork butrathertothetoolsyouareusing,itisverylikelythat someoneelsealreadyfacedit. SearchtheInternetforsimilarerrorreports. Youhavegreatchancesoffindingasolutionorworkaround, oratleastanexplanationforyourissue. Otherwise,reportingtheissueisuptoyou!

2
FreeElectrons.Kernel,driversandembeddedLinuxdevelopment,consulting,trainingandsupport.http//freeelectrons.com

Gettinghelp
Ifyouhaveasupportcontract,askyourvendor. Otherwise,don'thesitatetoshareyourquestionsandissues EithercontacttheLinuxmailinglistforyourarchitecture(like linuxarmkernelorlinuxshdev...). Orcontactthemailinglistforthesubsystemyou'redealing with(linuxusbdevel,linuxmtd...).Don'taskthemaintainer directly! MostmailinglistscomewithaFAQpage.Makesureyouread itbeforecontactingthemailinglist. UsefulIRCresourcesareavailabletoo (forexampleonhttp://kernelnewbies.org). RefrainfromcontactingtheLinuxKernelmailinglist,unless you'reanexperienceddeveloperandneedadvice.
3
FreeElectrons.Kernel,driversandembeddedLinuxdevelopment,consulting,trainingandsupport.http//freeelectrons.com

Gettingcontributions
Appliesifyourprojectcaninterestotherpeople: developingadriverorfilesystem,portingLinuxonanew processor,boardordeviceavailableonthemarket... Externalcontributorscanhelpyoualotby Testing Writingdocumentation Makingsuggestions Evenwritingcode

4
FreeElectrons.Kernel,driversandembeddedLinuxdevelopment,consulting,trainingandsupport.http//freeelectrons.com

Encouragingcontributions
Openyourdevelopmentprocess:mailinglist,Wiki,publicgit tree. Leteveryonecontributeaccordingtotheirskillsand interests. Releaseearly,releaseoften Takefeedbackandsuggestionsintoaccount Recognizecontributions Makesurestatusanddocumentationareuptodate Publicizeyourworkandprogresstobroaderaudiences

5
FreeElectrons.Kernel,driversandembeddedLinuxdevelopment,consulting,trainingandsupport.http//freeelectrons.com

ReportingLinuxbugs
Firstmakesureyou'reusingthelatestversion Makesureyouinvestigatetheissueasmuchasyoucan: seeDocumentation/BUGHUNTING Makesurethebughasnotbeenreportedyet.Abugtracking system (http://bugzilla.kernel.org/)existsbutveryfewkerneldevelopers useit.Besttousewebsearchengines(accessingpublicmailing listarchives) Ifthesubsystemyoureportabugonhasamailinglist,useit. Otherwise,contacttheofficialmaintainer(seetheMAINTAINERS file).Alwaysgiveasmanyusefuldetailsaspossible.

6
FreeElectrons.Kernel,driversandembeddedLinuxdevelopment,consulting,trainingandsupport.http//freeelectrons.com

Howtosubmitpatchesordrivers
Don'tmergepatchesaddressingdifferentissues RunLinuxpatchchecks:scripts/checkpatch.pl Youshouldidentifyandcontacttheofficialmaintainer forthefilestopatch. SeeDocumentation/SubmittingPatchesfordetails.Fortrivial patches,youcancopytheTrivialPatchMonkey. Seealsohttp://kernelnewbies.org/UpstreamMergeforveryhelpful advicetohaveyourcodemergedupstream(byRikvanRiel). Patchesrelatedtoembeddedsystemscanbesubmittedonthelinux embeddedmailinglist: http://vger.kernel.org/vgerlists.html#linuxembedded ARMplatform:it'sbesttosubmityourARMpatchestoRussellKing's patchsystem:http://www.arm.linux.org.uk/developer/patches/
7
FreeElectrons.Kernel,driversandembeddedLinuxdevelopment,consulting,trainingandsupport.http//freeelectrons.com

Howtobecomeakerneldeveloper?
GregKroahHartmanwroteusefulguidelinesinthekernel documentation:

Documentation/HOWTO
HowtoParticipateintheLinuxCommunity(byJonathanCorbet) AGuideToTheKernelDevelopmentProcess
http://ldn.linuxfoundation.org/documentation/howparticipatelinuxcommunity

Readthislastdocumentfirst. Itisprobablysufficient!

8
FreeElectrons.Kernel,driversandembeddedLinuxdevelopment,consulting,trainingandsupport.http//freeelectrons.com

EmbeddedLinuxdriverdevelopment

Adviceandresources
References

9
FreeElectrons.Kernel,driversandembeddedLinuxdevelopment,consulting,trainingandsupport.http//freeelectrons.com

Kerneldevelopmentnews
LinuxWeeklyNews http://lwn.net/ TheweeklydigestoffallLinuxandfreesoftwareinformation sources Indepthtechnicaldiscussionsaboutthekernel Subscribetofinancetheeditors($7/month) Articlesavailablefornonsubscribers after1week.

10
FreeElectrons.Kernel,driversandembeddedLinuxdevelopment,consulting,trainingandsupport.http//freeelectrons.com

Usefulreading(1)
EssentialLinuxDeviceDrivers,April2008 http://freeelectrons.com/redirect/elddbook.html BySreekrishnanVenkateswaran,anembeddedIBM engineerwithmorethan10yearsofexperience CoversawiderangeoftopicsnotcoveredbyLDD: serialdrivers,inputdrivers,I2C,PCMCIAand CompactFlash,PCI,USB,videodrivers,audio drivers,blockdrivers,networkdrivers,Bluetooth, IrDA,MTD,driversinuserspace,kerneldebugging, etc. Probablythemostwiderangingandcomplete LinuxdevicedriverbookI'vereadAlanCox
11
FreeElectrons.Kernel,driversandembeddedLinuxdevelopment,consulting,trainingandsupport.http//freeelectrons.com

Usefulreading(2)
WritingLinuxDevicedrivers,September2009 http://www.coopj.com/ SelfpublishedbyJerryCooperstein Availablelikeanyotherbook(Amazonandothers) Thoughnotasthoroughasthepreviousbookon specificdrivers,stillagoodcomplementonmultiple aspectsofkernelanddevicedriverdevelopment. BasedonLinux2.6.31 Multipleexercises. Updatedsolutionsfor2.6.36.

12
FreeElectrons.Kernel,driversandembeddedLinuxdevelopment,consulting,trainingandsupport.http//freeelectrons.com

Usefulreading(3)
LinuxDeviceDrivers,3rdedition,Feb2005 ByJonathanCorbet,AlessandroRubini, GregKroahHartman,O'Reilly http://www.oreilly.com/catalog/linuxdrive3/ Freelyavailableonline! Greatcompaniontotheprintedbook foreasyelectronicsearches! http://lwn.net/Kernel/LDD3/(1PDFfileperchapter) http://freeelectrons.com/community/kernel/ldd3/(singlePDFfile) Gettingoutdated ButstillusefulforLinuxdevicedriverwriters!

13
FreeElectrons.Kernel,driversandembeddedLinuxdevelopment,consulting,trainingandsupport.http//freeelectrons.com

Usefulreading(4)
LinuxKernelDevelopment,3rdEdition,Jun2010 RobertLove,NovellPress http://freeelectrons.com/redir/lkd3book.html Averysyntheticandpleasantwaytolearnaboutkernel subsystems(beyondtheneedsofdevicedriverwriters)

14
FreeElectrons.Kernel,driversandembeddedLinuxdevelopment,consulting,trainingandsupport.http//freeelectrons.com

Usefulonlineresources
LinuxkernelmailinglistFAQ http://www.tux.org/lkml/ CompleteLinuxkernelFAQ Readthisbeforeaskingaquestiontothemailinglist KernelNewbies http://kernelnewbies.org/ Glossary,articles,presentations,HOWTOs, recommendedreading,usefultoolsforpeople gettingfamiliarwithLinuxkernelordriverdevelopment. Kernelglossary: http://kernelnewbies.org/KernelGlossary

15
FreeElectrons.Kernel,driversandembeddedLinuxdevelopment,consulting,trainingandsupport.http//freeelectrons.com

Internationalconferences
EmbeddedLinuxConference: http://embeddedlinuxconference.com/ OrganizedbytheCELinuxForum:California (SanFrancisco,April),inEurope(OctoberNovember). Veryinterestingkernelanduserspacetopicsforembedded systemsdevelopers.Presentationslidesfreelyavailable LinuxPlumbers http://linuxplumbersconf.org ConferenceonthelowlevelplumbingofLinux:kernel,audio, powermanagement,devicemanagement,multimedia,etc. linux.conf.au:http://linux.org.au/conf/(Australia/NewZealand) Featuresafewpresentationsbykeykernelhackers. Don'tmissourfreeconferencevideoson http://freeelectrons.com/community/videos/conferences/!
16
FreeElectrons.Kernel,driversandembeddedLinuxdevelopment,consulting,trainingandsupport.http//freeelectrons.com

ARMresources
ARMLinuxproject:http://www.arm.linux.org.uk/ Developerdocumentation: http://www.arm.linux.org.uk/developer/ armlinuxkernelmailinglist: http://lists.infradead.org/mailman/listinfo/linuxarmkernel FAQ:http://www.arm.linux.org.uk/armlinux/mlfaq.php Howtopostkernelfixes: http://www.arm.uk.linux.org/developer/patches/ Linaro:http://linaro.org ManyoptimizationsandresourcesforrecentARMCPUs (toolchains,kernels,debuggingutilities...). ARMLimited:http://www.linuxarm.com/ Wikiwithlinkstousefuldeveloperresources
17
FreeElectrons.Kernel,driversandembeddedLinuxdevelopment,consulting,trainingandsupport.http//freeelectrons.com

EmbeddedLinuxdriverdevelopment

Adviceandresources
Lastadvice

18
FreeElectrons.Kernel,driversandembeddedLinuxdevelopment,consulting,trainingandsupport.http//freeelectrons.com

UsetheSource,Luke!
ManyresourcesandtricksontheInternetfindyouwill,butsolutions toalltechnicalissuesonlyintheSourcelie.

ThankstoLucasArts

19
FreeElectrons.Kernel,driversandembeddedLinuxdevelopment,consulting,trainingandsupport.http//freeelectrons.com

Relateddocuments

Allourtechnicalpresentations onhttp://freeelectrons.com/docs Linuxkernel Devicedrivers Architecturespecifics EmbeddedLinuxsystemdevelopment


FreeElectrons.Kernel,driversandembeddedLinuxdevelopment,consulting,trainingandsupport.http//freeelectrons.com

Howtohelp
Youcanhelpustoimproveandmaintainthisdocument... Bysendingcorrections,suggestions,contributionsand translations Byaskingyourorganizationtoorderdevelopment,consulting andtrainingservicesperformedbytheauthorsofthese documents(seehttp://freeelectrons.com/). Bysharingthisdocumentwithyourfriends,colleagues andwiththelocalFreeSoftwarecommunity. Byaddinglinksonyourwebsitetoouronlinematerials, toincreasetheirvisibilityinsearchengineresults.

FreeElectrons.Kernel,driversandembeddedLinuxdevelopment,consulting,trainingandsupport.http//freeelectrons.com

Linuxkernel Linuxdevicedrivers Boardsupportcode Mainstreamingkernelcode Kerneldebugging EmbeddedLinuxTraining Allmaterialsreleasedwithafreelicense! UnixandGNU/Linuxbasics Linuxkernelanddriversdevelopment RealtimeLinux,uClinux Developmentandprofilingtools Lightweighttoolsforembeddedsystems Rootfilesystemcreation Audioandmultimedia Systemoptimization

FreeElectrons
Ourservices
CustomDevelopment Systemintegration EmbeddedLinuxdemosandprototypes Systemoptimization Applicationandinterfacedevelopment Consultingandtechnicalsupport Helpindecisionmaking Systemarchitecture Systemdesignandperformancereview Developmenttoolandapplicationsupport Investigatingissuesandfixingtoolbugs

S-ar putea să vă placă și