Upload
hector-skinner
View
25
Download
1
Embed Size (px)
DESCRIPTION
INNEHÅLL Uppstartprocessen i Linux Uppstartskript Bootladdare Driftsnivåer Startskript Grub. OPERATIVSYSTEM OCH PRAKTISK LINUX Föreläsning 7 – Vecka 4 2011. Uppstartprocessen i Linux. Att starta en dator är för användaren väldigt enkel.... Förutsatt att systemet fungerar! - PowerPoint PPT Presentation
Citation preview
OPERATIVSYSTEM OCH PRAKTISK LINUXFöreläsning 7 – Vecka 4 2011
INNEHÅLLUppstartprocessen i Linux
UppstartskriptBootladdareDriftsnivåerStartskriptGrub
Uppstartprocessen i Linux
Att starta en dator är för användaren väldigt enkel....
Förutsatt att systemet fungerar!
Det som egentligen händer i datorn när man trycker på ”power” knappen är
väldigt komplicerat!
Processen kallas för boot processen eller bootstrap
Det första som händer är att en instruktion hämtas från adressen FFF:000h
i datorns ROM (denna adress är samma i alla persondatorer!)
Denna instruktion är oftast bara en pekare till den adress i datorns ROM
där den första sekvensen i datorns startrutin finns.
Power On Self Test
Nästa steg är en fas som kallas för POST-fasen.
POST-fasen går ut på att kontrollera att alla delar i datorn fungerar som de
skall
Om ett hårdvarufel upptäcks kommer datorn att stanna i detta skede
Bootladdare
I den första sektorn på hårddisken ligger någonting som kallas Master Boot
Record (MBR)
I MBR lagras en programvara som kallas bootladdare
Det följer ofta med en eller flera bootladdare när man installerar ett
Operativsystem
Den vanligaste bootladdaren till Linux är idag Grub
Den simplaste bootladdaren talar om för datorn var operativsystemets
kärna finns (på vilken enhet och på vilken partition)
Initialisering av Linuxkärnan
Linuxkärnan ligger oftast sparad som en fil någonstans på hårdisken.
Vanligen finns den i katalogen /boot och heter någonting i stil med vmlinuz
Det första kärnan gör är att den tar reda på vilken maskinvara som finns
Tillgänglig
Denna process syns på skärmen i form av en massa ”kryptisk” information
Informationen visar vilken maskinvara som hittats och konfigurerats, ibland
skrivs ut vem som skrivit drivrutinerna etc.
Systemprocesser
När kärnan initialiserats startar den init-processen genom att starta
programmet /sbin/init vilken alltid har processid 1.
Alla andra processer startas sedan av init-processen
När init-processen startar hämtar den indata från konfigurationsfilen
/etc/inittab
I inittab finns inställningar för vad init
inittab
Inställningarna i inittab är formaterade enligt följande modell:
Id-kod:driftsnivå:argument:process
Id-kod: En unik kod som identifierar den aktuella konfigurationsraden
Driftsnivå: 1 = enanvändarläge, 6 = omstart osv..
Argument: talar om vilken händelse som gällerArgument Händelse
Ctrlaltdel Hur operativsystemet skall reagera på ctrl + alt + del
Initdefault Anger vilken driftsnivå som skall användas
Once Init startar processen vid byte av driftsnivå
Respawn startar om ett kommando när det avslutas
Sysinit Init kör kommandot under bootprocessen
Wait Init väntar på att kommandot har avslutats
inittab
Processfältet innehåller den process som skall startas när händelsen
inträffar.
Exempel:
Ca::ctrlaltdel:/sbin/shutdown –t3 –r now
Betyder att när ctrl + alt + del nedtrycks utförs kommandot
/sbin/shutdown –t3 –r now vilket stänger av datorn efter 3 sekunder.
Efter uppstart kontrollerar m.a.o. init-processen hela tiden om denna
händelse inträffar och om den inträffar utförs kommandot
Driftsnivå (Runlevel)
När Linuxsystemet startat alla grundläggande tjänster, dvs. När det kommit
så långt i uppstartprocessen att det är användbart, är det dags att välja
vilken driftsnivå som operativsystemet skall startas upp i
Det är specificerat i filen /etc/inittab vilken driftsnivå som skall användas när
datorn startas vid ”normal” uppstart
Det är möjligt att starta datorn i en annan driftsnivå om man anger
driftsnivåns nummer som argument till kerneln vid uppstart (eller inifrån
bootladdaren)
På detta vis kan man skapa flera bootval som startar datorn i olika
driftsnivåer
Driftsnivå (Runlevel)
Fördefinierade driftsnivåer samt syften:
Driftsnåvi Betydelse
0 Halt; stannar datorn!
1 Enanvändarläge
2 Fleranvändarläge utan nätverk (NFS)
3 Fleranvändarläge med nätverk (NFS)
4 Används inte
5 Startar fönsterhanteraren X-windows
6 Omstart
Driftsnivå (Runlevel)
Vanligast är att arbetsstationer använder driftsnivå 5 och att servrar
använder driftsnivå 3
Detta p.g.a. att personer som sitter och arbetar framför datorn vill använda
sig av ett grafiskt användargränssnitt, samtidigt som det är onödigt att ha
ett grafiskt användargränssnitt igång på en server som oftast inte ens har
en monitor inkopplad
Startskript
Efter att initprocessen startats, exekverar den en massa startskript
Startskripten är vanliga shellskript som oftast exekveras i Bourne shell (sh)
eller Bourne again shell (Bash)
Vanliga uppgifter som utförs av shellskript: Sätta upp nätverksinställningar Initialisera demonter Utföra allehanda andra uppgifter
Skriver oftast ut information som talar om att de körs och resultatet av
körningen
Startskript
Det fins åtta stycken startskriptkataloger som används vid uppstart
Dessa kataloger är alla placerade i katalogen /etc och heter: init.d rc0.d .. rc6.d
Siffrorna 0 – 6 representerar driftsnivån
När en dator startas upp i en viss dritfsnivå körs de skript som finns i den
katalog som motsvarar driftsnivånummern
Startskript
Alla startskript bör vara placerade i katalogen /etc/init.d
Sedan har dessa startskript symboliska länkar till driftsnivåkatalogerna
Ett startskript kan anropas med en flagga, det skall t.ex. Alltid vara möjligt
att ange flaggorna start och stop till ett startskript
Länkarna i rc?.d-katalogerna namnges i enlighet med en speciell
namnstandard:
S eller K, tvåsiffrigt nummer, och namnet som det egentliga skriptet
har i katalogen /etc/init.d
Skripten körs i nummerordning från 01 – 99.
Enanvändarläge (single-user)
Samma sak som driftsnivå 1
Är ett administrationsläge som används för att ändra på den grundläggande
konfigurationen
Denna driftsnivå behövs för att vissa saker bör göras när alla andra tjänster
är avstängda, t.ex: Reparation av filsystem Konfiguration av vissa startskript Återställning av lösenordet för root
Enanvändarläge (single-user)
Det finns två sätt att komma in i enanvändarläge: Skriver ”init 1” på terminalen Startar om datorn och vid bootprompten skriver in namnet på
startalternativet följt med ordet ”single” eller en etta (1)
Om man startar upp en dator i enanvändarläge kommer endast
rotfilsystmet (/) att monteras
Grub
Är den vanligaste bootladdaren i Linux i dagens läge
Bootladdarens körs igång innan själva operativsystmet
Bootladdarens egentliga uppgift är att hålla ordning på vilken av flera
alternativa operativsysteminstallationer som skall startas
Konfiturationsfilen för grub heter oftast grub.conf och var den finns varierar
beroende på linuxdistribution
Grub: Bootparametrar
Det finns vissa parametrar som kan skickas till Linuxkärnan vid uppstart.
Denna funktion finns för att det skall gå att ha en operativsystemkärna med
standardinställningar, men med flera startalternativ.
Olika startalternativ kan vara användbara vid t.ex. Felsökning eller vid
installation av ny maskinvara