You are on page 1of 21

DriverUpdateProgram

JonMasters,TimBurke October,2007v1.5

Overview

ExperiencefromRHEL2.1,3,4 Programobjectives Features/Capabilities Customerbenefits Hardwarecertificationimplications Driverproviderbenefits Futurepossibilities Additionalinformation

ExperiencesfromRHEL2.1,3,4
PriortoRHEL5,therewasnoofficiallysanctioned,standardizedprocessfor adding3rdpartyLinuxKernelModulestoRedHatEnterpriseLinuxsystems. Lessfavorableexperiencescouldinclude:

Thekernelmodulebuildprocesseswerenotalwayswelldocumented. Therewasnostandardized,documented,packaginganddeliverystrategy:

Resultingineach3rdpartydriversupplierhavingadifferentprocess. Resultinginaninconsistentcustomerexperienceinstallingdrivers. Notnecessitatedbycorrespondingchangestothekernel.

Usershadtoreinstall3rdpartydriversonkernelmaintenanceerrata:

Objectives
Note:ThisprogramisanadditionalfeaturepresentinRHEL5.Itdoesnot precludetheuseofanyalternativekernelpackagingordeliveryprocess usedby3rdparties.Instead,itaddsanadditionaloptiontothoseavailable. ImprovetheendcustomerLinuxKernelModuleinstallationexperienceby providing3rdparties(IHV/OEM/etc.)withastandardizedpackagingprocess. Publishanofficial,definedsetofRHEL5kernelexternalstableinterfaces. Implementmechanismstoallow3rdpartykernelmodulestocontinuetofunction acrosskernelerrata(asynchronoussecurityerrataorRHEL5minorrelease).

Features/Capabilities

PublishedRHEL5kernelsymbolwhitelists(perarchandkernelvariant):

Publishedpublicly. Itemizeskernelroutines/globalvariablesendorsedforuseby3rdparties. CollaborativelydefinedviapartnerinputandRedHatengineeringreview. Examples:scsi,VM,VFS,networking,blockdevices,archspecific,etc... Persubsytemchecksumsignatureofroutinesandglobalvariables. Ensuresmatchingkernelmoduleswithcompatiblekernel,inRPM.

Functionalitysubsystemgroupings:

Whitelistconstructionrationale

RHEL5kerneliscomplex,baseduponcommunitydevelopedkernel

Containsover8000symbols,manynotintendedforusebyexternalmodules. Listsreviewedbyourkernelengineeringteam,somesymbolsremoved. tcp_hashinfoandtcp_parse_optionsfunctionsthatourNetworking MaintainersconsideredtobeinternalonlyduetoongoingworkintheTCP networkingsubsystem.Alternativehigherlevelmechanismsexist. InfinibandandmostXensymbolsrapidlyevolving. SATAmostlylowlevelinternalinterfacesusedbetween2halvesinRHEL.

Whitelistsinitiallyformedfromknownthirdpartyand~3000standardsymbols.

Examplesofremovedsymbols:

Features/Capabilities

Driverdevelopmenttools:

Composeddetailedwhitepaperwithexamples LeadeffortsamongIHVs,andotherLinuxdistributionstoyieldcommon developmentpractices,communityinterestandopendiscussion.

RPMcommandenhancementstoenablerepresentingkernelinterface dependenciesasregularLinuxpackagedependencies.

Enablespackaginganddeliveryofkernelmodulestobeconsistentwiththe paradigmusedintherestofthedistribution.Noneedtoreinventthewheel.

Kernelpackagingenhancedtoallowittodeclareprovidedsubsystem checksumstovalidatecompatibility.Easytodeterminecompatibility. DriverUpdateDisksnowuseDriverUpdateRPMs,inRHEL5.1.

Features/Capabilities

ModulesarebuiltasexternalRPMpackages.

OneRPMpertype(variant)ofRHELkernel(10typestotal). e.g.kmodipw3945fori686,i686xen,x86_64,etc. StandardRPMpackage(templateexampleavailable). Symbolinformationautomaticallyaddedtopackage. Onlybuildforarchitecturesyouusee.g.Don'tneedtobuildfors390xif you'renotshippingformainframesystems. Automaticallyensurescorrectarchitectureandkernelvariantmatches Automaticallyensurescompatibilityofrequiredinterfacesispreserved.

Buildprocesssimpleanddocumented

RPMdependenciestrackmodulecompatibility

Features/Capabilities

Customerbenefits

Simplifiescustomerinstallationexperience:

Utilizesconventionalpackageinstallationmechanisms. InstallisasingleRPMcommand:

rpmivhkmodipw39451.04.7.el5.i686.rpm

Providesaconsistentcustomerinstallationexperience:

vsprioradhocprocedures,varyingfromonedistributortothenext..

Allowskernelmoduleinstallationstonotbedisruptedbykernelerrata. Validatescorrectpairingofkernelmoduletokernelvariant. Allowsdesignationofprioritizationorderofmodules.

10

Hardwarecertificationimplications

ThefollowingaffectsonlyofficialRedHatcertificationandsupport.This programdoesnotalteranypreexistingRHELcertificationprocesses. RedHatmayitselfelecttousethisDriverUpdateProgramonalimitedbasisto shipnewRHEL5driversbetweenminorreleases:

Potentiallyforspecificdriverbugfixes. FornewhardwareenablementpriortothenextRHELminorrelease. DriversmustmeetusualRHELinclusioncriteria(upstream,reviewed,etc). ThesedriverswillbesubsumedinthenextminorreleaseofRHEL.

11

Hardwarecertificationimplications

InlimitedcircumstancesRedHatmayallowhardwarecertificationinvolving platformswhichrequireupdateddrivers.

