10. januar 2002 - 11:06Der er
26 kommentarer og 3 løsninger
Boot procedure
Hejsa
Jeg har fået en opgave, hvor jeg skal beskrive boot sekvensen i linux. Lige fra lilo starter til man kan logge ind. Nogen der ved noget omkring dette ?, eller evt en side jeg kan læse noget omkring det ?
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
OK, du mener ikke bare den tidlige del av bootsekvensen med LILO, men hele opplastingen av operativsystemet med systemmoduler, konfigurasjonsfiler og det hele ???!! Faktisk ganske interressant spørsmål ...
>men hele opplastingen av operativsystemet med >systemmoduler, konfigurasjonsfiler og det >hele ???!!
Jeps
Gerne opstillet i punkter
1. BIOS selects the boot device. 2. BIOS loads the bootsector from the boot device. 3. Bootsector loads setup, decompression routines and compressed kernel image.
På følgende link vil du kunne læse lidt om lilo. I Version 7.2 af RedHat er der kommet endnu en bootmanager der hedder \"Grub\", denne kender jeg dog ikke så meget til, men du kunne jo nævne at den findes i din opgave. http://www.sslug.dk/linuxbog/friheden/bog/liloinstall.html
Ellers indlæser Linux efterfølgende kernen, og derefter de forskellige moduler som skal til for at f.eks. lydkort, grafikkort etc. virker. altså alt det som ikke er kompileret ind i kernen.
Herefter indlæses de forskellige services, her kan nævnes firewall, web-server(apache), sendmail, netværksindstillinger etc. Her kunne scriptet for et par enkelte services gennemgåes.
Har gått gjennom en amerikansk bok av Mohamed Kabir og laget følgende punktvise resyme på et oversiktsnivå vedrørende bootsekvensen:
0. PC kjører BIOS program. 1. LILO lastes. 2. Linux kjærnen leses som komprimert fil. Denne dekomprimerer seg selv. 3. Etter at Linux kjærnen har dekomprimert seg selv går den i gang med å: 4. Initiere skjermkort / skjerm. 5. Sjekker annen hardware innenfor PC. 6. Finner hard disken, floppy disk, nettverkskort og annen hardware. 7. Laster nødvendige device driver modules. 8. Kernel (kjærnen) mounter så root file systemet (/) som read only og utfører sjekk på file systemet. 9. Hvis alle ting er i orden mountes root file systemet som read/write.
10. Straks root file systemet er mountet starter kernel et program som heter \"init\". Init har til oppgave å starte alle andre programmer. Når init har kjørt ferdig er boot sekvensen også ferdig. Hva init faktisk skal kjøre i gang kan settes opp i et anntall konfigurasjonsfiler. 11. Det finnes to typer init programmer \"system V - ish\" og \"BSD - ish\". Linux bruker vanligvis system V som kan benytte / styre run levels.
12. Init programmet er det første programmet som lastes og det får derfor prosessnummer 1. 13. Når init starter opp leser den en configurasjonsfil som heter \"/etc/initab\". Man kan åpne og se på initab filen ved hjelp av en tekst editor, for eksempel \"gedit\". 14. Initab filen angir spesielt hvilket run level maskinen skal kjøre default etter oppstart, vanligvis 3, dvs tekst / server eller 5, dvs X-windows. 15. init kjører et script / en batch fil som heter /etc/rc.d/rc.sysinit. Du kan også gå inn å se på denne ved hjelp av tekst editoren.
16. Innenfor en directory som heter /etc/rc.d/init.d så finnes det et anntall scripts som har til oppgave å starte opp de forskjellige prosessene. Man kan for eksempel gå inn med tekst editoren og se på /etc/rc.d/init.d/httpd som starter opp we serveren. (Dette gjør den dog alikevell ikke helt alene.)
17. Når init leser det partameter i /etc/initab filen som angir run level, slik som for eksempel run level 3 dvs text mode eller run level 5 dvs X-windows så kjører den et script med parameter, henholdsvis /etc/rc.d/rc 3 og /etc/rc.d/rc 5. Man kan også se på rc filen ved hjelp av tekst editor.
18. Eksempel, rc scriptet gjør følgende ved oppstart i run level 3: A. Sjekker om det finnes et directory som heter /etc/rc.d/rc3.d Hvis dette eksisterer så skjer steg B. B. /etc/rc.d/rc3.d directory inneholder et anntall script som spesifiserer hvilke services / demoner som skal kjøre ved run level 3. (Gå inn ved hjelp av filbehandling og se på dette directory !). Hver fil i dette directory har ansvar for å starte opp en service / demon og kaller videre opp et tilhørende script i /etc/rc.d/init.d directory. Du kan for eksempel gå inn med tekst editoren og se på filen /etc/rc.d/rc3.d/S85httpd som starter opp httpd altså web serveren i run level 3. Grunnen til at man har delt oppstart scriptene i to på denne måten, det er at man ønsker at prosessene skal kjøre likt i runlevel 3 og runlevel 5, slik at noe av oppstartskriptet gjelder bare for det spesifikke runlevel, mens noe kjører felles. Samtlige scripts i /etc/rc.d/rc3.d kjøres så ferdig.
19. Etter at samtlige scripts i /etc/rc.d/rc3.d directory er kjørt, så kjøres nok et script /etc/rc.d/rc.local Derom du eventuelt ønsker en automatisk oppstart av et brukerprogram, for eksempel web browser eller tekstbehandling så kan du legge en oppstart kommando inn i dette scriptet. Programmet får da automatisk oppstart ved booting av linux. 20. Til sist kjøres scriptet /etc/rc.d/rc.serial Dette scriptet har å gjøre med oppstart / konfigurering av serieportene.
NOTE: under booting så kommer det for de fleste linux variantene opp et ganske stort anntall meldinger under bootsekvensen når de overnente tingene kjøres i gang. Hvis man taster \"Ctrl s\" så stanser man boot sekvensen slik at man kan lese av eller skrive ned meldingene. Ny \"Ctrl s\" får vanligvis bootingen til å kjøre videre, men det hender også at den henger seg opp slik at man må boote på nytt og forfra.
Det var da ellers utrolig vanskelig å finne noe på nettet om dette, noe som beskriver den hele og fulle sammenheng. Finner detaljer her og detaljer der ..
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.