Documente Academic
Documente Profesional
Documente Cultură
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
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