Makingitpossibletosupportandcertifysomehardwareplatformsinbetween minorreleases.(Thedriverissubsumedinthenextminorrelease.) ThispracticewillonlybeutilizedinlimitedcaseswhereRedHatshipsthe updateddriverpackage.Weintendtoinitiallyprovethecapabilitywithasmall number(ie5)perminorrelease. Certificationwillnotbegrantedif3rdpartydriversarerequired.

12

13

PackageDelivery
HowareRPMpackagescontainingdrivermodulesdistributed?

RedHatmaydeliverourdriverupdatesviaRHELSupplementaryCDRHN channel. 3rdpartiesmustprovidetheirownDriverUpdatedeliverymechanism,suchas:

Theirownwebsite. Orothersupportdeliverymechanism. RedHatisnotcurrentlyplanningRHNchannelsfor3rdpartykernelmodules howeverweareinterestedinfeedbackondriverpackagedistribution. Inotherwords,theDriverUpdateProgramprovidesthemechanism neededtobuildandinstallLinuxKernelModules,butnotdelivery.

14

Nextsteps...

Itisimportanttotestyourownkernelmodulescanbepackaged:

VerifyallnecessarykernelsymbolsareontheRedHatwhitelists. UsetheonlineABIcheckerathttp://www.driverupdateprogram.com/

FileaRedHatEnterpriseLinux5Bugzillaentry,againstthedriver updateprogramwithfulloutputfromthescriptifitreportsmissing fulloutput symbols.Fulloutputincludeskernelversioninginformationtags.

Producetestpackages,followingthepublisheddocumentation(theofficial technicalwhitepaperandexamplesavailablefromtheprojectwebsite).

FurtherinformationisavailablefromyourRedHatPartnerManager:

Includingcontactsandupdatedinformationasitbecomesavailable. Refertothedriverupdateproject.comwebsitefordownloadablematerial.

15

Whatifyouneedasymbolnotonthewhitelists?

ThemajorityofsymbolsnotontheofficialRedHatwhitelistswerepurposely excludedastheyhavebeendeemedtoolowlevelorvolatiletochange. WhatifIneedoneofthesepurposelyexcludedsymbols?

Packaging/Installationwillfailduetomissingpackagedependencies. YouareunabletotakeadvantageoftheDriverUpdateProgram.Youcan continueusingyourpriorkernelmoduleadditionapproach,attheriskof symbolsnotonthewhitelistchanging,necessitatingrebuilds.

Somesymbolsareabsentfromthewhitelistsaswewereunawareoftheirusage. ItisoccasionallypossibletoaddthesesymbolsinaRHEL5minorrelease:

Thisisaccomplishedbycreatingspecialnewsubsystemgroupings. ProposeadditionsviaaFeatureRequestintheRedHatBugzilla.

16

KernelTainting

Itiscommonwhenreferringto3rdpartykernelmodulestousetheterm taintindescribingtheeffectontheLinuxkernel,howeverthetermcan havedifferentmeanings,dependinguponthecontextinwhichitisused.

TheLinuxkernelcommunitydescribesakernelastaintedifitusesnonGPL kernelmodulesorthoseforwhichsourcecodeisnotgenerallyavailable.Thisis theflagthatissetinsystemlogfileswheneversuchmodulesareused. RedHatsupportmayalsodescribeakernelastaintedifituseskernelmodules notsuppliedaspartoftheRHEL5installation.Thismeans3rdpartymodules.Red HatsuppliedDriverUpdateProgrammoduleswillnottainttheuser'ssystemand willbefullysupportedbytheRedHatsupportorganizationwheneverrequired. Systemsusing3rdpartymodulesmaybesupportedbyRedHat,dependingupon theexistenceofCooperativeSupportAgreements(CSAs),etc.Refertothe previoussupport/certificationdiscussion.

17

Futurepossibilities
Note:theseenhancementstotheDriverUpdateProgramareunderconsideration. Thisslidedoesnotconstitutecommitment.

ShortTerm(ie,inRHEL5minorrelease)

Additionofasmallnumberofnewsymbolstothekernelsymbolwhitelists. Additionsorclarificationstodeveloper'swhitepaper(basedonfeedback). Increasedtoolautomation:


Toolstovalidatewhitelistcompliance ToolstosubmitwhitelistdependencyinformationtoRedHat Externallyaccessiblewhitelistdatabase

18

Futurepossibilities
Note:theseenhancementstotheDriverUpdateProgramareunderconsideration. Thisslidedoesnotconstitutecommitment.

Longerterm(notRHEL5):

Automateddetectionofhardwareanddeterminationofcorrectdriver. Locateandautomaticallydownloadthirdpartydrivers. Automaticallyupgradedriversasrequired. AlldriventhroughentirelyGUIinterface. Trackthirdpartysymboluseentirelyautomatically,reportdatatoRedHat usingautomatedsystemsandallowwhiteliststobeautomaticallyupdated.

19

References/AdditionalInformation

TheprojectwebsitefortheRHELDriverUpdateProgram: http://www.driverupdateprogram.com/ Theprojectwebsiteforvariouscommunityefforts:


http://www.kerneldrivers.org/

Filetechnicalbugsusingourbugtrackingsystem

http://bugzilla.redhat.com/. Usethedriverupdateprogramcomponent.

20

ProgramFeedback

Technicalfeedbackcanbesenttoanappropriateengineeringcontact.

JonMasters<jcm@redhat.com>isleadingtheengineeringeffortonthe DriverUpdateProgram.Hecananswertechnicalquestionsrelatingtothe whitepaperandtotheimplementationoftheDriverUpdateProgram. YourpreexistingRedHatPartnerManagercansupplyotherdetails.

Additionalcontacts

21

You might also like