Professional Documents
Culture Documents
Boot
Boot
< Linux
Boot
Szerző: Sallai András
Copyright © Sallai András, 2011, 2013, 2017
Licenc: GNU Free Documentation License 1.3
Web: http://szit.hu
Bevezetés
Boot folyamatok
A gép bekapcsolása után a memória üres, a processzor alapállapotba kerül. A végrehajtást a gép
BIOS-a számára adja át, amelynek címe:
0xFFFF FFF0
A kernel betöltése után szükségünk van egy rendszerpartícióra. Ha fájlrendszer meghajtója modulként
van fordítva, akkor ez a rendszerpartíció közvetlenül nem csatolható. A megoldás egy initrd nevű
képfájl és a linuxrc script vagy bináris használata jelenti. Ezek segítségével felcsatolható a valódi
rendszerpartíció, ahol elindul a systemd. A Debian 9 rendszeren ez valójában még mindig egy init
folyamat, de már a systemd része. A CentOS 7-en már konkrétan a systemd nevű démon indul.
A rendszer a SysVinit korában úgynevezett futási szinteket tartalmazott. Minden futási szinten más-
más szolgáltatás, indult, állt le. A Systemd rendszerben a számokat nevek váltják le, amelyeket nem
SzitWiki - https://szit.hu/
Last update: 2017/10/02 20:22 oktatas:linux:boot https://szit.hu/doku.php?id=oktatas:linux:boot
A systemd
A systemd tulajdonságai:
Az induló rendszeren a systemd kapja a 1-es PID-et. A Debian ps ax kimenete megtéveszthet minket,
mert létezik a /sbin/init, ami valójában egy szimbolikus link a /lib/sysmtemd/systemd állományra.
Minden unit egy önálló konfigurációs fájlban van definiálva. A unit fájlok kiterjesztése mutatja annak
típusát. A unitok a /lib/systemd/system könyvtárban találhatók. Ha egy azonos nevű fájl létezik a
/etc/systemd/system könyvtárban, akkor a systemd figyelmen kívül hagyja a /lib/systemd/system
könyvtárban lévőt. A rendszergazda a /etc/systemd/system könyvtárban elhelyezett fájlokkal szabja
testre a rendszert. Egyes unitokat a systemd úgy állít elő, hogy a fájlrendszerben nem tartozik hozzá
állomány.
A systemd minden szolgáltatást egy erre a célra kijelölt vezérlőcsoportba (cgroup) helyez. A modern
kernelek támogatják az erőforrások csoportok alapján történő elosztását.
Függelék
runlevel
Az eredmény például:
N 2
Az eredményben az előző futási szint is megjelenik. Ha az előző „N”, akkor nem volt még más futási
szint.
Minden futási szintnek van egy könyvtára, ahova scripteket linkelünk be szimbolikusan. Ezek a
scriptek lefutnak az adott futási szintre lépéskor.
/etc/rc0.d
/etc/rc1.d
/etc/rc2.d
/etc/rc3.d
/etc/rc4.d
/etc/rc5.d
/etc/rc6.d
/etc/rcS.d
Mint azt fentebb említettük ide nem szokás állományokat másolni, ide csak linkelünk. Az egyes
szolgáltatások scriptjei a következő könyvtárban szokás elhelyezni:
/etc/init.d/
Ha belenézünk rc0.d, stb, könyvtárba, azt látjuk, hogy minden link egy S vagy K betűvel kezdődik,
majd egy kétjegyű szám követi. Az S karaktert akkor használjuk, ha azt szeretnék, hogy az adott
futási szintre lépre az adott szolgáltatás elinduljon. A K betűt pedig akkor használjuk, ha leakarjuk
állítani a szolgáltatást. A számok prioritást határoznak meg. Amely linknek kisebb a száma, az a
szolgáltatás előbb indul.
/etc/rc.local
Ha szeretnénk egy scriptet induláskor lefuttatni, akkor két lehetőségünk van. A legegyszerűbb ha
/etc/rc.local fájlban felveszem, útvonalastul, mindenestül, mivel ez minden többfelhasználós futási
szinten (2, 3, 4, 5) lefut.
SzitWiki - https://szit.hu/
Last update: 2017/10/02 20:22 oktatas:linux:boot https://szit.hu/doku.php?id=oktatas:linux:boot
A másik lehetőség, hogy beteszem egy futás szintre. Másoljuk a scriptet a következő könyvtárba:
/etc/init.d
/root/bin/sajat.sh
cp /root/bin/sajat.sh
update-rc.d sajat.sh defaults
/etc/init.d/skeleton
Ezen fájl alapján készítsük el a script fejlécét a BEGIN INIT INFO és END INIT INFO közötti rész
scriptünkbe másolásával, átírásával.
Olvasni valók:
man update-rc.d
man insserv
Linkek
https://wiki.debian.org/systemd
http://www.thegeekstuff.com/2011/02/linux-boot-process/
http://unixlinux.tmit.bme.hu/A_bootfolyamat
http://oldfield.wattle.id.au/luv/boot.html
http://milindchoudhary.wordpress.com/2009/03/30/linux-boot-process/
http://en.wikipedia.org/wiki/Linux_startup_process
http://lateral.netmanagers.com.ar/stories/23.html
http://ubuntu.hu/node/13573
Kapcsolódó:
http://hu.wikipedia.org/wiki/Boot
http://wiki.hup.hu/index.php/Pc_boot_folyamat
http://en.wikipedia.org/wiki/NTLDR
http://without-systemd.org/
http://without-systemd.org/wiki/index.php/Debian_Stretch
From:
https://szit.hu/ - SzitWiki
Permanent link:
https://szit.hu/doku.php?id=oktatas:linux:boot
SzitWiki - https://szit.hu/