101.2 Lekcija 1
Sertifikat: |
LPIC-1 |
---|---|
Verzija: |
5.0 |
Tema: |
101 Arhitektura sistema |
Cilj: |
101.2 Butanje sistema |
Lekcija: |
1 od 1 |
Uvod
Da bi se kontrolisala mašina, glavna komponenta operativnog sistema — kernel — mora biti učitana pomoću programa koji se zove bootloader, koji se sam učitava unapred instaliranim firmverom kao što je BIOS ili UEFI. Bootloader se može prilagoditi tako da prosljeđuje parametre kernelu, kao što je to koja particija sadrži korijenski sistem datoteka ili u kojem režimu operativni sistem treba da se izvršava. Jednom učitano kernel nastavlja proces pokretanja identifikacije i konfiguracije hardvera. Na kraju, kernel poziva uslužni program koji je odgovoran za pokretanje i upravljanje sistemskim uslugama.
Note
|
Na nekim Linux distribucijama, komande koje se izvršavaju u ovoj lekciji mogu zahtijevati root privilegije. |
BIOS ili UEFI
Procedure koje izvršavaju x86 mašine za pokretanje bootloadera razlikuju se bez obzira da li koriste BIOS ili UEFI. BIOS, skraćenica od Basic Input/Output System, je program pohranjen u nepostojani memorijski čip priključen na matičnu ploču, a izvršava se svaki put kada se računar uključi. Ovaj tip programa se zove firmware i njegova lokacija za pohranu je odvojena od ostalih uređaja za pohranu koji sistem može imati. BIOS pretpostavlja da je prvih 440 bajtova u prvom uređaju za skladištenje — slijedeći redoslijed definisan u uslužnom programu za konfiguraciju BIOS-a — prva faza bootloadera (koji se naziva i bootstrap). Prvih 512 bajtova uređaja za skladištenje naziva se MBR (Master Boot Record) uređaji za skladištenje koji koriste standardnu DOS šemu particije i, pored prve faze bootloadera, sadrže tabelu particiju. Ako MBR ne sadrži ispravne podatke, sistem se neće moći pokrenuti osim ako ne koristi alternativni metod.
Uopšteno govoreći, koraci prije rada za pokretanje sistema opremljenog BIOS-om su:
-
POST (power-on self-test) proces se izvršava kako bi se identificirali jednostavni hardverski kvarovi čim se mašina uključi.
-
BIOS aktivira osnovne komponente za učitavanje sistema, poput video izlaza, tastature i medija za skladištenje podataka.
-
BIOS učitava prvu fazu bootloadera iz MBR-a (prvih 440 bajtova prvog uređaja, kako je definisano u uslužnom programu za konfiguraciju BIOS-a).
-
Prva faza bootloadera poziva drugu fazu bootloadera, odgovornu za predstavljanje opcija pokretanja i učitavanje kernela.
UEFI, skraćenica za Unified Extensible Firmware Interface, razlikuje se od BIOS-a u nekim ključnim tačkama. Kao BIOS, UEFI je takođe firmver, ali može da identifikuje particije i čita mnoge sisteme datoteka koji se nalaze u njima. UEFI se ne oslanja na MBR, uzimajući u obzir samo postavke pohranjene u njegovoj nepromjenjivoj memoriji (NVRAM) priključenoj na matičnu ploču. Ove definicije ukazuju na lokaciju UEFI kompatibilnih programa, nazvanih EFI aplikacije, koji će se automatski izvršavati ili pozivati iz menija za pokretanje. EFI aplikacije mogu biti bootloaderi sistema, birači operativnog sistema, alati za dijagnostiku i popravku sistema, itd. Moraju biti na konvencionalnoj particiji uređaja za skladištenje i u kompatibilnom sistemu datoteka. Standardni kompatibilni sistemi datoteka su FAT12, FAT16 i FAT32 za blok uređaje i ISO-9660 za optičke medije. Ovaj pristup omogućava implementaciju mnogo sofisticiranijih alata od onih mogućih s BIOS-om.
Particija koja sadrži EFI aplikacije naziva se EFI sistemska particija ili samo ESP. Ova particija se ne smije dijeliti s drugim sistemskim datotečnim sistemima, kao što je korijenski sistem datoteka ili sistem datoteka podataka korisnika. EFI direktorij u ESP particiji sadrži aplikacije na koje ukazuju unosi sačuvani u NVRAM-u.
Uopšteno govoreći, koraci za pokretanje prije operativnog sistema sa UEFI su:
-
POST (power-on self-test) proces se izvršava kako bi se identificirali jednostavni hardverski kvarovi čim se mašina uključi.
-
UEFI aktivira osnovne komponente za učitavanje sistema, kao što su video izlaz, tastatura i medij za skladištenje.
-
UEFI-jev firmver čita definicije pohranjene u NVRAM-u kako bi izvršio unaprijed definiranu EFI aplikaciju pohranjenu u sistemu datoteka ESP particije. Obično je unaprijed definirana EFI aplikacija bootloader.
-
Ako je unaprijed definirana EFI aplikacija bootloader, ona će učitati kernel za pokretanje operativnog sistema.
UEFI standard takođe podržava funkciju pod nazivom Secure Boot, koja dozvoljava samo izvršavanje potpisanih EFI aplikacija, odnosno EFI aplikacija koje je odobrio proizvođač hardvera. Ova funkcija povećava zaštitu od zlonamjernog softvera, ali može otežati instaliranje operativnih sistema koji nisu pokriveni garancijom proizvođača.
Bootloader
Najpopularniji bootloader za Linux u x86 arhitekturi je GRUB (Grand Unified Bootloader). Čim ga pozove BIOS ili UEFI, GRUB prikazuje listu operativnih sistema dostupnih za pokretanje. Ponekad se lista ne pojavljuje automatski, ali se može pozvati pritiskom na Shift dok BIOS poziva GRUB. U UEFI sistemima umjesto toga treba koristiti ključ Esc.
Iz GRUB menija moguće je izabrati koji od instaliranih kernela treba učitati i prenijeti mu nove parametre. Većina parametara kernela prati obrazac option=value
. Neki od najkorisnijih parametara kernela su:
acpi
-
Omogućava/onemogućava ACPI podršku.
acpi=off
će onemogućiti podršku za ACPI. init
-
Postavlja alternativni bootloader sistema. Na primjer,
init=/bin/bash
će postaviti Bash šel kao inicijatora. To znači da će sesija šela početi odmah nakon procesa pokretanja kernela. systemd.unit
-
Postavlja systemd target da se aktivira. Na primjer,
systemd.unit=graphical.target
. Systemd također prihvaća numeričke razine pokretanja kako je definirano za SysV. Za aktiviranje razine pokretanja 1, na primjer, potrebno je samo uključiti broj1
ili slovoS
(skraćeno od “single”) kao parametar kernela. mem
-
Postavlja količinu dostupnog RAM-a za sistem. Ovaj parametar je koristan za virtuelne mašine kako bi se ograničilo koliko će RAM-a biti dostupno svakom gostu. Korištenje
mem=512M
će ograničiti na 512 megabajta količinu dostupnog RAM-a određenom sistemu za goste. maxcpus
-
Ograničava broj procesora (ili procesorskih jezgara) vidljivih sistemu u simetričnim višeprocesorskim mašinama. Koristan je i za virtuelne mašine. Vrijednost
0
isključuje podršku za višeprocesorske mašine i ima isti učinak kao parametar kernelanosmp
. Parametarmaxcpus=2
će ograničiti broj procesora dostupnih operativnom sistemu na dva. quiet
-
Sakriva većinu poruka o pokretanju.
vga
-
Odabire video način rada. Parametar
vga=ask
će prikazati listu dostupnih načina za odabir. root
-
Postavlja root particiju, različitu od one koja je prethodno konfigurisana u bootloaderu. Na primjer,
root=/dev/sda3
. rootflags
-
Opcije montiranja za root sistem datoteka.
ro
-
Čini početno montiranje root sistema datoteka samo za čitanje.
rw
-
Dozvoljava upisivanje u root sistem datoteka tokom početnog montiranja.
Promjena parametara kernela obično nije potrebna, ali može biti korisna za otkrivanje i rješavanje problema povezanih s operativnim sistemom. Parametri kernela moraju biti dodati datoteci /etc/default/grub
u redu ili liniju GRUB_CMDLINE_LINUX
da bi bili trajni tijekom ponovnog pokretanja. Nova konfiguraciona datoteka za bootloader mora se generirati svaki put kada se promijeni /etc/default/grub
, što se postiže komandom grub-mkconfig -o /boot/grub/grub.cfg
. Kada se operativni sistem pokrene, parametri kernela koji se koriste za učitavanje trenutne sesije, dostupni su za čitanje u datoteci /proc/cmdline
.
Note
|
O konfigurisanju GRUB-a će se dalje govoriti u kasnijoj lekciji. |
Inicijalizacija sistema
Osim kernela, operativni sistem zavisi i od drugih komponenti koje pružaju očekivane karakteristike. Mnoge od ovih komponenti se učitavaju tokom procesa inicijalizacije sistema, varirajući od jednostavnih šel skripti do složenijih servisnih programa. Skripte se često koriste za obavljanje kratkotrajnih zadataka koji će se pokrenuti i završiti tokom procesa inicijalizacije sistema. Usluge, poznate i kao daemoni, mogu biti aktivne cijelo vrijeme jer mogu biti odgovorne za suštinske aspekte operativnog sistema.
Raznolikost načina na koje se startup skripte i demoni sa najrazličitijim karakteristikama mogu ugraditi u Linux distribuciju je ogromna, činjenica koja je historijski ometala razvoj jedinstvenog rješenja koje ispunjava očekivanja održavatelja i korisnika svih Linux distribucija. Međutim, bilo koji alat koji su održavaoci distribucije odabrali za obavljanje ove funkcije barem će moći pokrenuti, zaustaviti i ponovno pokrenuti sistemske usluge. Ove radnje često izvodi sam sistem nakon ažuriranja softvera, na primjer, ali administrator sistema će skoro uvijek morati ručno ponovo pokrenuti uslugu nakon što izvrši izmjene u konfiguracijskoj datoteci.
Takođe je zgodno da administrator sistema može da aktivira određeni skup demona, u zavisnosti od okolnosti. Trebalo bi biti moguće, na primjer, pokrenuti samo minimalni skup usluga kako bi se izvršili zadaci održavanja sistema.
Note
|
Strogo govoreći, operativni sistem je samo kernel i njegove komponente koje kontrolišu hardver i upravljaju svim procesima. Uobičajeno je, međutim, da se termin “operativni sistem” koristi labavije, da se označi čitava grupa različitih programa koji čine softversko okruženje u kojem korisnik može obavljati osnovne računske zadatke. |
Inicijalizacija operativnog sistema počinje kada bootloader učita kernel u RAM. Zatim će kernel preuzeti kontrolu nad CPU-om i početi da otkriva i postavlja osnovne aspekte operativnog sistema, kao što su osnovna hardverska konfiguracija i memorijsko adresiranje.
Kernel će tada otvoriti initramfs (inicijalni RAM sistem datoteka). Initramfs je arhiva koja sadrži sistem datoteka koji se koristi kao privremeni root sistem datoteka tokom procesa pokretanja. Glavna svrha initramfs datoteke je da obezbijedi potrebne module kako bi kernel mogao pristupiti “stvarnoml” root sistemu datoteka operativnog sistema.
Čim root sistem datoteka bude dostupan, kernel će montirati sve datotečne sisteme konfigurirane u /etc/fstab
, a zatim će izvršiti prvi program, uslužni program pod nazivom init
. Program init
je odgovoran za pokretanje svih inicijalizacijskih skripti i sistemskih daemona. Postoje različite implementacije takvih sistemskih bootloadera osim tradicionalnog pokretanja, kao što su systemd i Upstart. Kada se init program učita, initramfs se uklanja iz RAM-a.
- SysV standard
-
Servisni menadžer zasnovan na SysVinit standardu kontroliše koji će daemoni i resursi biti dostupni korišćenjem koncepta runlevels. Nivoi pokretanja su označeni brojevima od 0 do 6 i dizajnirani su od strane održavatelja ili developera distribucije da ispune specifične svrhe. Jedine definicije nivoa pokretanja koje dijele sve distribucije su nivoi pokretanja 0, 1 i 6.
- systemd
-
systemd je moderan menadžer sistema i usluga sa slojem kompatibilnosti za SysV komande i nivoe pokretanja. systemd ima konkurentnu strukturu, koristi sokete i D-Bus za aktivaciju usluge, izvršavanje daemona na zahtjev, praćenje procesa sa cgroups, podršku za brze snimke, oporavak sistemske sesije, kontrolu tačke montiranja (eng. mount point control) i kontrolu usluge zasnovanu na zavisnosti. Poslednjih godina većina glavnih distribucija Linuxa postepeno je usvojila systemd kao podrazumjevani sistemski menadžer.
- Upstart
-
Kao i systemd, Upstart je zamjena za init. Fokus Upstarta je da ubrza proces pokretanja paralelizacijom procesa učitavanja sistemskih usluga. Upstart su koristile distribucije zasnovane na Ubuntuu u prošlim izdanjima, ali je danas ustupio mjesto systemd-u.
Inspekcija inicijalizacije
Greške se mogu pojaviti tokom procesa pokretanja, ali one možda nisu toliko kritične da u potpunosti zaustave operativni sistem. Bez obzira na to, ove greške mogu ugroziti očekivano ponašanje sistema. Sve greške rezultiraju porukama koje se mogu koristiti za buduća istraživanja, jer sadrže vrijedne informacije o tome kada i kako je došlo do greške. Čak i kada se ne generišu poruke o grešci, informacije prikupljene tokom procesa pokretanja mogu biti korisne za podešavanje i konfigurisanje.
Memorijski prostor u kojem kernel pohranjuje svoje poruke, uključujući poruke o pokretanju, naziva se kernel ring buffer ili prstenasti kernel bufer. Poruke se čuvaju u baferu prstena kernela čak i kada nisu prikazane tokom procesa inicijalizacije, kao kada se umjesto toga prikazuje animacija. Međutim, bafer prstena kernela gubi sve poruke kada se sistem isključi ili izvršavanjem komande dmesg --clear
. Bez opcija, komanda dmesg
prikazuje trenutne poruke u baferu prstena kernela:
$ dmesg [ 5.262389] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null) [ 5.449712] ip_tables: (C) 2000-2006 Netfilter Core Team [ 5.460286] systemd[1]: systemd 237 running in system mode. [ 5.480138] systemd[1]: Detected architecture x86-64. [ 5.481767] systemd[1]: Set hostname to <torre>. [ 5.636607] systemd[1]: Reached target User and Group Name Lookups. [ 5.636866] systemd[1]: Created slice System Slice. [ 5.637000] systemd[1]: Listening on Journal Audit Socket. [ 5.637085] systemd[1]: Listening on Journal Socket. [ 5.637827] systemd[1]: Mounting POSIX Message Queue File System... [ 5.638639] systemd[1]: Started Read required files in advance. [ 5.641661] systemd[1]: Starting Load Kernel Modules... [ 5.661672] EXT4-fs (sda1): re-mounted. Opts: errors=remount-ro [ 5.694322] lp: driver loaded but no devices found [ 5.702609] ppdev: user-space parallel port driver [ 5.705384] parport_pc 00:02: reported by Plug and Play ACPI [ 5.705468] parport0: PC-style at 0x378 (0x778), irq 7, dma 3 [PCSPP,TRISTATE,COMPAT,EPP,ECP,DMA] [ 5.800146] lp0: using parport0 (interrupt-driven). [ 5.897421] systemd-journald[352]: Received request to flush runtime journal from PID 1
Izlaz dmesg
može biti dugačak stotine redova, tako da prethodni list sadrži samo izvod koji prikazuje kernel, koji poziva systemd servis menadžer. Vrijednosti na početku redova su količina sekundi u odnosu na početak učitavanja kernela.
U sistemima baziranim na systemd-u, komanda journalctl
će prikazati inicijalizacijske poruke s opcijama -b
, --boot
, -k
ili --dmesg
. Komanda journalctl --list-boots
prikazuje listu brojeva pokretanja u odnosu na trenutno pokretanje, njihov identifikacijski hash i vremenske oznake prve i posljednje odgovarajuće poruke:
$ journalctl --list-boots -4 9e5b3eb4952845208b841ad4dbefa1a6 Thu 2019-10-03 13:39:23 -03—Thu 2019-10-03 13:40:30 -03 -3 9e3d79955535430aa43baa17758f40fa Thu 2019-10-03 13:41:15 -03—Thu 2019-10-03 14:56:19 -03 -2 17672d8851694e6c9bb102df7355452c Thu 2019-10-03 14:56:57 -03—Thu 2019-10-03 19:27:16 -03 -1 55c0d9439bfb4e85a20a62776d0dbb4d Thu 2019-10-03 19:27:53 -03—Fri 2019-10-04 00:28:47 -03 0 08fbbebd9f964a74b8a02bb27b200622 Fri 2019-10-04 00:31:01 -03—Fri 2019-10-04 10:17:01 -03
Prethodni zapisnici ili logovi inicijalizacije se također čuvaju u sistemima baziranim na systemd-u, tako da se poruke iz prethodnih sesija operativnog sistema i dalje mogu pregledati. Ako su dostupne opcije -b 0
ili --boot=0
, tada će se prikazati poruke za trenutno pokretanje. Opcije -b -1
ili --boot=-1
će prikazati poruke iz prethodne inicijalizacije. Opcije -b -2
ili --boot=-2
će prikazati poruke od inicijalizacije prije toga i tako dalje. Sljedeći odlomak pokazuje kako kernel poziva systemd servis menadžer za posljednji proces inicijalizacije:
$ journalctl -b 0 oct 04 00:31:01 ubuntu-host kernel: EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null) oct 04 00:31:01 ubuntu-host kernel: ip_tables: (C) 2000-2006 Netfilter Core Team oct 04 00:31:01 ubuntu-host systemd[1]: systemd 237 running in system mode. oct 04 00:31:01 ubuntu-host systemd[1]: Detected architecture x86-64. oct 04 00:31:01 ubuntu-host systemd[1]: Set hostname to <torre>. oct 04 00:31:01 ubuntu-host systemd[1]: Reached target User and Group Name Lookups. oct 04 00:31:01 ubuntu-host systemd[1]: Created slice System Slice. oct 04 00:31:01 ubuntu-host systemd[1]: Listening on Journal Audit Socket. oct 04 00:31:01 ubuntu-host systemd[1]: Listening on Journal Socket. oct 04 00:31:01 ubuntu-host systemd[1]: Mounting POSIX Message Queue File System... oct 04 00:31:01 ubuntu-host systemd[1]: Started Read required files in advance. oct 04 00:31:01 ubuntu-host systemd[1]: Starting Load Kernel Modules... oct 04 00:31:01 ubuntu-host kernel: EXT4-fs (sda1): re-mounted. Opts: commit=300,barrier=0,errors=remount-ro oct 04 00:31:01 ubuntu-host kernel: lp: driver loaded but no devices found oct 04 00:31:01 ubuntu-host kernel: ppdev: user-space parallel port driver oct 04 00:31:01 ubuntu-host kernel: parport_pc 00:02: reported by Plug and Play ACPI oct 04 00:31:01 ubuntu-host kernel: parport0: PC-style at 0x378 (0x778), irq 7, dma 3 [PCSPP,TRISTATE,COMPAT,EPP,ECP,DMA] oct 04 00:31:01 ubuntu-host kernel: lp0: using parport0 (interrupt-driven). oct 04 00:31:01 ubuntu-host systemd-journald[352]: Journal started oct 04 00:31:01 ubuntu-host systemd-journald[352]: Runtime journal (/run/log/journal/abb765408f3741ae9519ab3b96063a15) is 4.9M, max 39.4M, 34.5M free. oct 04 00:31:01 ubuntu-host systemd-modules-load[335]: Inserted module 'lp' oct 04 00:31:01 ubuntu-host systemd-modules-load[335]: Inserted module 'ppdev' oct 04 00:31:01 ubuntu-host systemd-modules-load[335]: Inserted module 'parport_pc' oct 04 00:31:01 ubuntu-host systemd[1]: Starting Flush Journal to Persistent Storage...
Inicijalizacijske i druge poruke koje izdaje operativni sistem pohranjuju se u datoteke unutar direktorija /var/log/
. Ako se dogodi kritična greška i operativni sistem nije u mogućnosti da nastavi proces inicijalizacije nakon učitavanja kernela i initramfs-a, može se koristiti alternativni medij za pokretanje sistema i pristup odgovarajućem sistemu datoteka. Zatim se fajlovi pod /var/log/
mogu pretraživati za moguće razloge koji uzrokuju prekid procesa pokretanja. Opcije -D
ili --direktorij
komande journalctl
se mogu koristiti za čitanje poruka dnevnika u direktorijima drugačijim od /var/log/journal/
, što je zadana lokacija za systemd dnevnik ili log poruke. Kako sistemske dnevnik poruke nisu pohranjene u sirovom tekstu, potrebna je komanda journalctl
da ih pročita.
Vođene vježbe
-
Na mašini opremljenoj BIOS firmverom, gde se nalazi bootstrap binarni fajl?
-
UEFI firmver podržava proširene funkcije koje pružaju eksterni programi, zvane EFI aplikacije. Ove aplikacije, međutim, imaju svoju posebnu lokaciju. Gdje bi se na sistemu nalazile EFI aplikacije?
-
Bootloaderi dozvoljavaju prolazak prilagođenih parametara kernela prije nego što ga učitaju. Pretpostavimo da se sistem ne može pokrenuti zbog pogrešno informisane lokacije root sistema datoteka. Kako bi ispravan root fajl sistem, koji se nalazi na
/dev/sda3
, bio dat kao parametar kernelu? -
Proces pokretanja Linux mašine završava sa sljedećom porukom:
ALERT! /dev/sda3 does not exist. Dropping to a shell!
Šta je mogući uzrok ovog problema?
Istraživačke vježbe
-
Bootloader će prikazati listu operativnih sistema koje možete izabrati kada je više od jednog operativnog sistema instalirano na mašini. Međutim, novoinstalirani operativni sistem može prepisati MBR hard diska, brišući prvu fazu bootloadera i čineći drugi operativni sistem nedostupnim. Zašto se to ne bi dogodilo na mašini opremljenoj UEFI firmverom?
-
Koja je uobičajena posljedica instaliranja prilagođenog kernela bez pružanja odgovarajuće initramfs datoteke?
-
Dnevnik inicijalizacije je dugačak stotine redova, tako da se izlaz komande
dmesg
često prenosi u komandu pejdžera — kao komandaless
— da bi se olakšalo čitanje. Koja opcijadmesg
će automatski paginirati svoj izlaz, eliminirajući potrebu da se eksplicitno koristi komanda pejdžera? -
Hard disk koji sadrži cijeli sistem datoteka van mrežne mašine je uklonjen i priključen na radnu mašinu kao sekundarni disk. Pod pretpostavkom da je njegova tačka montiranja
/mnt/hd
, kako bi sejournalctl
koristio za pregled sadržaja datoteka dnevnika koji se nalaze na/mnt/hd/var/log/journal/
?
Sažetak
Ova lekcija pokriva sekvencu pokretanja u standardnom Linux sistemu. Pravilno znanje o tome kako funkcionira proces pokretanja Linux sistema pomaže u sprječavanju grešaka koje mogu učiniti sistem nedostupnim. Lekcija prolazi kroz sljedeća tematska područja ili cjeline:
-
Kako se razlikuju metode pokretanja BIOS-a i UEFI-ja.
-
Tipične faze inicijalizacije sistema.
-
Oporavak boot poruka.
Komane i procedure koje su korištene:
-
Česti kernel parametri
-
Komande za čitanje boot poruka:
dmesg
ijournalctl
.
Odgovor na vođene vježbe
-
Na mašini opremljenoj BIOS firmverom, gde se nalazi bootstrap binarni fajl?
U MBR-u prvog uređaja za skladištenje, kako je definirano u uslužnom programu za konfiguraciju BIOS-a.
-
UEFI firmver podržava proširene funkcije koje pružaju eksterni programi, zvane EFI aplikacije. Ove aplikacije, međutim, imaju svoju posebnu lokaciju. Gdje bi se na sistemu nalazile EFI aplikacije?
EFI aplikacije su pohranjene u EFI sistemskoj particiji (ESP), smještenoj na bilo kojem dostupnom bloku za pohranu s kompatibilnim sistemom datoteka (obično FAT32 sistem datoteka).
-
Bootloaderi dozvoljavaju prolazak prilagođenih parametara kernela prije nego što ga učitaju. Pretpostavimo da se sistem ne može pokrenuti zbog pogrešno informisane lokacije root sistema datoteka. Kako bi ispravan root fajl sistem, koji se nalazi na
/dev/sda3
, bio dat kao parametar kernelu?`root` parametar bi se koristio kao `root=/dev/sda3`.
-
Proces pokretanja Linux mašine završava sa sljedećom porukom:
ALERT! /dev/sda3 does not exist. Dropping to a shell!
Šta je mogući uzrok ovog problema?
Kernel nije mogao pronaći uređaj
/dev/sda3
, naveden kao root sistem datoteka.
Odgovori na istraživačke vježbe
-
Bootloader će prikazati listu operativnih sistema koje možete izabrati kada je više od jednog operativnog sistema instalirano na mašini. Međutim, novoinstalirani operativni sistem može prepisati MBR hard diska, brišući prvu fazu bootloadera i čineći drugi operativni sistem nedostupnim. Zašto se to ne bi dogodilo na mašini opremljenoj UEFI firmverom?
UEFI mašine ne koriste hard disk MBR za skladištenje prve faze bootloadera.
-
Koja je uobičajena posljedica instaliranja prilagođenog kernela bez pružanja odgovarajuće initramfs datoteke?
Root sistem datoteka može biti nedostupan ako je njegov tip preveden kao vanjski modul kernela.
-
Dnevnik inicijalizacije je dugačak stotine redova, tako da se izlaz komande
dmesg
često prenosi u komandu pejdžera — kao komandaless
— da bi se olakšalo čitanje. Koja opcijadmesg
će automatski paginirati svoj izlaz, eliminirajući potrebu da se eksplicitno koristi komanda pejdžera?Komande
dmesg -H
ilidmesg --human
će omogući pejdžer po defaultu. -
Hard disk koji sadrži cijeli sistem datoteka van mrežne mašine je uklonjen i priključen na radnu mašinu kao sekundarni disk. Pod pretpostavkom da je njegova tačka montiranja
/mnt/hd
, kako bi sejournalctl
koristio za pregled sadržaja datoteka dnevnika koji se nalaze na/mnt/hd/var/log/journal/
?Sa komandama
journalctl -D /mnt/hd/var/log/journal
ilijournalctl --directory=/mnt/hd/var/log/journal