; TeX output 2003.04.04:1528_2 ~?ՁZݺIqqecss2074DefLinuxKernelHOwmWTO cG 1 ecrm1000BrianU W*ard,qL ectt1000bri@cs.uchicago.edu,V*ertaaldU doGor:qEllenBokhorst,bokkie@nl.linux.orgOv2.6,18mei2001&6 ecss1000DitiseengedetailleerdegidsvoGorhetcongureren,Bcompilerenenupgradenvandekernel,BenhetoplossenvanproblemenU voGoropix86gebaseerdesystemen.(&Lt$ffffecbx1440Inhoudsopgacve]f ecbx10001In>troQductie}83ؼ1.1)RLeesU diteerst!q(Ikmeenhet).荍...................................w31.2%EenU woGordoverstijl6+.荍........................................w42SnellestappQen-Kernelcompilatie42.1%OplossenU vqanveelvoGorkomendeU foutenS.荍..............................w82.2%V*oGorbeeldU lilo.conf K.荍.........................................w83Belangrijk>evragenendeantwoQordendaarop93.1%W*atU doGetdekernel,eigenlijk?#.荍...................................w93.2%W*aaromU zouikmijnkernelwillenupgraden?ۍ.荍..........................w93.3%W*elkeU soGorthardwareondersteunendenieuwerekernels?߯.荍....................w93.4%W*elkeU versievqangccenlibGchebiknodig?.荍............................w93.5%W*atU iseenlaadbaremoGdule?b;.荍...................................w93.6%HoGeveelU diskruimtehebiknoGdig?Ɠ.荍.................................x?103.7%HoGeveelU tijdneemthetinbGeslag?.荍.................................x?104HoQedek>ernelfeitelijktecongureren104.1%V*erkrijgenU vqandesource(Í.荍......................................x?104.2%HetU uitpakkenvqandesource.荍....................................x?104.3%CongurerenU vqandekernelk.荍....................................x?11%4.3.1EKernelU mathemulatie(ProGcessortypGeandfacilities)񍍑.荍..................x?11%4.3.2EEnhancedU (MFM/RLL)diskenIDEdisk/cdromsuppGort(BlockDevices)1.荍......x?11%4.3.3ENetwerkondersteuningU (GeneralSetup).荍..........................x?12%4.3.4ESystemU VIPC(GeneralSetup)Y+.荍..............................x?12%4.3.5EProGcessorU familie(Processortypeenfaciliteiten)).荍....................x?12%4.3.6ESCSI-suppGortD.荍........................................x?12%4.3.7ENetworkU devicesuppGort鹍.荍..................................x?12%4.3.8EFilesystems'͍.荍.........................................x?12*_2 ~?GINHOUDSOPGAVEh2ՁV%4.3.9ECharacterU devices0.荍......................................x?13ؼ%4.3.10ESound.荍............................................x?13%4.3.11EAndereU conguratie-opties.荍.................................x?14%4.3.12EKernelU hackingou.荍.......................................x?144.4%W*atU nu?q(DeMakele).荍.......................................x?145Compilerenv\|andek>ernel:u145.1%OpschonenU enafhankelijkheden.荍..................................x?145.2%Compileertijd_㍍.荍............................................x?145.3%AndereU make*h'sS.荍..........................................x?155.4%InstallerenU vqandekernelv.荍......................................x?156P>atchenv\|andek>ernelK166.1%T*oGepassenU vqaneenpatchZ.荍......................................x?166.2%AlsU erietsfoutgaatˍ.荍........................................x?166.3%DeU .origbGestandenzienkwijtterakenk.荍..............................x?176.4%AndereU patches .荍...........................................x?177Aan>vullendepack\|agesM187.1%kbGd.荍.................................................x?187.2%util-linux׍.荍..............................................x?187.3%hdparm㍍.荍...............................................x?187.4%gpmW?.荍.................................................x?188Eenaan>talv\|alkuilenU,188.1%makeU clean.荍.............................................x?188.2%ZeerU groteoflangzamekernelsÍ.荍..................................x?188.3%DeU parallellepGoortU werktniet/mijnprinterwerktniettc.荍.....................x?198.4%KernelU compileertniet/w.荍.......................................x?198.5%DeU nieuwekernelversielijktniettebGootenS.荍............................x?198.6)RJeU vergatLILOtedraaien,ofjesysteembGootU helemaalniet㍍.荍.................x?198.7%HetU geeftdemelding`warning:qbGdushnotrunning'Bg.荍......................x?208.8%IkU krijgmijnIDE/A*TAPIU CD-ROMdrivenietaandepraat5o.荍..................x?218.9%HetU geeftraremeldingenoverU `obsoleteroutingrequests'JC.荍....................x?218.10%FirewallU werktnietin1.2.0ӳ.荍....................................x?218.11%NotU acompressedkernelImagelew.荍...............................x?218.12%ProblemenU metconsoleterminalnahetupgradentot1.3.x/.荍...................x?218.13%HetU lijkteropdatikdingennadekernel-upgradenietkqancompileren6ߍ.荍............x?218.14%V*erhogenU vqanlimieten}.荍.......................................x?22%C_2 ~?G1.8In>troQductieY̹3ՁV9Opmerkingv>oQorupgradenaarversie2.0.x,2.2.xNF2210MoQdules22ؼ10.1%InstallerenU vqandemoGdule-utility's󍍑.荍................................x?2210.2%MetU dekernelgedistribueerdemoGdules.荍..............................x?2311Tipsentrucsxd2311.1%DoGorsturenU vqanuitvoervqandemakeofpatchcommando's 5.荍..................x?2311.2%V*oGorwaardelijkeU kernel-installatieF.荍.................................x?2411.3%KernelU upGdatesnS.荍...........................................x?2412Andererelev\|an>teHOWTO'sdienuttigkunnenzijnb2413Div>ersenN72513.1%Auteur&.荍................................................x?2513.2%T*eU doGenɟ.荍...............................................x?2513.3%Contributies.荍.............................................x?2513.4%Copyright-melding,U LicentieenaldatsoGortzaken.荍........................x?2614Andereformatenv\|anditdoQcumen>t 26(1Inctropductie:ZouU jeditdoGcumentmoetenlezen?qW*elalsjenvqandevolgendesymptomenherkent:ؼ !", cmsy10Ai!5Ditwizzo-46.5.6packqagezegtdathetkernelrelease2.8.193noGdigheeftenikhebnogsteedsslechts releaseU 1.0.9!ErU iseendevicedriverinnvqandenieuwerekernelsdiejegewoGonmoethebbenJeU hebtwerkelijkU geenideehoGejeeenkernelcompileertIsU datgenewaterindeREADMEstaat,HЃ ecti1000e}/chtGhetheleverhaal?JeU kwam,jeprobGeerdehet,hetwerktenietJeYVhebtietsnoGdigomaanmensentegevendieeropblijvenhamerendatjehunkernelsvoGorzeinstalleert#Í!N ecbx12001.1#=Leesditeerst!(Ikmeenhet)MBijWeenaantalvqandevoGorbeeldenWinditdoGcumentwordtervqanuitgegaandatjeGNUWtar,Xefind,enWxargshebt.GDitSzijnstandaards;ditzougeenproblemenmogenveroGorzaken.ErSwordtoGokvqanuitgegaandatjebGekenddbentdmetdestructuurvqanhetbGestandssysteemopjesysteem;alsditnietzois,ishetvangroGotbelangdatvjeeengeschrevenvkopievqandeuitvoGervqanhetcommandomounttijdensdenormalesysteembGewerkingbij9dehandhoudt(ofeenlistingvqan/etc/fstab,alsjehetkuntlezen).XDezeinformatieisbGelangrijk,enwijzigt8niet,>Wtenzijjejediskopnieuwpartitioneert,eennieuwe8disktoGevoegt,je8systeemopnieuwinstalleertofU ietsdergelijks.Y_2 ~?G2.8SnellestappQen-Kernelcompilatie4ՁVDe0laatsteproGductiexkernelversie0opmomentvqanditschrijvenwas2.2.9,%watbGetekentdatdeverwijzingen enlovoGorbeeldencorresponderenmetdierelease.mZelfsalprobeerikditdocumentzoversie-onafhankelijkmogelijkRtemaken,dekernelisvoGortdurendonderontwikkeling,dusalsjeeennieuwerereleasekrijgt,zullenermonontkoGombaarwatverschillenzijn.hNogmaals,ditzougeenbGelangrijkeproblemenmoGetengeven,maarhetU kqanwatverwarringgeven.ؼEr?Yzijntwee?Yversiesvqandelinuxkernelsource,yproGductieendevelopment.rProGductiereleaseszijndeeven-minor-genummerde breleases;$1.2.xwasproGductie,2.0.xisproductie,alsook2.2.x.YADezekernelswordenaangemerktalsdemeeststabielekernels,yfoutvrijeversiesdietentijdevqandereleasebGeschikbaarzijn.#DedevelopmentVkernels(2.1.x,(2.3.x,enz)zijnbGedoeldalskernelsomtetesten,(voGormensendiebereidzijnomzeU uittetestenenhetkunnenkernelszijndieveelfoutenbGevqatten.qJebentgewaarschuwd.#Í1.2Eenwo_ordoverstijlMTekst?dieerzouitzietxisietsdatophetschermverschijnt,&NeenbGestandsnaam,ofietsdatdirectkqanworden}ingetikt,zoalseencommando,ofoptiesvoGoreencommando(alsjeeenplain-tekstbestandbekijkt,ziet`Aheternietveelandersuit).Commando'senandereinvoGerwordenvqaaktussenaanhalingstekensgeplaatst(metS`'),wathetvolgendeklassiekeleesteken-probleemveroGorzaakt:alseendergelijkitemaanheteindevqaneenzintussenaanhalingstekensverschijnt,KBtypGenmensenvqaakeen`.' &methetcommando,KBomdatdeAmerikqaanseaanhalingsstijlaangeeftdatdepuntbinnendeaanhalingstekenshoGort.eZelfsmetgezondverstand(enhelaaswordthierveronderstelddatdegenemetgezondverstandugewendisaandezogenoGemdeAmerikqaanse4stijlvanaanhalen),HzouiemandmoGetenzeggenheteerstvanhetleestekenteontdoGen,HtochdenkenveelmensendaargewoGonnietaan,dusikzalhetindergelijkegevqallenbuitendeaanhalingstekensplaatsen.>MetD anderewoGorden,alserwordtaangegevendatjeHmake?confighzoumoGetentypGen,zalik`make?config'U schrijvenenniet`make?config.'(2SnelleG\stapppen-Kernelcompilatie:DezeU sectieisgeschrevenU doGorAlDev(alavo}/or@yahoo.com)Dezlaatsteversievqandezesectieistevindenop"enklikop"QuickStepstorecompileolinuxkernel".mMirrorsiteszijntevindenop-t޼,angelr}/e,:ge}/ocities ,virtualave#ּ,W50me}/gs,the}/globe#ּ,jNBCi[,T;err}/ashare,[F;ortune}/cityYּ,Fr}/eewebsites,T;rip}/od,Spree,Esc}/alix,Httpc-ityU ,F;r}/eeserversU .DezeU sitesbiedenheelv>eellinuxfraaisU entips.EenU kopievqandebGovenstaandewebsiteishiergereproGduceerd-HetnopnieuwcompilerenvqandekernelisnoGdigomdekernelzokleinmogelijktemaken,ujwatzalresultereninteenSNELLERIbGesturingssysteem.d}Hetmoetookgebeurenalsjeondersteuningwiltvoorenigenieuwedevices.ANoQot: HieronderE'duidt'bash#'opdebash-prompt,)jetyptdeopGdrachtendienade'bash#'promptstaan.R)DehieronderstaandeopGdrachtenzijnonderRedHatLinuxgetest, maarzezoudentevensmetminimaleU wijzigingenonderanderedistributiesmoGetenwerken.ؼ 9b1.NoGot:.Er4kunnenmeerderekernelimagesopjesysteemvoGorkomen.DDoor4dehieronderstaandestappGenopTftevolgen,ToverschrijfTfjeofbGeschadigjegeenbestaandekernel.qBDezestappenzijnzeerBv>eiligenjeqߠ_2 ~?G2.8SnellestappQen-Kernelcompilatie5ՁVhuidigeU kernelblijftintactenzalnietwordenaangeroGerd.D 9b2.Log36bijaldezestappGeninals'root'.f2MountdeRedhatlinuxcdromeninstalleerdelinuxkernelsource rpm=ffG2捑bash$?su-rootbash#?cd/mnt/cdrom/RedHat/RPMSbash#?rpm-ikernel-headers*.rpmbash#?rpm-ikernel-source*.rpmbash#?rpm-idev86*.rpmbash#?rpm-ibin86*.rpm +ffGO(Debin86*.rpmen'as86'isalleennoGdigvoorOUDERE$Lin>uxsystemenzoalsredhat5.x.Neem/deIntelassembler'as86'opGdrachtuitdev86*.rpmopdecdromofvqanaf_ٹ, U ). 9b3.StartU X-windowopmet'startx'.=ffG]bash#?manstartxbash#?startxbash#?cd/usr/src/linuxbash#?makexconfig +ffGuDeU "mak>excong"ckomtimeteengebruikersvriendelijkeiGUIiinterface!ZMaakGEENigebruikvqan'makecong'wantditis&eenopGdrachtregel&optie(gebruikditALLEEN&alsjeX-windownietkuntuitvoGeren).EenbeteralternatiefopdeopGdracht'makecong'is'mak>ermenucong'waarmeejeeengebruikersvriendelijkeopAtekstgebaseerdencursesinterfacekrijgt.EenaantalmensengevendevoGorkeuraan'makemenu-cong'|bGoven'makexcong'.)MijnpGersoonlijkevoGorkeur-wanneerikX-windownietuitkqanvoGeren,gebruik ik'makemenucong'._JekunthetconguratiebGestandladenvqan/usr/sr}/c/linux/.congy(puntcongU le.qLetopdepuntvoGorcong). 9b4.BinnenU 'makexcong'moGetjehetvolgendedoGenomproblementevoGorkomen-%/SelecteerhetjuisteCPUtypGe-Pentium3,&AMDK6,Cyrix,Pentium4,Intel386,DECAlpha,/PowerPCU anderszaldekernelnietbGooten!!D%/KiesU voGorSMP-ofeenenkeleCPUofmeerdereCPU's%/Filesystemsq-SelecteerWindows95Vfat,MSDOS,NTFSaalsonderdeelvqandekernelennietals /laadbareU moGdules.%/ActiveercKdeondersteuningvoGorlaadbarekernelmoGdules!Metdezeoptiekunjedevicedriversop/eenVdraaiendlinuxsysteemdynamischladenenuithetgeheugenverwijderen."Ziedevolgende/manpages=ffG <׍/bash#?manlsmod/bash#?maninsmod/bash#?manrmmod/bash#?mandepmod/bash#?manmodprobe UffG獍 9b5.Save2enExit"makexcong".%AlleoptiesdiejehebtgeselecteerdzullennuwordenopgeslageninhetconguratiebGestandU /usr/sr}/c/linux/.cong7(puntcongle).qEnvoGernuuit:QmffG_2 ~?G2.8SnellestappQen-Kernelcompilatie6ՁVbash#?makedep bash#?makeclean ffffG 9b6.LeeshetvolgendebGestand(omkennisoptedoGenoverhetbGouwenvqaneenkernel.{tTip:"gebruikdekleureneditorgvimvoGoreenbeterelees-baarheid.ffffGXbash#?gvim-R/usr/src/linux/arch/i386/config.inbash#?manlessbash#?less/usr/src/linux/arch/i386/config.inTyp?'h'voorhulpendrukvoorhetnavigerenopi,j,k,l,hofde?pijltjestoets,pageup/downtoetsen. &ffG 9b7.GeefU nudeopGdrachtmake:XffGBbbash#?cd/usr/src/linuxBbbash#?mannohupBbbash#?nohupmakebzImage&Bbbash#?tail-fnohup.out>\(....tomonitortheprogress)Hiermee?zaldekernelwordenneergezetin/usr/src/linux/arch/i386/boot/bzImageBbbash#?mantail ffffG 9b8.Na#eensuccesvollebzImage,WFkopieerjedekernelimagenaarde/bGoot#directory*. JemoGetdenieuwekernelimagenaarde/bGootdirectorykopiren,(anderszaldenieuwekernelNIETǹbGooten.^EnleesdandeGmanualpageoverlilo(zieoGok)tenziehetvoGorbeeldbestandt2.2(lilo.conf).&GeefaltijdeendatumextensieaandebGestandsnaam,omdatU hetjeverteltwanneerjedekernelbGouwde.qDitwordthieronderaangegeven:XffGbash#?cp/usr/src/linux/arch/i386/boot/bzImage>\/boot/bzImage.myker.26mar2001bash#?manlilobash#?manlilo.confWijzig?hetbestand/etc/lilo.confenplaatsdaardevolgenderegelsin:Bbimage=/boot/bzImage.myker.26mar2001Bblabel=mykerBbroot=/dev/hda1Bbread-onlyJe?kuntdedevicenaamvoro'root='controlerenmetdeopdracht:Bbbash#?df/ ffffG 9b9.StartU nuffffG?bash#?lilo?bash#?lilo-qffG JeOmoGetliloiederekeerdatjeeennieuwebzImageaanmaakt,opnieuwopstarten,zelfsalszouhetrecordU 'myker'reedsbGestaan. _2 ~?G2.8SnellestappQen-Kernelcompilatie7ՁV910.StartdemachineopnieuwopenachterlilodrukjedetabtoGetsinentypt'myker'..AlshetbGootdanheb jejgoGedwerkverricht! Selecteerandersachterdelilojeoudekernel,ppbGootjenbGeginhelemaalopnieuw.JeU oudekernelisnogsteedsINT A>CTenVEILIGgesteldU instel/b}/oot/vmlinuz-2.0.34-0.6F911.Laadbare!moGdules:@ZoeknaardeinsmodopdrachtdiezeerfrequentwordtgebruiktvoGorhetladenvqandeU moGdules.ffG ?bash#?maninsmod?bash#?insmod?bash#?rpm-i/mnt/cdrom/Redhat/RPMS/modutils*.rpm dffGKDe'staphieronderiswellicht'nietnoGdig,\maarslechts'nodigvoorNOODGEVALLEN'Owanneerje/lib/moGdules{bestandenzijnbeschadigd.W*anneerjereedseen/lib/modulesdirectoryhebteninhetgevqal\*jedebGestandenwiltvervangen,]gebruikdandeforceomhetpackagetevervangenenselecteerdeU vqantoGepassingzijndecpuarchitectuur.ziV*oGornieuweversiesvqanlinuxredhatlinux6.0enlatereversieszijndekernelmoGdulesopgenomeninkernel-2.2*.rpm.qInstalleerU delaadbaremoGdulesendekernelmetffGHiermee?krijgjeeenreedsgenstalleerdpackagetezien.?bash#?rpm-qa|grep-ikernel?bash#?rpm-U--force X/mnt/cdrom/Redhat/RPMS/kernel-2.2.14-5.0.i686.rpm?(or)?bash#?rpm-U--force X/mnt/cdrom/Redhat/RPMS/kernel-2.2.14-5.0.i586.rpm?(or)?bash#?rpm-U--force X/mnt/cdrom/Redhat/RPMS/kernel-2.2.14-5.0.i386.rpm dffGHDitXgeldtalleenvoGoroudeversiesvqanredhatlinux5.2eneerdereversies.)BoGotdenieuwekerneleninstalleerU delaadbaremoGdulesvqanafdeRedHatLinux"contrib"cdromffGUbash#?rpm-i/mnt/cdrom/contrib/kernel-modules*.rpm....(Voor?oudelinuxsystemenwaaropinsmodnietisvoorgenstalleerd)ffGK912.DezestapisALLEENnoGdigalsjeeennieuweversievqandekernelsourcehebtgedownload.^LaadbaremoGdulesU zijntevindenin/lib/modules.~ffGUbash#?cd/usr/src/linuxbash#?makemodulesbash#?makemodules_install WffGH913.AlsL>jenieuweL>kernel'myker'bGootencorrectfunctioneert,Ndankunjedebootdiskaanmaken.nDoeeenlegeU disketteinhetdiskettestationen:ffGbash#?cd/usr/src/linuxbash#?makebzdiskZie?tevensmkbootdisk-bash#?rpm-imkbootdisk*.rpmbash#?manmkbootdisk dffG_2 ~?G2.8SnellestappQen-Kernelcompilatie8ՁV2.1Oplossenv@ anveelvo_orkomendefoutenMDeU volgendefoutenwordenzeerfrequentdoGornieuwegebruikersgemaakt:ؼAlsU jenieuweU kernelnietbGootenjekrijgt:*ffG?Warning:unabletoopenaninitialconsole ?Kernelpanic:noinitfound.Trypassinginit=optiontokernel .offG}Hetgprobleemishierdatjede"roGot="parameterNIETgjuistopgafin/etc/lilo.conf.1Inmijngevqalmaakteik[gebruikvqanroGot=/dev/hda1metdaaropderootpartitie/".JJemoetnaarhetjuisterootdeviceverwijzeninU lilo.conf.qDitkqanbvietsals/dev/hdb2of/dev/hda7zijn.DexkernelzoGektnaardeinitopdrachtxwelkeistevindenin/sbin/init.lEndedirectory/sbinkomtvoGoropdeU roGotpartitie.qZievoordetails:*ffG?bash#maninit ffG\2.2Vo_orbeeldlilo.confMHieronder7wordteenvoGorbeeldbestand7vqan/etc/lilo.confgegeven.:V*olgdenaamconventieszoalsker2217(voGorukernel2.2.17),ker2214(voGorkernel2.2.14).ӥErkunnenmeerderekernelimagesophetzelfde/bGootsysteemU voGorkomen.qOpmijnmachinehebikietsals:ffGI?boot=/dev/hda?map=/boot/map?install=/boot/boot.b?prompt?timeout=50?default=firewall?image=/boot/vmlinuz-2.2.14-5.0)`label=ker2214)`read-only)`root=/dev/hda9?image=/boot/vmlinuz-2.2.17-14)`label=ker2217)`read-only)`root=/dev/hda9?#image=/usr/src/linux/arch/i386/boot/bzImage?#~label=myker?#~root=/dev/hda7?#~read-only?image=/boot/bzImage.myker.11feb2001)`label=myker11feb)`root=/dev/hda9)`read-only _2 ~?G3.8Belangrijk>evragenendeantwoQordendaarop9ՁV ?image=/boot/bzImage.myker.01jan2001)`label=myker01jan)`root=/dev/hda9)`read-only?image=/boot/bzImage.myker-firewall.16mar2001)`label=firewall)`root=/dev/hda9)`read-onlyTӉffGU3BelangrijkceG\vragenendeantwopordendaarop荍3.1Watdo_etdekernel,eigenlijk?MDelUnixkernelgedraagtzichalseenbGemiddelaarvoGorjeprogramma'senjehardware.AlseerstedoGethet(ofgsregelthet)voGoralledraaiendeprogramma'shetgeheugenbGeheer(processen),lenzorgthetervoordatzealleneeneerlijk(ofoneerlijk,alsjedatwenst)deelvqandeproGcessorcyclikrijgen.fBovendienvoGorziethetinU eentamelijkfraaieoverdraagbareU interfacevoGorprogramma'sommetjehardwaretecommuniceren.ؼDeU werkingvqandekernelbGeslaatbeslistmeerdandat,maarditzijndebelangrijkstebasisfuncties."•3.2Waaromzouikmijnkernelwillenupgraden?Nieuwere{^kernelsbiedenoverhetalgemeendemogelijkheidomtekunnencommunicerenmetmeersoGortenhardwareK(datwilzeggendatzemeerdevicedrivershebbGen),/hetkqanzijndatzeeenbeterprocesbeheerhebbGen,ڱzekunnensnellerdraaiendandeoudereversie,zezoudenstabielerkunnenzijndandeoudereversies,enzeherstellendommefoutenindeoudereversies.62DemeestemensenupgradenkernelsomdatzedeU devicedriversendebugxeswillen."•3.3Welkeso_orthardwareondersteunendenieuwerekernels?ZiedeHardware-HOWTO.AlsalternatiefkunjehetbGestand`config.in'indelinuxsourcebekijken,oferqgewoGonachterkomenalsje`make?config'uitprobGeert.AHierdoorqwordtalledoGordestandaardkerneldis-tributieǍondersteundehardwaregetoGond,)maarnietallesdatdoorlinuxwordtondersteund;veelalgemenedevicedrivers4(zoalsdePCMCIA4driverseneenaantaltapGedrivers)bGestaanuitlaadbaremodulesdieapartwordenU bGeheerdengedistribueerd."•3.4Welkeversiev@ angccenlib_chebiknodig?LinusUbGeveeltinhetbGestandREADME,datbijdelinuxsourceisinbGegrepen,eengcc-versieaan.e AlsjedezeversieIniethebt,KzoudedoGcumentatievqandeaanbGevolenversievqangccaanmoGetengevenofjejelibGcmoetupgraden.qDitU isgeenmoGeilijkeprocedure,maarhetisbelangrijkdeinstructiesoptevolgen."•3.5Watiseenlaadbaremo_dule?DitczijndelenvqandekernelcoGdedienietdirectindekernelzijngelinkt(ingevoGegd).SJZewordenapartgecompileerd,enjekuntzeopbijnaiedermomentindedraaiendekernelinvoGegenenverwijderen.VV*anwege {_2 ~?G4.8HoQedek>ernelfeitelijktecongureren10ՁVde5exibiliteitervqan,;isditnudeteverkiezenmanierombGepaaldekernelfaciliteitentecoGderen.fV*eelvqande pGopulaireU devicedrivers,zoalsdePCMCIAdriversendeQIC-80/40tapGedriver,zijnlaadbaremoGdules.#Í3.6Ho_eveeldiskruimtehebikno_dig?MDatXisafhankelijkvqanjeafzonderlijkesysteemconguratie.)T*eneersteisdegecomprimeerdelinux-sourcevqanversie2.2.9bijna14megabytesgroGot.ZV*eelsiteshoudenditzelfsnahetuitpakken.ZOngecomprimeerdenU gebGouwdmeteengemiddeldeconguratie,neemthetnogeens67MBinbGeslag.3.7Ho_eveeltijdneemthetinb_eslag?MMetƕnieuwerecomputers,neemtdecompilatieaanmerkelijkmindertijdinbGeslagdanmetouderecomputers;een3AMD&K6-2/300meteensnelleharddiskkqaneen2.2.xkernelinongeveervierminutencompileren. Alsje~vqanplanbGentomtegaancompileren,weesdanbijoudePentiums,486'rs,en~386'rsvoGorbereid~datjezultmoGetenU wachten,mogelijkweluren,dagen..ؼAlsjejedaarzorgenovermaakt,enjehebteensnellerecomputerindebuurtomoptecompileren,kunjeYopdesnellecomputersbGouwenY(ervqanuitgaandedatjehetdejuisteparametersmeegeeft,Zdatjeulilitiesup-to-dateU zijn,enzovoGort),U envervolgensU dekernel-imagenaardelangzamerecomputertransporteren.(4HopeG\dekcernelfeitelijktecongureren荍4.1Verkrijgenv@ andesourceJekuntdesourceviaanoniemeftpverkrijgenvqanafftp.kernel.orgin/pub/linux/kernel/vx.y,waarx.yvoGorq=deversiestaat(bv2.2),enzoalseerdergenoGemd,diemeteenonevennummereindigen,zijndevelopmentreleasesnenkunnenonstabielzijn.ZezijnvqaakgelabGeldalslinux-x.y.z.tar.gz,uwaarbijx.y.zOvoGorhetversienummer"staat.TOpdesitesstaanvqaakoGokbestandenmethettoevoegsel.bz2,bdezezijnmetbzip2gecomprimeerdU (zezullenkleinerzijnennemenbijhettranspGorterenmindertijdinbeslag).ؼJe"kunthetbGesteftp.xx.kernel.orggebruiken,bwaarxxjelandcoGdevoGorstelt;fvoorbeelden"zijnftp.at.kernel.orgU voGorAustrali,enftp.us.kernel.orgvoGordeUnitedStates.#Í4.2Hetuitpakkenv@ andesourceLoginals,ofsunaar,`root',encdnaar/usr/src.]AlsjedekernelsourceinstalleerdetoGenjelinuxvoGorhet teerstinstalleerde(zoalsdemeestedoGen),zalerreedseendirectorymetdenaam`linux'voorkomen,diedegeheleoudesourcetreebGevqat.AlsjedediskruimtehebtenhetveiligwiltspGelen,(bewaardiedirectorydan.%HetiseengoGedideeomerachtertekomenwelkeversienuopjesysteemdraaitendedirectoryovereenkomstigDQtehernoGemen.?Hetcommando`uname?-r'druktdehuidigekernelversieaf.?Daaromzouje#(met`mv')`linux'in`linux-1.0.9'kunnenhernoGemen,$als`uname?-r`1.0.9'aangeeft.Alsjejedaarniet>nzoombGekommert,Bverwijder>ndangewoondevolledigedirectory*.iZorgeriniedergevqalvoGordatergeen`linux'U directoryin/usr/srcvoGorkomt,U voordatU jedevolledigesourcecodeuitpakt.ؼPakBnuin/usr/srcdesourceuitmet`tar?zxpvflinux-x.y.z.tar.gz'(alsjeslechtseen.tarbGestandzonders.gzaanheteindehebt,werkt`tar?xpvflinux-x.y.z.tar').xDesinhoudvqandesourcezalvoGorbijvliegen.4Als\'tklaaris,+danzalereennieuwe\`linux'directoryin/usr/srcvoGorkomen.cd\naarlinuxenlees~yhetbGestandREADME~ndoor.Erzaleensectieinstaanmethetlabel`INSTALLING?thekernel'.V*oer~ydevqan1toGepassingzijndeinstructiesuit,asymbolische1linksdieophunplaatszoudenmoetenstaan,averwijderingvqanU oude.obGestanden,enz. _2 ~?G4.8HoQedek>ernelfeitelijktecongureren11ՁVAlsjeeen.bz2bGestandenhetbzip2programmahebt(leeseroverophttp://www.muraroa.demon.co.uk/), doGeU danhetvolgende:ԍ>\bz2cat?linux-x.y.z.tar.bz2|tarxvf-"lȍ4.3Congurerenv@ andekernelMOpmerking:Eendeelhiervqaniseenherhaling/ophelderingvaneenvergelijkbaresectieinhetREADMEbGestandvqanU Linux.ؼHet#2commando`make?config'alsjejein/usr/src/linuxbGevindt,Vstarteenconguratiescript,welke#2jeveleU vragenstelt.qHetvereistbash,dusverieerdatbashzichin/bin/bash,/bin/sh,of$BASHbGevindt.ErzijnechterwatplezierigeralternatievenvoGor`make?config'enhetkqanheelgoedzijndatjezemakkelijkerenIcomfortabGelerinhetgebruikvindt.m`make?menuconfig'iswaarschijnlijkIdemeestgebruikte.W*atjeoGokkiest,ghet9ishetbGestealsjebekendraaktmetdeinterface,gomdathetheelgoGedmogelijkisdatjeeerderterugzult keren, danjezultdenken.SV*oGordegenedieXdraaien,#kunje`make?xconfig'proberen, alsjeTkhebtgenstalleerdr:`make?menuconfig'isvoGordegenedie(n)curseshebbenendevoorkeurr:zoudengevenaaneenoptekstgebaseerdmenu.:DezeinterfaceshebbGeneennogalduidelijkvoGordeel:kAlsjehetverprutstentijdensdeU conguratieeenverkeerdeU keuzemaakt,ishetheeleenvoudigomterugtegaanenhettecorrigeren.DeU conguratie-optieszullenmet`make?menuconfig'enmakexconfig'inhierarchinverschijnen.JecbGenterklaarvoGoromdevragentegaanbeantwoorden,-gewoonlijkcmet`y'(yes)of`n'(no).DevicedriversFhebbGentypischeen`m'optie.FoDitbGetekentmoGdule,Xvwatinhoudtdathetsysteemzenietdirectindekernelzalcompileren,L(maaralseenlaadbaremoGdule.`EenkomischermanieromhettebGeschrijvenisIalsmisschien."iEenaantalvqandevanzelfsprekendeenniet-kritiekeoptiesishiernietbGeschreven;ziedesectieAndereconguratie-optiesavoGorbeknoptebeschrijvingenvqaneenpaarandereopties.uMet`makemenuconfig',U verwisseljemetdespatiebalkvqanselectie.In32.0.xenlater,#isereen``?'\optie,dievoGorzietineenkortebGeschrijvingvqandeconguratieparameter.\Dieinformatiefgiswaarschijnlijkfghetmeestup-to-date.THieriseenopsommingvqaneenaantalvandebGelangrijkefaciliteiten,U inwelkeU hierarchiezestaan,enmeteenkortebGeschrijving. %4.3.1#!\Kernelmathem>ulatie(ProQcessortypQeandfacilities)MAls0jegeenmathproGcessorhebt(jehebteenminimale386of486SX),moetjehiermet`y'antwoorden.e"Alsje9eencoproGcessorhebtenjezegtdantoch`y',?fmaakjeerdannietteveelzorgenom,?fdecoproGcessorwordtnogsWsteedsgebruiktendeemulatiewordtgenegeerd.$V*oGoriederemodernecomputer,zzalhetantwoordsW`no'zijn,maar maakjegeenzorgenalsjehierpGerongeluk`yes'hebtgeantwoGord;halshetnietnodigis,wordthetnietU gebruikt.4.3.2#!\Enhanced(MFM/RLL)diskenIDEdisk/cdromsuppQort(Bloc>kDevices)MJezultdeondersteuningwaarschijnlijknoGdighebben;îhetbetekentdatdekernelstandaardPCharddisks,die^demeestemensenhebbGen,ϸzalondersteunen.9BijdezedriverzijnSCSI-driversnietinbGegrepen;die^komenlaterU indeconguratieaandeorde.ؼErzaldanwordengevraagdnaardeolddisk-only1ennewIDEdrivers.zJezulterhiernvqanwillenkiezen;?"het4$bGelangrijksteverschil4$isdatdeoudedriveralleentweedisksopeenenkeleinterfaceondersteunt,en denieuwe eentweede interfaceenIDE/A*TAPIcdromdrivesondersteunt.CDenieuwedriveris4kgroterdan݉deoudeenis,tnaarmenmagaannemen,oGokverbeterd,ʼwat݉betekent݉dathetafgezienvqaneenverschil-lend6aantalbGevqattendefouten,{hetjediskperformancekqanverbeteren,{vooral6alsjenieuwere6(EIDE-type)hardwareU hebt. ά_2 ~?G4.8HoQedek>ernelfeitelijktecongureren12ՁV4.3.3#!\Net>werkondersteuning(GeneralSetup)MInwprincipGe,̘zoujehierslechtsw`y'antwoorden,̘alswjecomputerzichineennetwerkbGevindt,̘zoalshetinternet, ofjegebruikwiltmakenvqanSLIP*,PPP,term,enz.qomintebGellenvoortoegangtothetinternet.qJezouhier+#echter`y'moGetenantwoGorden,3wantveelpackqages(zoalshetX-windowsysteem)vereisennetwerkonder-steuning,4oGokalisjecomputernietopeenechtnetwerkaangesloten.LaterzaljewordengevraagdofjeondersteuningR wiltvoGoreenTCP/IPR netwerk;SantwoGordhiernogmaals`y',RalsjeerniethelemaalzekervqanbGent. 4.3.4#!\SystemVIPC(GeneralSetup)ɀn5vqandebGestedenitiesvanIPC5(InterproGcessCommunication)staatindeverklarendewoGordenlijstvqanhetPerlbGoek.!;HetisnietverwonderlijkdateenaantalPerlprogrammeurshetgebruiktomproGcessenmetelkqaar#telatencommuniceren,cevenals#veleanderepackqages(in'tbijzonderDOOM),dushetisgeengoGedideeU omhiernopteantwoGorden,U tenzijjepreciesweetwatjeaanhetdoGenbent. 4.3.5#!\ProQcessorfamilie(Processort>ypeenfaciliteiten)(inU ouderekernels:qGebruikde-m486agvoGor486-speciekeoptimalisaties)ؼV*olgenstraditiewerdenhierdoGorbepaaldeoptimalisatiesvooreenbepaaldeprocessormeegecompileerd;dekernelsdraaideprimaopanderechips,maardekernelwasmisschienwatgroter.Innieuwerekernelsgeldtdit0/echternietmeer,7dusjezouopmoGetengevenvoGorwelkeproGcessorjedekernelaanhetcompilerenbGent.EenU 386*hkernelwerktmetallecomputers. 4.3.6#!\SCSI-suppQortAls͗jeSCSI-deviceshebt,antwoGord͗je`y'.DSErzaljewordengevraagdnaarmeerinformatie,zoalsondersteun-ingvoGorCD-ROM,disks,%enwatvoGorsoortSCSI-adapterjehebt.]ZiedeSCSI-HOWTOvooruitgebreideredetails. 4.3.7#!\Net>workdevicesuppQortAlsjeeennetwerkkqaarthebt,ыofjezouSLIP*,PPP}ofeenparallellepGoortadapterwilengebruikenomverbind-ingh1temakenmethetInternet,lantwoGordje`y'.HetconguratiescriptzaljevragennaardesoortkqaartdiejeU hebt,enwelkprotoGcolmoetwordengebruikt. 4.3.8#!\FilesystemsHetU congureerscriptvraagtjevervolgensU ofjeondersteuningvoGordevolgendebGestandssystemenwilt:ؼStandard(minix)-NieuweredistributiesmakengeenminixbGestandssystemenaan,enveelmensengebruikenhetmeniet,wmaarhetkqannogsteedseengoGedideezijnomdezetecongureren.PEenaantalrescuediskprogramma'smaaktergebruikvqan,NensteedsmeerdisketteskunneneenminixbGestandssysteemhebben,aangezienU hetminixbGestandssysteemmindermoeizaamopeendisketteistegebruiken.SecondYextended-DitishetstandaardLinuxbGestandssysteem.y+Hetisbijnazekerdatjeerhiernvqanhebt,U en`y'moGetantwoorden.msdost-AlsjejeMS-DOS harddiskpartitieswiltgebruiken,L ofMS-DOSgeformatteerdedisketteswiltgebruiken,U antwoGordje`y'. Z_2 ~?G4.8HoQedek>ernelfeitelijktecongureren13ՁVErU zijndiverseandereexternesoGortenbesturingssystemenbeschikbaar.ؼ/proGcT-(ideevqanBellLabs,Edenkik). Menmaaktgeenprocbestandssysteemopeendisk;ditiseen bGestandssysteeminterface]naardekernelendeproGcessen.V*eelprogramma'sdieprocessenweergeven](zoals`ps')Kmakenergebruikvqan.ProbGeereenseenkeer`cat?/proc/meminfo'of`cat/proc/devices'.Eenaantalshells:(rc, inhetbijzonder)gebruiktvoGorI/O#/proc/self/fd(opanderesystemenbekendals/dev/fd).RJezouU hierbijnazeker`y'moGetenantwoGorden;veelbGelangrijkelinuxtoGolszijnervqanafhankelijk.NFS - ,Alsjecomputeropeennetwerk ,isaangesloten,*enjewiltbGestandssystemengebruikendievoGorkomenopU anderesystemenmetNFS,antwoGordU dan`y'.ISO9660-W*ordtopdemeesteCD-ROM'saangetroen.P AlsjeeenCD-ROMdrivehebtenjewilthetonderLinuxU gebruiken,geefjealsantwoGord`y'. Maar}ikw>eetnietwelkebQestandssystemeniknodigheb! `Ok,"typ~`mount'.řDeuitvoGerzalerongeveerU zouitzien:卑+:qL ectt0900blah#Nmount =+:/dev/hda1Non/typeext2(defaults)+:/dev/hda3Non/usrtypeext2(defaults)+:noneNon/proctypeproc(defaults)+:/dev/fd0Non/mnttypemsdos(defaults)ؼBekijḱiedereregel; hetwoGordnaast`type'ishettypGebestandssysteem.CInditvoorbeeldzijnmijn/en/usr bGestandssystemen_\secondextended,aIkgebruik/proc,eneriseendiskettegemountdoGorgebruiktemakenvqanU hetmsdos-bGestandssysteem.JeBkunt`cat?/proc/filesystems'probGeren,alsje/procthansisgeactiveerd;9Bjehuidigekernel'sbGe-standssystemenU zullenwordenweergegeven.Deconguratievqanzeldzaamgebruikte,nietkritiekebGestandssystemenkunneneenbloatkernelveroGorzaken;zieSdesectieoverSmoGdulesvooreenmanieromdittevoorkomenSendesectieV*alkuilenoverSwaaromeenbloatU kernelnietwenselijkis. 4.3.9#!\CharacterdevicesMHieractiveerjededriversvoGorjeprinter(datwilzeggen,`parallelleprinter),`busmouse,PS/2mouse(veelnotebGooksǑgebruikenhetPS/2mouseprotoGcolvoGorhuningebGouwdetrackballs),-eenaantaltapGedrives,-enandereU character*hdevices.qAntwoGord`y'alsditvqantoepassingis.Opmerking:bgpmMiseenprogrammawaarmeehetgebruikvqandemuisbuitenhetX-windowsysteemvoGorknippGenθenplakkentussenvirtueleconsolesistoegestaan.DHetisechtθheelaardigalsjeeenserilemuishebt,omdatU hetgoGednaastXkqanvoortbestaan,maarjehebtvooranderemuizenspecialefoefjesnodig. 4.3.10(SoundMAls[jeeengroGotverlangenvoGeltomgeklap?engeblaf[tehoren,TantwoGorddan`y',Tenjekunthetcon-guratieprogrammaupallesoverupjegeluidskqaartlatenweten.q(Eenopmerkingoverdeconguratievqaneengeluidskqaart:alsjewordtgevraagdofjedevolledigeversievqandedriverwiltinstalleren,Nkunjehier`n'antwoGordenU enwatkernelgeheugenbGesparendooralleendefaciliteiteneruittepikkendiejenodigacht).Als degeluidsondersteuningjemenensis, FbGekijkdaneensdevrijverkrijgbaredriversbijhttp://www.linux.org.uk/OSS/=xenhetcommercileOpGenSoundSystembijhttp://www.opensound.com/.3_2 ~?G5.8Compilerenv\|andek>ernel814ՁV4.3.11(Andereconguratie-optiesMNietؿalleconguratie-optieswordenhieropgesomd,omdatzetevqaakwijzigenoftamelijkvanzelfsprekend zijn(bijvoGorbeeld,F3Com3C509ondersteuningvoorhetcompilerenvqandedevicedrivervoGordezespecialeethernetkqaart).G4Er:bGestaateentamelijkuitgebreidelijstmetopties(pluseenmanieromzeinhetConfigurescriptteplaatsen)metinzetgestartenbGeheerddoorAxelBoldt(boldt@math.ucsb.edu)enhetisdeonline-help.w?HetW issindsversie2.0oGokbeschikbaaralsngrootbestandalsdeDocumentation/Configure.helpinU jeLinuxkernelsourcetree. 4.3.12(Kernelhac>king b> cmmi10>V*anuitU hetREADMEbGestandvqanLinus:ؼdekernelhackingconguratiedetailsresulterenmeestalineengrotereoflangzamerekernel(ofbGeiden),enrkqandekernelzelfsminderstabielmakendoGoreenaantalroutinestecongurerendieactiefprobGeertslechtecoGdeaandeoppervlaktetelatenkomenomkernelproblemenoptespGoren(kmalloc()).DusjezouwaarschijnlijkU `n'moGetenantwoordenU opdevragenvooreenproduction*hkernel.#Í4.4Watnu?(DeMakele)NadatjedeconguratiehebtbGeindigd,krijgjeeenberichtdatjekernelisgecongureerdendemeldingcheckU thetop-levelMakefileforadditionalconguration,*henz.ؼDusQJbGekijkMakefile.eJezulthetwaarschijnlijkQJniethoevenwijzigen,TmaarhetkqannooitkwaadhettebGekijken.Je*&kuntdeoptieservqanoGokwijzigenmethetcommando`rdev'zodradenieuwekernelopz'nplaatsU staat.qAlshetjeontgaatalsjehetbGestandbekijkt,maakjeerdangeenzorgenom.(5CompilerenG\vandekcernel荍5.1OpschonenenafhankelijkhedenAlshetconguratiescripteindigt,geefthetoGokaaneen`make?dep'en(mogelijk)`clean'uittevoeren.IvDus,doGe$pde`make?dep'.qDitverzekert$pjedatalleafhankelijkheden,XDzoalsdeincludebestanden,XDophunplaatsstaan.UHetduurtnietlang,tenzijjecomputeromtebGeginnennogallangzaamis.JezouvoGoroudereversiesvqanٸdekerneleen`make?cleanmoGetendoen,falsjeklaarbent.H^Hiermeewordenalleob0ject-bGestandenenwatandere zakenverwijderddiedoGoreenoudeversieachterwordengelaten.6V*ergeetdezestapiniedergevqalnietGvoGordatU jeeenpoginggaatondernemenomeenkerneltehercompileren.#Í5.2CompileertijdNaeenmake?depeneenmakeclean,Ыkunjenueen`makebzImage'of`makebzdisk'opstarten(ditishetN3onderdeeldatlangduurt).\`make?bzImage'zaldekernelcompileren,wen(onderandere)eenbGestandinq6arch/i386/bootmetdenaam`bzImage'achterlaten.Ditq6isdenieuwgecomprimeerdekernel.`makebzdisk'@doGethetzelfde,maarhetplaatstookhetnieuwe@bzImageopeendiskette,diejehopelijkindriveA:deed.N`bzdisk'IisnogalhandigvoGorhettestenvqannieuwekernels;ernel815ՁVAlle#pashalverwege#redelijkrecentekernelszijngecomprimeerd,#hieruitvolgtde`bz'aanhetbGeginvqande naam.qEenU gecomprimeerdekerneldecomprimeertzichzelfalshetwordtuitgevoGerd.ؼInĪouderekernelshadjedeoptienietomeenbzImagetebGouwen;nhetwasgewoGoneenzImage.DieoptieisoophetmomentnogsteedsbGeschikbaar,uhetisechter,ugegevendegroGottevqandenieuwerekernels,uminofmeerwverplichtomeenbzImagetebGouwen,͍omdatdeouderemethoGdennietmeteenaltegrotekernelomkunnenU gaan."5.3Anderemake'sMMet(s`make?mrproper'zaleengroGotseropgezette`schoonmaakwordenuitgevoGerd.bSomsishetnodig;7Xjewilthet;misschienbijiederepatchdoGen.BMet`make?mrproper'zalookjeconguratiebestandwordenverwijderd,dusU misschienwiljeeenbackupmakenvqan(.config),alsjehetalswaardevolbGeschouwd.Met%`make?oldconfig'zalwordengeprobGeerddekernelvqanuiteenoudconguratiebGestandtecongureren;het8Zzalhet`make?config'proGcesvoorjedoorlopen./AlsjenooiteerdereenkernelhebtgecompileerdofjekhebtgeenoudconguratiebGestand,~danzoujeditwaarschijnlijkknietmoetendoen,~aangezienjezeerwaarschijnlijkU jestandaardconguratiezalwillenveranderen.ZieU desectieoverU moGdulesvooreenbeschrijvingvqan`make?modules'."5.4Installerenv@ andekernelMNudatjeeenkernelhebtdielijkttewerkenzoalsjehetwilt,ishettijdomhetteinstalleren.xDemeestemensen~gebruikenhiervoGorLILOa(LinuxLoader).ț`make?bzlilo'zaldekernelinstalleren,draaiLILO,enjeFbGenterhelemaalklaarvoGoromtebooten,IMAARFALLEENalsFliloopdevolgendemanieropjesysteemis`gecongureerd:kernelis/vmlinuz,liloisin/sbin,enjelilocong(/etc/lilo.conf)stemtdaarmeeovereen.AndersmoGetjeLILOopdirectewijzegebruiken.[HetiseentamelijkmakkelijkpackqageomteinstallerenenomGmeetewerken,J\maarGhetheeftdeneigingommensenmetz'nconguratiebGestandindewartebrengen.ZoGek6naarhetconguratiebestand(/etc/lilo/configvooroudereversiesof/etc/lilo.confvoGornieuweversies),U enbGekijkdehuidigesetup.qHetconguratiebGestandzieterongeveerzouit:荑image?=/vmlinuz)`label?=Linux)`root?=/dev/hda1)`...Dej`image?='isopdehuidigegenstalleerdekernelingesteld.#[Demeestemensengebruiken/vmlinuz.#[`label'wordtdoGorlilogebruiktomvqasttestellenwelkekernelofwelkbGesturingssysteemmoetwordengeboot,Wen`root'Risde/vqandatbGepaaldebesturingssysteem.iMaakeenbackupvqanjeoudekernelenkopieerhetbzImagedatjenetopz'nplaatshebtgezet(jezouhier`cp?bzImage/vmlinuz'opgevenalsje`/vmlinuz'gebruikt).Startlilodanweerop,vopnieuweresystemenkunjegewoGon`lilo'opstarten,vmaaropoudere,kqanU hetzijndatje/etc/lilo/installofzelfs/etc/lilo/lilo?-C/etc/lilo/configU opmoGetgeven.ؼAls.ijemeerzouwillenwetenoverdeconguratievqanLILO,ofjehebtLILO.1niet,dhaaldandenieuwsteversieU vqanafjefavorieteftp-siteenvolgdeinstructiesop.Om7nvqanjeoudekernelsvanafdeharddisktebGooten7(eenanderemanieromjezelftereddenvoGor'tgevqalojedenieuweokernelhebtverprutst),-kopieerjederegelshieronder(envoGegzein):b`image?=xxx'inɱhetconguratiebGestandvqanLILOPonderaanhetbestand,&waarbijje`image?=xxx'ɱwijzigtin`image=?yyy';hierbij-staat`yyy'voGordevolledigepadnaamvqanhetbGestand,cwaarinjejebackupvqandekernelbGewaarde.G_2 ~?G6.8P>atchenv\|andek>ernelJFq16ՁVWijzigdanderegel`label?=zzz'in`label?=linux-backup'enherstartlilo.OMisschienmoGetjenogeen regelڑinhetconguratiebGestandplaatsenzoals`delay=x',waarxstaatvoGorhetaantaltiendenseconden,datLILO&voGor9hetbootenmoetwachten,@zodat9jehetkuntonderbreken.U(bijvoGorbeeld9metdeshift-toGets),@enhetU labGelinkunttikkenvqandebackupbGoot-imageU (voorU 'tgevqaleronplezierigedingengebGeuren).(6PcatchenG\vandekcernel荍6.1To_epassenv@ aneenpatchMPerioGdieke:upgradesvqandekernelwordenalspatchesgedistribueerd.hAlsjebijvoGorbeeld:versie1.1.45hebt,eng~jemerktdatereen`patch46.gz'voGoris,betekentg~hetdatjenaarversie1.1.46kuntupgradendoGortoGepassing-vqandepatch.vMisschien-wiljeeersteenbackupvandesourcetreemaken(`make?clean'envervolgens `cd?/usr/src;tarzcvfold-tree.tar.gzlinux'zaleengecomprimeerdtar-archiefvoGorjemaken).ؼDus, verdergaandmethetvoGorbeeldvqanhierbGoven, latenweervqanuitgaandatje`patch46.gz'in/usr/srchebt.,¼cd>6naar/usr/srcendoGeeen`zcat?patch46.gzjpatch-p0'>6(of`patch?-p06alsdepatch'nietisgecomprimeerd).buJezultvqanallesvoGorbijzienvliegen(ofadderenalsjesysteemzolangzaamis)omjetelatenwetendathetaanhetprobGerenisombrokkentoGetepassenenofhetdaarinslaagtofniet.MeestalgaandezeactiestesnelvoGorbijomzetekunnenlezen,yenbenjeerniethelemaalzekervqanof"hetwelofnietwerkte,dusmisschienwiljede-sagaanpatchopgeven,welkepatchaangeeftalleendeOUfoutmeldingenterappGorteren(jekrijgtnietzoveelOUalsbijheth,P}mijncomputerdoeteindelijkeenswatvoGorW\deverandering!M}gevoGel,WmaarhetkqanzijndatjehierdevoGorkeuraangeeft..).x5OmdieonderdelentebGekijkendiemisschiennietzosoGepelzijnverlopGen,cdjenaar/usr/src/linuxenzoekjenaarbestandenmetZeen.rejextensie.-Eenaantalversiesvqanpatch(oudereversieswelkekunnenzijngecompileerdmeteeninferieurbGestandssysteem)laatdeverwerpingenmeteen#extensieachter.SJekunt`find'gebruikenomzeU voGorjeoptesporen;ؼfind?. X-name'*.rej'-printdrukt?allebGestandenindehuidigedirectoryofelkesubGdirectorymetde.rejextensienaarstandaarduitvoGer af.AlsU allesgoGedging,doejeeen`make?clean',`config',en`dep'zoalsinsectie3en4werdbeschreven.ErzijnheelwatoptiesvoGorhetpatchcommando.ޠZoalshierbovengenoemd,Czalpatch?-salleberichtenbGehalvedefoutmeldingenonderdrukken.yAlsjejekernelsourceopeenandereplaatsdan/usr/src/linuxbGewaart,|zal Sermetpatch?-p1(indiedirectory)eenzuiverepatchwordenuitgevoGerd.Xatchenv\|andek>ernelJFq17ՁVpatch?-p0hetprobGerenjesourcetedegraderen,enzalhierwaarschijnlijk>nietinslagen;dusjezulteenvolledigenieuwe*"versievqandesourcetreenoGdighebben(watineersteinstantienieteenszo'nslechtideezouzijngeweest).OmCeenpatchachterafteverwijderen,Gigebruikje`patch?-R'Copdeoriginelepatch(hettoGepassenongedaanmaken).Alspatchesechtverkeerdblijkentezijn,إkunjehetbGesteopnieuwbGeginnenmeteennogonaangetastesourcetreeU (bijvoGorbeeldvqanuitnvandelinux-x.y.z.tar.gzbGestanden).#Í6.3De.origb_estandenzienkwijtterakenMNaEslechtseenpaarpatches,Hzullende.origbGestandenzichbGeginnenoptestapelen.lmEen1.1.51treedieikbijvoGorbeeldooithad,€wasvoGorhetlaatstbij1.1.48opgeschoGond.xHetverwijderenvqande.origbGestandenbGespaardeU memeerdaneenhalvemeg.ؼfind?. X-name'*.orig'-execrm-f{}';'zalditvoGorjeregelen.d|V*ersiesvqanpatchdie#gebruikenvoGorverwerpingen,^makengebruikvqaneentilde inU plaatsvqan.orig.ErU zijnbGeteremanierenomaftegerakenvqande.origbestanden,dieafhankelijkzijnvqanGNUxargs:find?. X-name'*.orig'|xargsrmofU deheelveiligemaareenbGeetjeuitgebreidere*hmethode:find?.-name'*.orig'-print0|xargs--nullrm--#Í6.4AnderepatchesMEr3zijnanderepatches(Ikzalzenietstandaard{noGemen)dandieLinusdistribueert.AlsjedezetoGepast, kqan-hetzijndatdepatchesvanLinuxnietcorrectwerkenendanzuljezealsnogmoGetenverwijderen,desourceofdepatchmoGetenherstellen,eennieuwesourcetreemoGeteninstalleren,ofeencombinatievqanhetbGovenstaande.pDit2kqanergfrustrerendworden,vdusalsjedesourcenietwiltwijzigen(metdekansopeenzeer6slechteuitkomst),verwijderdandeniet-standaardpatchesvoGordatjedievqanLinuxtoGepast,ofinstalleergewoGoneennieuwetree.MV*ervolgenskunjezienofdeniet-standaardpatchesnogsteedswerken.MAlsdatnietzowgis,zitjevqastaaneenoudekernel,hetspGelenmetdepatchofdesourceomhetaanhetwerktekrijgen,ofU zuljemoGetenwachtenU (ofbedelen)totereennieuweU versievqandepatchuitkomt.HoGealgemeenzijndepatchesdiezichnietindestandaarddistributiebGevinden?FJezultwaarschijnlijkvqanzehoren.SIk wasgewenddenoblinkpatchvoGormijnvirtueleconsolestegebruiken, omdatikeenhekelhebaanknippGerende"cursors.<(Dezepatchwordt(oftenminstewerd)vqaakbijgewerktvoGornieuwekernelreleases).V*an]demeestenieuwe]devicedrivers,diealslaadbaremoGduleswordenontwikkeld,isdefrequentievqan"niet-standaard"patchesU echteraanmerkelijkaanhetafnemen.3_2 ~?G7.8Aan>vullendepack\|agesL2i18ՁV7AancvullendeG\packages:Jelinuxkernelheeftvelefaciliteitendienietindekernelsourcezelfzijnuitgelegd;&~dezefaciliteitenworden kenmerkendقdoGorexternepackqagesgebruikt.Eenaantalvqandemeestgebruikelijkefaciliteitenwordthieropgesomd.#Í7.1kb_dMDe@linuxconsoleheeftwaarschijnlijkmeerfaciliteitendanhettoGekomt.HiertussenbGevindtzichdemogeli-jkheidComvqanlettertypGenteverwisselen,pjetoGetsenbordCopnieuwintedelen,ptussenvideo-moGdesteschakelen(innieuwerekernels),Senz.QHetkbGdpackqagebGestaatuitprogramma'sdiedegebruikerinstaatstellenomditallemaal_\tedoGen,aplusnogvelelettertypGenentoetsenbordindelingenvoorbijnaiedertoetsenbord,aenhetisvqanafU dezelfdesitesbGeschikbaarwaardekernelsourcetevindenis.7.2util-linuxMRik3F*aith(faith@cs.unc.edu)heefteengroteverzamelinglinuxutility'sbijeengebracht,kdoGoreeneige-naardigtoGevqal,!metdenaamutil-linux.\DezewordennudoGorAndriesBrouwer(util-linux@math.uio.no)bGeheerd.7BeschikbaarJviaanoniemeftpvqanafsunsite.unc.eduin/pub/Linux/system/misc,hetbevqatpro-gramma's&zoalssetterm,rdev,en&ctrlaltdel,dierelevqantzijnvoGordekernel.ZoalsRikzegt,installe}/erhetznietzondererbijnatedenken; jeDhoGeftnietallesdatzichinhetpackqagebGevindt,Gteinstalleren,enhetzouU heelgoGedernstigeproblemenkunnenveroorzakenU alsjeditweldoet.7.3hdparmMZoalsCCmetvelepackqages,~wasditoGoiteenkernelpatchenondersteundeprogramma's.;Depatcheshaaldehettotindeocilekernel,endeprogramma'svoGorhetoptimaliserenenspelenmetjeharddiskwordenafzonderlijkU gedistribueerd.7.4gpmMgpmstaatvoGor`generalpurposemouse.'KDitprogrammastaatjetoeomtussenvirtueleconsolestekstteknippGenU enteplakkenenwatanderedingentedoGenmeteengrotediversiteitaanmuistypGes.(8EenG\aanctalvalkuilen荍8.1makecleanAls8jenieuwe8kernelechtvreemdedingendoGetnaeenroutinekernel-upgrade,>bGestaatdekqansdanjevergatmake?clean׻uittevoGerenvoGordatjedenieuwekernelcompileerde.RDesymptomenkunnenvqanalleszijn,vqanYjesysteemdatineenscrasht, vreemdeI/O4problemen,telagepGerformance.%,W*eeserzekervqandatjeoGokU eenmake?depdoet.#Í8.2ZeergroteoflangzamekernelsAlsjekerneleenbGoelgeheugenopslurpt,VtegroGotis,en/ofhetcompilereneeuwigduurt,oGokalhebjeeenIonieuweQuadbazillium-IGII/4400dieeraanwerkt,KdanhebjewaarschijnlijkergveelonnoGdigspul(deviceC_2 ~?G8.8Eenaan>talv\|alkuilenSg19ՁVdrivers,5bGestandssystemen,enz)}1gecongureerd.Alsjehetnietgebruikt,5congureerhetdanniet,want hetneemtgeheugeninbGeslag.*HetmeestopvqallendevankernelbloadishetextremeinenuitswappGenvqangeheugennaardedisk;ѪalsjediskeenhelebGoellawaaimaaktenhetnietnvqandieoudeF*ujitsuEaglesis,^dieklinkenuealsofereenstraalvliegtuiglandtalsjejecomputeruitzet,$kijkdannogeensnaarjekernelconguratie.ؼJeckunterachterkomenhoGeveelgeheugenjekernelgebruiktdoGordetotalehoeveelheidgeheugeninjemachineaftetrekkenvqandehoGeveeelheidvqantotalmemin/proc/meminfoofdeuitvoGervqanhetcommando`free'.#Í8.3Deparallellep_oortwerktniet/mijnprinterwerktnietMConguratie-optiesJvoGorPC'szijn:Selecteeralseerste,Aonderdecategorie`GeneralSetup',`ParallelpGortsuppGort'U en`PC-stylehardware'.qSelecteerdanonder`Characterdevices',`ParallelprintersuppGort'.Endanzijnernogdenamen. Linux2.2noGemtdeprinterdevicesandersdaninvoGorgaandereleases. HetkomtHhieropneerdat,K!alsjeonderjeoudekerneleenlp1had,hetonderjenieuweHkernelwaarschijnlijkeenlp0U is.qGebruik`dmesg'ofdoGorzoekU delogsin/var/logomerachterU tekomen.#Í8.4KernelcompileertnietMAlshetnietcompileert,#Ndanishetwaarschijnlijkdatereenpatchmislukte,ofjesourceisopnnofanderemanierZverknoGeid.Hetkqanookzijndatjenietdejuisteversievqangcchebt,\ ofdezekanoGokverknoeidzijn(de* includebGestandenkunnenbijvoorbeeldfoutzijn).c$Zorgervoordatdesymbolische* links,2dieLinuxindeREADME bGeschrijft,!juistzijningesteld.\)Inhetalgemeengeldt,datalseenstandaardkernelnietcompileert,erietsernstigmisismethetsysteem,$enopnieuwinstallerenvqanbGepaaldetoolsiswaarschijnlijknoodzakelijk.In7eenaantalgevqallenkangccdoGorhardwareproblemencrashen.Defoutmeldingzalietszijnalsxxxexited+Ewithsignal15enhetzalergewoGonlijkzeermysterieusuitzien.IkzouditwaarschijnlijkniettersprakehebbGengebracht,bGehalvedathetmeeenkeeroverkwam-Ikhadwatslechtcachegeheugen,endecompilerMkonnuendanwillekeurigweigeren.oProbGeeralseerstegccopnieuwteinstallerenalsjeproblemenervqaart.kJezoualleenachterdoGchtigmoetenzijn,Yalsjekernelgoedcompileertmetexternecacheuitgezet,eenU verminderdehoGeveelheidRAM,enz.Hetschijntmensentestorenwanneererwordtgesuggereerd,daterproblemenmethunhardwarezijn.{&IkverzinU ditniet.qEriseenFAQvoGorhetistevindenbijhttp://www.bitwizard.nl/sig11/.#Í8.5Denieuwekernelversielijktnietteb_ootenMJehebtLILOnietgedraaidofhetisnietjuistgecongureerd.|Oɀndingdatmeeensoverkwam,LwaseenprobleeminhetconguratiebGestand;(hetgafaan`boot?=/dev/hda1'inplaatsvqan`boot?=/dev/hda'(DitkqanڀinhetbGeginechtڀhinderlijkzijn,maarzodrajeeenwerkendڀconguratiebestandhebt,zoujehetnietmeerU hoGeventewijzigen).8.6#=JevergatLILOtedraaien,ofjesysteemb_oothelemaalnietMOeps!uHetcbGestewatjehierkuntdoGenismeteendisketteofCDROMctebGootenceneenandereopstartbarediskette$aantemaken(zoals`make?zdisk'zoudoGen).0-JezultmoetenwetenwaarjeroGot(/)bestandssysteemzich?bGevindtenvqanwelktypGehetis(b.v.secondextended,Gminix).InhetvoGorbeeld?hieronderzuljeoGokmoGetenpwetenopwelkbGestandssysteemje/usr/src/linuxsource-treezichbGevindt,whettypGe,wenwaarhetnormaalU gesprokenwordtgemount.P_2 ~?G8.8Eenaan>talv\|alkuilenSg20ՁVInyhetvolgendevoGorbeeld,¬isy//dev/hda1,enhetbGestandssysteemmet/usr/src/linuxis/dev/hda3, normaal|]gesprokengemountonder/usr.8HetzijnallebGeisecondextendedbestandssystemen.8DewerkendekernelU imagein/usr/src/linux/arch/i386/bootwordtbzImagegenoGemd.ؼDesbGedoelingis,{datalsereenfunctionerendbzImageis,hetmogelijkisomdatvoGordenieuwediskettetegebruiken.mEenI7anderalternatief,KwelkewelofnietbGeterkqanwerken,K(dithangtafvqandespGecialemethodewaarinU jejesysteemhebtverknoGeid)wordtnahetvoGorbeeldU besproken.BoGotm omtebeginnenvqanafeenboot/rootdisksetofrescuedisk,senmounthetbestandssysteemwaarinzichdeU werkendekernel-imagebGevindt:ؼmkdir?/mntmount?-text2/dev/hda3/mntAlsۼmkdirjedemeldinggeeftdatdedirectoryalbGestaat,Onegeerhetdangewoon.McdnunaardeplaatswaardeU werkendekernel-imagestond.qMerkopdatؼ/mnt?+/usr/src/linux/arch/i386/boot-/usr=/mnt/src/linux/arch/i386/bootPlaatseengeformatteerdediskindriveA:N(nietjebGoot-ofroGotdisk!),+dumpdeimagenaardedisk,en congureerU hetvoGorjerootbestandssysteem:cd?/mnt/src/linux/arch/i386/bootdd?if=bzImageof=/dev/fd0rdev?/dev/fd0/dev/hda1cdU naar/enunmounthetnormale/usrbGestandssysteem:ؼcd?/umount?/mntJe@zoujesysteemnuzoalsgewoGonlijkvqanafdezedisketteopmoGetenkunnenstarten.jV*ergeetnahetopstarten,liloU niettedraaien(ofwatjeoGokverkeerddeed)!ؼZoalshierbGovengenoGemd,isernogeenanderalternatief.zAlsjeeenwerkendekernel-imagein/hebt,(bijvoGorbeeldx/vmlinuz),kunjedatvoGoreenbootdiskgebruiken.( Uitgaandevqanallebovenstaandexcondities,endatmijnkernel-image/vmlinuzis,.maakjegewoGondezewijzigingenaan,.inhetvoGorbeeldhierboven:verander./dev/hda3in/dev/hda1(het/bGestandssysteem),d/mnt/src/linuxin/mnt,enif=bzImageinif=vmlinuz./(DeopmerkingdieuitleggeefthoGe/mnt/src/linuxkqanwordenafgeleid,kanwordengenegeerd.LILOmet8grotedrivesgebruiken,(meerdan1024cylinders)kqanproblemenveroGorzaken.ZiedeLILOmini-HOWTOU ofdoGcumentatiehierovervoGorhulp.#Í8.7Hetgeeftdemelding`warning:b_dushnotrunning'MDitkqaneenernstigprobleemzijn. ABeginnendmetkernelreleasena1.0(rond20Apr1994),Vwerdeenprogrammaumetdenaam`update'bijgewerkt,1welkeupGeriodiekdebuersvqanhetbestandssysteemopschoont.Haaldesourcesvqan`bdflush'op(jezouhetmoGetenkunnenvindendaarwaarjejekernelsourcevqandaanhebtgehaald), eninstalleerhet(jewiltjesysteemwaarschijnlijkonderdeoudekerneldraaienalsjehiermeebGezigbent).dLHetinstalleertzichzelfals`update'ennaeenrebGoot,JzoudenieuwekernelernietlangerproblemenU meemoGetenhebben.b_2 ~?G8.8Eenaan>talv\|alkuilenSg21ՁV8.8IkkrijgmijnIDE/ATAPICD-ROMdrivenietaandepraatMV*reemdgenoGegkrijgeneenheleboelmensenhunA*TAPIdrivesnietwerkend,!waarschijnlijkomdatereen aantalU dingenverkeerdkqangaan.ؼAlsQjeCD-ROMQdriveQhetenigeapparaatopeenbGepaaldeIDEinterfaceis,RYmoGethetalsmaster&ofslavezijnU gejumpGerd.qDitisvermoedelijkdemeestvoorkomendeU fout.Creativem2LabsheeftnuIDE-interfacesophungeluidskqaartengezet.Ditleidtechtertothetinteressanteprobleemdatterwijleenaantalmensenslechtsninterfaceheeft,hebbGenvelentweeIDE-interfacesophunmoGederbordenzingebouwd(meestalopIRQ15),dushetiseenalgemenegewoGonteomvqandesoundblasterinterfaceU eenderdeIDEpGoortU temaken(IRQ11,ismeverteld).DitveroGorzaaktproblemenmetlinuxgezienversies1.2.xgeenderdeIDE-interfaceondersteunen(erison-dersteuningSytebGeginnenergensin1.3.xseriesmaardatisdevelopment,denkSydaaraan,enhetdoGetgeenauto-probGe).qOmU ditteomzeilen,hebjeeenpaarkeuzes.AlsjealeentweedeIDE-pGoorthebt,Pbestaatdekqansdatjehetnietgebruikt,PoferzichnoggeentweedevicesopobGevinden.HaaldeA*TAPI-driveovqandegeluidskaartafenbGevestighetaandetweedeinterface.JekuntdeU interfacevqandegeluidskaartvervolgensU de-activeren,watjehoGedanookeenIRQbespaart.Als“jegeentweede“interfacehebt,jumpGerdeinterfacevqandegeluidskaart(niethetgeluidsdeelvandegeluidskqaart)U danalsIRQ15,detweedeinterface.qHetzoumoGetenwerken.#Í8.9Hetgeeftraremeldingenover`obsoleteroutingrequests'MHaalnieuweversiesopvqanhetrouteprogrammaenenigeandereprogramma'sdieerzijnvoGorroutemanipulatie.O/usr/include/linux/route.he(dateigenlijkeenbGestandin/usr/src/linuxis),isgewijzigd.8.10%}Firewallwerktnietin1.2.0MUpgradeU naartenminsteversie1.2.1.8.11%}NotacompressedkernelImageleGebruik,>hetbGestandvmlinuxdiejein/usr/src/linuxhebtaangemaakt,4knietalsjeboot-image;9hetjuiste bGestandU is[..]/arch/i386/boot/bzImage.8.12%}Problemenmetconsoleterminalnahetupgradentot1.3.xWijzigUhetwoGorddumbinlinuxindeconsoletermcapentryin/etc/termcap.rHetkqanoGokzijndatjeeen terminfoU entrymoGetmaken.8.13%}Hetlijkteropdatikdingennadekernel-upgradenietk@ ancompilerenDef linuxkernelsourcebGevqateenaantalincludebGestanden(diemeteen.heindigen),waarnaarwordtverwezen doGorrdestandaardincludebestandenin/usr/include.LwErwordtalsvolgtnaarverwezen(waarxyzzy.hietsU in/usr/include/linuxzouzijn):ؼ#include?pà_2 ~?G9.8Opmerkingv>oQorupgradenaarversie2.0.x,2.2.xι22ՁVNormaalgesproken,isereenlinkmetdenaamlinuxin/usr/includenaardedirectoryinclude/linuxvqan je_kernelsource(/usr/src/linux/include/linuxophetsysteem).MAlsdezelinknietvoGorkomt,aofnaardeverkeerdeS!plaatsverwijst,Szalhetmeestehelemaalnietwordengecompileerd.pAlsjebGeslootS!dekernelsourceteI[verwijderen,KomdathetteveelruimteopdediskinbGeslagnam,Kzaldituiteraardeenprobleemzijn.mEenandere manierwaarophetfoutkqangaanisdoGorbestandspermissies;#lalsjerooteenumaskheeft,{dieanderegebruikersG niettoGestaat,Istandaarddebestandentezien,Ienjepaktedekernelsourceuitmetdep(preservelemoGdes)Coptie,KdanzullendiegebruikersooknietinstaatzijnomdeC0compilertegebruiken.IAlhoeweljeYhetchmodcommandozoukunnengebruikenomditteherstellen,ZishetwaarschijnlijkmakkelijkeromdeincludeabGestandenopnieuwuittepakken.\JekuntditopdezelfdemanierdoGenzoalsjeinhetbeginmetdeheleU sourcedeed,alleenmeteenaanvullendargument:ؼblah#?tarzxvpflinux.x.y.z.tar.gzlinux/includeOpmerking:qHmake?config*hzalU de/usr/src/linuxopnieuwaanmakenalsheternietis.#Í8.14%}Verhogenv@ anlimietenMDe>Uvolgendepaarvo}/orbeeldwcommando's>UkunnenhandigzijnvoGordegenendiezichafvragenhoGezebepaalde software-limietenU kunnenverhogendiedoGordekernelwordenopgelegd:ؼecho?4096>/proc/sys/kernel/file-maxecho?12288>/proc/sys/kernel/inode-maxecho?300400500>/proc/sys/vm/freepages(9OpmerkingG\vcoporupgradenaarversie2.0.x,2.2.x:Kernel7versies2.0.xen2.2.xintroGduceerdeheelwatwijzigingenvoGordekernel-installatie.HetbGestandDocumentation/ChangesJعinde2.0.xsourcetreebGevqatinformatiewaarmeejebekendzoumoetenzijnalsjenaarnvqandezeversiesgaatupgraden.BJezultzeerwaarschijnlijkverscheidenepackqagesmoGetenupgraden,zoalsgcc,libGc,enSysVInit,enmisschieneenaantalsysteembGestandenmoetenwijzigen,dusweeshieropvoGorbereid.qEchter,U geenpaniek.10%Mopdules:LaadbarekernelmoGduleskunnengeheugenbesparenendeconguratievergemakkelijken.DestrekkingvqanmoGdulesisgegroeiddathetbestandssystemen,Mqethernetkqaartdrivers,tapedrivers,printerdrivers,enmeerbGevqat.#Í10.1%}Installerenv@ andemo_dule-utility'sMDe `moGduleutility'szijnbeschikbaarvqanwaarjejekernelsourcevqandaanhebtgehaaldalsmodutils-x.y.z.tar.gz;kies=GhethoGogstepatchlevel=Gx.y.zdatgelijkisoflagerdandatvqanjehuidigekernel.Pakhetuitmet`tar?zxvfmodutils-x.y.z.tar.gz',޼cdnaardedirectory*,hetmaakt(modutils-x.y.z)aan,UbGekijk"deREADME,envoerdeinstallatie-instructieservqanuit(diemeestalergeenvoudig"zijn,Uzoalsmakeinstall).#Je;0zounudeprogramma'sinsmod,trmmod,ksyms,lsmod,genksyms,modprobe,en;0depmodin/sbin&moGetenhebben.|T*estdeutility'smetdehwnvoGorbeelddriver&ininsmod,halsjedatwilt;کbGekijkhetbGestandU INSTALLindiesubdirectoryvoordetails.~ _2 ~?G11.8TipsentrucsqsH23ՁVinsmodRvoGegteenmodulein,indedraaiendekernel.PModuleshebbenmeestaleen.oextensie;Adevoorbeeld- driverdiehierbGovenwerdgenoGemd,(&heeftdenaamdrv_hello.o,dusomditintevoGegen,zoumenintikken`insmod?drv_hello.o'.geOm6temoGdulesteziendiedekernelopditmomentgebruikt,versie2.0.30,isbijnaallesalseenlaadbaremoGdulebeschikbaar.ZorgereerstvoGordatjezenietindemWregulierekernelcongureert,seomzetegebruiken;ysdatwilzeggen,sebGeantwoordmW'tnietmetytijdens`makeconfig'.ёCompileereennieuwekernelenrebGootermee.ёcddannogmaalsnaar/usr/src/linux,R|endoeeen/K`make?modules'.HiermeewordenallemoGdulesgecompileerddiejenietindekernelconguratiehebtgespGeciceerd,Uen "linksernaarin/usr/src/linux/modulesgeplaatst.X,Jekuntzedirectvqanuitdiedirectorygebruikenof`make?modules_install'uitvoGeren,waarmeezein/lib/modules/x.y.zwordengenstalleerd,hierbijU staatx.y.zvoGordekernelrelease.ؼDit#kqanvoGoralhandigzijnmetbestandssystemen.yHetkqanzijndatjehetminixofmsdosbe-standssysteemsnietvqaakgebruikt. xAlsikbijvoGorbeeldseenmsdos(huiver)diskettetrof,Bzouikinsmod/usr/src/linux/modules/msdos.o,Q?enldanrmmod?msdosalsikklaarbGen. cDezeprocedurebespaartgedurendeګdenormalebGewerkingongeveer50kRAMڈindekernel.!EenkleineaantekeningvoGorhetminixbGestandssysteem:qjeU zouhetaltijd]directindekernelmoetencongureren,voorgebruikinrescue*hdisks.(鍍11%TipsG\entrucs荍11.1%}Do_orsturenv@ anuitvoerv@ andemakeofpatchcommando'sAlspjelogsvqanwatdie`make'of`patch'commando'sdeden,wzouwillenhebbGen,kunjedeuitvoGernaareenbGestand.doorsturen.dZoekalseersteuitonderwelkeshelljedraait:^2`grep?root/etc/passwd'enzoGeknaarietsU als`/bin/csh'.ؼAlsU jeshofbashgebruikt,zal(commando)?2>&1|tee(uitvoerbestand)eenU kopievqandeuitvoGervqan(commando)inhetbestand`(uitvoerbestand)'plaatsen.GebruikU voGorcshoftcsh,(command)?|&tee(uitvoerbestand)V*oGorU rc(Opmerking:qjegebruiktrcwaarschijnlijkU niet)ishet(command)?>[2=1]|tee(uitvoerbestand),_2 ~?G12.8Andererelev\|an>teHOWTO'sdienuttigkunnenzijn?24ՁV11.2%}Vo_orwaardelijkekernel-installatieMNaasthetgebruikenvqandiskettes,@zijnernogverscheidenemethoGdenomeennieuwekerneluittetesten zonderdeoudekernelaanteroGeren.%,IntegenstellingtotandereUnix-soorten,heeftLILOdemogelijkheidom[eenkernelvqanafiedereplaatsopdedisktebGooten.2(als[jeeengrotedisk(500MB ofmeer)hebt,leesdanalsjeblieftdeLILO-doGcumentatiedooroverhoeditproblemenkqanveroorzaken).5,Dus,RalsjeietsvergelijkbaarsU alshetvolgendeaanheteindevqanjeLILOconguratiebGestandtoevoegt,image?=/usr/src/linux/arch/i386/boot/bzImage)`label?=new_kernelkun(jeervoGorkiezeneennieuwegecompileerdekerneltedraaienzonderdatjejeoude/vmlinuzaanroGert(nahet{ draaienvqanlilo,natuurlijk).:DemakkelijkstemanieromLILOztevertellendatheteennieuwekernelmoGetvbootenisomdelinkershift-toetstijdenshetopstartenintedrukken,H(alsjeLILOvѹophetschermzietstaan,PenOnietsanders)waardoGorjeeenpromptkrijgt.oOpditpuntkunje`nieuwe_kernel'opgevenomdenieuweU kerneltebGooten.ؼAlsbjeverscheidenebverschillendekernelsource-treestegelijkertijdopjesysteemwiltbGehouden(ditkqanhe}/elve}/elTdiskruimteLDinnemen;O8weesvoGorzichtig),N isdemeestgebruikelijkemanieromze/usr/src/linux-x.y.zte2noGemen,jYwaarx.y.zvoGordekernelversiestaat. JekunteensourcetreedanmeteensymbGolischelinkselecteren;~bijvoGorbeeld,`ln?-sflinux-1.2.2/usr/src/linux'-zoude1.2.2treedehuidigemaken.40ZorgervoGor>dathetlaatsteargumentvqanlngeenechtedirectoryis(oudesymbGolischelinkszijnprima),C=voGordatjeopdezemaniereensymbGolischelinkmaakt;ˈhetresultaatzaljenamelijkandersniethetgenegevenwatjeU ervqanzouverwachten.#ፍ11.3%}Kernelup_datesMRussellNelson(nelson@crynwr.com)vqatdewijzigingeninnieuwekernelreleasessamen.!ZezijnbGeknopt,enXjezouermisschienvoGoreenupgradenaarwillenkijken.|ZezijnbGeschikbaarviaanoniemeftpvqanafftp.emlist.comU inpub/kchangesofviadeURLhttp://www.crynwr.com/kchanges(12%AndereG\relevancteHOWTO'sdienuttigkunnenzijnjSound-HOWTO:U geluidskqaartenenutility'sčSCSI-HOWTO:U allesoverSCSI-controllersen-devicesNET-2-HOWTO:U netwerkPPP-HOWTO:U PPP-netwerkeninhetbijzonderPCMCIA-HOWTO:U overdedriversvoGorjenotebookELF-HOWTO:U ELF:wathetis,hetconverteren..Hardware-HOWTO:U overzichtvqanondersteundehardwareMoGduleU mini-HOWTO:meeroverkernelmoGdulesKerneldU mini-HOWTO:overkerneldBogoMipsU mini-HOWTO:voGor'tgevqalje'tjeafmochtU vragen1_2 ~?G13.8Div>ersen+25ՁV13%Divcersen荍13.1%}AuteurMDeauteurenbGeheerdervqandeLinuxKernel-HOWTO˦isBrianW*ard(bri@cs.uchicago.edu).oStuurme alsjeblieftbjeopmerkingen,aanvullingen,correctiesb(CorrectieszijnvoGormijinhetbijzonderhetbelangrijkst).ؼJeU kunteenkijkjenemenopmijn`homepage'opnvqandezeURL's:Thttp://www.math.psu.edu/bri/http://blah.math.tu-graz.ac.at/~bri/Ook0alprobGeerikzoattentmogelijktezijnmetmail,4denkeralsjeblieftaandatikeriederedaghe}/elveelvqankrijg,dushetkanevendurenvoGorikjeantwoGord.YV*ooralalsjememailtmeteenvraag,probGeerdanalsjeblieftextrajebGesttedoeninjeberichtduidelijkengedetailleerdtezijn.@Alsjemeschrijftoverniet werkendehardware(ofietsdergelijks)moGetikwetenwatjehardwareconguratieis.AlsjeeenfoutrappGorteert,WzegW9dannietslechtsW9Ikhebditgeprobeerd,Wmaarhetgafeenfoutmelding;-Ikmoetwetenwatdefoutmeldingwas.IkzouoGokwillenwetenwelkeversievqandekernel,2gcc,enlibGcjegebruikt.Alsjemeslechts:verteltdatjenofandereversievqaneenbGepaaldedistributiegebruikt,?zalmedatnietveelzeggen.Hetmaaktmenietuitalsjeeenvoudigevragenstelt;denkeraan,alsjenietsvraagt,kunjeoGoknooiteenantwoGordU krijgen!qIkzougraagiedereenwillenbedankendiemefeedbackheeftgegeven.ؼAlsjevraagnietsmetdekerneltemakenheeft,\ofineentaalstaatdieiknietbGegrijp,kqanhetzijndatiknietU antwoGord.Als{jemeeenmailhebtgestuurdenbinnenredelijketijd(driewekenofmeer)geenantwoGordhebtgekregen,danbGestaatdekqansdatikjeberichtperongelukhebverwijderdofietsvqandiestrekking(sorry).ProbeerhetU alsjeblieftopnieuw.IkġkrijgergveelmailoverzakendieeigenlijktemakenhebbGenmethardwareofhardwareproblemen.Datis]prima,-maarprobGeereralsjeblieftaantedenkendatiknietbekendbenmetalleindewereldtekrijgenhardware.qIkU gebruikAMDproGcessors,AdaptecenSybiosSCSI-controllers,enIBMSCSI-disks.V*ersiet-0.1werdgeschrevenop3oktobGer1994.}DitdocumentisbeschikbaarinSGML,PostScript,C T*eX,ro,U enplain-textformaten."䤍13.2%}Tedo_enMDe{Tipsentrucssectieiswatklein.IkhoGophetuittekunnenbreidendoorsuggestiesvqananderen.ZooGokU Aanvullendepackqages.FMeerdebugging/crashherstelinfonoGdig.13.3%}ContributiesMEenU kleindeelvqanLinus'README(kernelhackingopties)isinbGegrepen.q(Bedankt,U Linus!)ؼuc@brian.lunetix.deU (UlrichCallmeier):qpatch-senxargs.quinlan@yggdrasil.comU (DanielQuinlan):qcorrectiesenaanvullingeninvelesecties.nat@nat@nataa.fr.eu.orgU (NatMakqarevitch):qmrpropGer,tar-p,veleanderezakenboldt@math.ucsb.edukR(AxelBoldt):verzameldebGeschrijvingenvqankernelconguratie-optiesophetnet; voGorzagU mevervolgensineenlijstlembark@wrkhors.psyber.comU (SteveLembark):qmultiplebGootU suggestiekbriggs@earwax.pd.uwa.edu.auU (KeithBriggs):qeenaantalcorrectiesensuggesties0_2 ~?G14.8Andereformatenv\|anditdoQcumen>t26ՁVrmcguire@freenet.columbus.oh.usU (RyanMcGuire):qmakeablesaanvullingenؼdumas@excalibur.ibp.frU (EricDumas):qF*ransevertalingsimazaki@ab11.yamanashi.ac.jpU (Y*asutadaShimazaki):qJapansevertalingjjamor@lml.ls.fi.upm.esU (JuanJoseAmorIglesias):qSpaansevertalingmva@sbbs.seU (MartinW*ahlen):qZweedsevertalingjzp1218@stud.u-szeged.huU (ZoltanV*amosi):qHongaarsevertalingbart@mat.uni.torun.plU (BartoszMaruszewski):qPoGolsevertalingdonahue@tiber.nist.govU (MichaelJDonahue):qtypGos,winnaarvqandeslicedbreadcompetitionrms@gnu.ai.mit.eduU (RichardStallman):qvrije*hdoGcumentatieconcept/distributienotitiedak@Pool.Informatik.RWTH-Aachen.DEU (DavidKastrup):qietsoverNFSesr@snark.thyrsus.comU (EricRaymond):qdiverseU juweeltjesDeU mensendiememailzondenmetvragenenproblemenwarenoGokzeerbehulpzaam.#Í13.4%}Copyright-melding,Licentieenaldatso_ortzakenMCopyrightacU ABrianU W*ard,1994-1999.HetM istoGegestaankopienvqandezehandleidingtedistribueren,NopvoGorwaardedatdecopyright-meldingen dezeU pGermissie-meldingopallekopienbehoudenblijft.HetTSistoGegestaangewijzigdeversiesvqandezehandleidingtekopierenentedistribuerenonderdeconditiesvoGor1Lletterlijkkopieren,hWopvoGorwaardedathetafgeleidewerkonderdevoGorwaardenvqaneenpGermissie-meldingU identiekisaandezevermelding.qV*ertalingenvqallenonderdecategoriegewijzigdeversies.Garantie:qGeen.AanbGevelingen:"Commercile-mherdistributieistoegestaanenwordtaangemoedigd;hetwordtechtersterkaangeradenHNdatdeherdistributeurcontactopneemtmetdeauteurvoGordeherdistributie,JinhetbelangvqanzakenJup-to-datetehouden(jezoumeeenkopievqanhetgeenjeaanhetmakenbGenttoGekunnensturenterwijljeermeebGezigbent).]rV*ertalerswordenoGokgeadviseerdomcontactoptenemenmetdeauteurvoGorhetU vertalen.qDeafgedrukteversiezietermoGoieruit.qRecycle.(14%AndereG\formatenvanditdopcumenct:DezesectieisgeschrevendoGorAlDev(opdesite Amirrorsbij,angelr}/e,geocities,virtualaven,50me}/gs,the}/globetǼ,NBCi,T;err}/ashare@,F;ortunecity@,ZF;r}/eewebsitesY|,T;ripodY|, YSpr}/eef,Es-c}/alix,Httpcity,U F;r}/eeservers)Dit7doGcumentisin12verschillendeformatengeschreven,=teweten-DVI,Postscript,=Latex,AdobGe7AcrobatPDF,1LyX,GNU-info,!6HTML,R*TF(RichTextFormat),!6Plain-text,Unix1manpages,!6eenenkelHTMLbGestandU enSGML._2 ~?G14.8Andereformatenv\|anditdoQcumen>t27ՁVJekuntditHOWTOVdoGcumentalseenenkeletarballophaleninHTML,DVI,PostscriptofSGML formatenjvqanaf-ԼenHetgewonetekstformaatistevindenin: zenHetOenkeleHTMLNbGestandsformaatistevindenin:V*ertalingennaaranderetalenzoalsFrans,Duits,Spaans,Chinees,Japaneeszijntevindenin 24(enhPElkeU hulpomnaaranderetalentevertaleniswelkom.ؼHet*_doGcumentisgeschrevenmeteentoGolgenaamd"SGML-T*ools"watkqanwordenopgehaaldvqanafTU V*oGorhetcompilerenvqandesourcegebruikjedevolgendeopdrachtensgml2htmlU Kernel-HOWTO.sgml(voGorhetgenererenvqanhethtmlbGestand)sgml2rtfU Kernel-HOWTO.sgml(voGorhetgenererenvqanhetR*TFbestand)sgml2latexU Kernel-HOWTO.sgml(voGorhetgenererenvqanhetlatexbestand)LaT*eX?doGcumenten@kunnennaarPDFbGestandwordengeconverteerddoGoreenvoudigwegPostscriptuitvoGer te9proGducerenmetbehulpvqansgml2latex(endvips)endeuitvoGerdooralsvolgtdeAcrobatdistill()U opGdrachtuittevoGeren:>ffGbash$?mansgml2latexbash$?sgml2latexfilename.sgmlbash$?mandvipsbash$?dvips-ofilename.psfilename.dvibash$?distillfilename.psbash$?manghostscriptbash$?manps2pdfbash$?ps2pdfinput.psoutput.pdfbash$?acroreadoutput.pdf& &ffGVOf'jekuntgebruikmakenvqandeGhostscriptopGdrachtps2pQdf.Ips2pGdfiseenwork-alikevoGorbijnaallefunctionaliteitevqanAdobGe'sAcrobatDistillerproGduct:@ hetconverteertPostScriptbGestandennaarPortableDoGcument΁F*ormat(PDF)bbestanden.ݤps2pQdfisgemplementeerdalseenzeerkleinopdrachtscript΁(batchle)DdatGhostscriptaanroGept, waarbijheteenspeciaalutputdevice"genaamdpQdfwriteselecteert..V*oorgebruikvqanps2pGdfmoesthetpdfwritedevicezijnopgenomenindemakelewanneerGhostscriptwerdgecompileerd;U ziededoGcumentatieoverhetbGouwenvqanGhostscriptvoGordetails.ؼDitU howtodoGcumentistevindenop:DitU doGcumentisooktevindenopdevolgendemirrorsites:O_2 ~?G14.8Andereformatenv\|anditdoQcumen>t28ՁVAnderemirrorsitesinjebuurt(netwerk-adres-wijsheid)zijntevindenop_tselecteereensiteenganaardedirectory/LDP/HOWTO/Kernel-HOWTO.htmlؼOmhetdoGcumenttebekijkenindviformaat,Ԁgebruikjehetprogrammaxdvi. Hetprogrammaxdviisonder*$RedHatLinuxtevindeninhettetex-xdvi*.rpmpackqagewelkekqanwordengelokqaliseerdviahetmenuControlPanelU jApplicationsjPublishingjT*eX.GeefdevolgendeopGdrachtomhetdvidoGcumenttelezen卑>rxdviN-geometry80x90howto.dvi =>rmanNxdviEnvergroGot/verkleinhetvenstermetdemuis.3 GebruikomtenavigerendePijltjestoGetsen,PageUp,PageDowntoGetsen,tevenskunjegebruikmakenvqandelettertoGetsen'f','d','u','c','l','r','p','n'voGorrespec-tievelijkdnaarbGoven,hnaarbGeneden,centreren,volgendedpagina,vorigedpagina,enz.`Drukde'x'toGetsinomhetU expGertmenuuittezetten.ؼMetnhetprogramma'gv'(ghostview)of'ghostscript'kunjehetpGostscriptbestandlezen.kOnderRedHatishetghostscriptprogrammatevindeninhetghostscript*rpmpackqageenhetprogrammagvinhetgv*rpmpackqageljwattevindenisviahetmenuControlPaneljApplicationsjGraphics.ȺHetprogrammagvisveelgebruikersvriendelijkerqdanghostscript.GhostscriptengvzijnoGokbeschikbaarvoGorandereplatformen,zoalsU OS/2,Windows95enNT.JekuntditdoGcumentzelfsonderdezeplatformenbGekijken.ؼGhostscript6voGorWindows95,OS/2,en6voGoralleanderebesturingssystemenisoptehalenvqanafGeefU deopGdracht卑dgvNhowto.ps =dghostscriptNhowto.psؼomU hetpGostscriptdocumenttekunnenlezen.ؼMetNetscapGeNavigator, MicrosoftInternetexplorer, RedhatBaronW*ebbrowserofeenvqandeandere10webbrowsersU kunjehetdoGcumentinHTMLformaatlezen.DeU uitvoGervqanLyX,delatexuitvoGer,kunjelezenmetLyX,eenX-Windowfrontendnaarlatex.;_2GqL ectt0900!N ecbx1200HЃ ecti1000]f ecbx1000&Lt$ffffecbx14406 ecss1000qL ectt1000Iqqecss2074 1 ecrm1000 !", cmsy10 b> cmmi10,