Linux boot 5 másodpercen belül

Címkék

A Linux Plumbers Conference rendezvényen az Intel alkalmazásában álló, ismert kernelhacker Arjan van de Ven és Auke Kok, aki szintén az Intel-nél dolgozik Linux fejlesztőként bemutattak egy öt másodpercen belül bootoló Linux rendszert. A hardver egy "solid-state storage" háttértárral rendelkező Asus EEE PC volt. A két fejlesztő egy módosított Fedora-t és egy módosított Moblin terjesztést bootolt be a gépen 5 másodpercen belül. A LWN egyik cikke szerint a feltartották az EEE PC-t a hallgatóság felé, mivel a bootolás befejezéséhez szükséges idő kevesebb volt, mint amennyi idő alatt a projektor képet adott volna.

A dolog érdekessége, hogy a fejlesztők akkor tekintik a bootolást befejezettnek, ha a CPU "idle". Az nem ér, ha a rendszer feldobja a grafikus képernyőt, miközben a háttérben indulnak a szolgáltatások, azaz a CPU dolgozik. A bootolási időbe nem tartozik bele a hálózat "felhúzása", de a NetworkManager elindítása igen. Arjan szerint egy normál merevlemezes rendszer indítása kicsit több időt venne igénybe, mint az Eee PC-é. Arjan szerint egy Thinkpad-en ez a "kicsit több idő" ugyanennél a folyamatvégrehajtásnál 10 másodpercet jelent.

A cikkben összehasonlításként szerepel, hogy egy out-of-the-box Fedora rendszer bootolása a bekapcsolástól a GDM képernyőig számítva 45 másodpercet vesz igénybe.

Arról, hogy hogyan sikerült a fejlesztőknek elérniük ezt az eredményt, részletesen ír az LWN itt.

Hozzászólások

Értem én, hogy hűha meg izé. De ennek mi az értelme. Jó a 3 percből csinálni 1 percet az oké, de most nem mindegy, hogy 20 vagy 10 másodperc?
Pont egy "kimegyek a kávéért" idő amíg indul a gépem.

-- "Bízzál Istenben és tartsd szárazon a puskaport!" - Cromwell --
-- Sayusi Ando - http://sayusi.hu --

A kérdés inkább az, hogy hetente (vagy inkább) havonta hányszor bootolom be. A suspend-ből visszaállítás után ott folytatom a munkát, ahol abbahagytam. Levelező nyitva, bongésző nyitva, stb. Ennél kényelmesebb nem is lehetne.

Ettől függetlenül tőlem foglalkozhatnak ezzel a dologgal is. Meg nem fogok sértődni, ha gyorsabb lesz a boot.

--
trey @ gépház

"Bekapcsolom és megy". Talán még pont AST fogalmazta meg azt, hogy a számítógépnek kb. olyan egyszerűen kellene működnie, mint egy TV-nek.

Egyébként itt is látszik a memória alapú eszközök előnye a lemezes eszközökkel. De ki lehet próbálni egy olyan gépben is egyszerűen, ahol van sok ram. (Egyszer néztem, X2 3800+, 4G ram, virtualbox, Seagate 320G PATA 16M vagy samsung SP2004C, erre már nem emlékszem. XP SP2 host és guest, első boot, kb. 15 mp, második boot <5 mp, szedi az egészet cacheből.)

----------------
Lvl86 Troll, duálkasztban "M$ bér€n¢™" és "NagyZ sleppje™". Mimás? ;)[
Aki elhiszi, az meg hülye.

Az XP - ha az emlékezetem nem csal - pontosan azt csinálja, amiről a cikkben azt írják, hogy "nem ér". Feldobja az elején a grafikus desktop-ot, majd a háttérben darálja (indítja) a szolgáltatásokat befele. Ezt csinálja az Ubuntu is. Viszonylag korán indítja a GDM-et, majd csak utána indít más szolgáltatásokat.

Ha minden igaz, itt nem erről van szó.

--
trey @ gépház

Szerintem nem a gdm-ről van szó, hanem hogy mikor XP-ban már bejelentkeztél és már elvileg bejött minden, megy a start gomb is, és indítod a firefoxot, még ezután is indulnak/töltődnek a szolgáltatások. (Ami persze nem baj, csak az összehasonlításnál nem tisztességes előny)
A gdm az egy korai dolog, inkább gnome/kde/xfce "bejött"-höz kell hasonlítani.

Mindegy melyik részét hasonlítjuk össze. A Windows feldobja a bejelentkező ablakot és indítja a háttérben a szolgáltatásokat és az Ubuntu elindítja a GDM bejelentkező ablakot miközben indulnak a szolgáltatások, vagy ha mindegyik elindítja a desktop-ot. Hajlamos vagy azt hinni, hogy minden XP autologinos. Pedig nem.

--
trey @ gépház

Nyilvánvalóan ilyenkor nem egy szűz Ubuntu-t és egy rommá installált Windows-t hasonlítunk össze. Vagy ez csak nekem egyértelmű? Egyébként is teljesen felesleges itt számokban összehasonlítani. Mindegyik mást csinál. Az elvet lehet maximum. Az elv mindegyiknél ugyanaz. Viszonylag korán elindítani a grafikus felületet, majd utána még molyolni a szolgáltatásokkal

--
trey @ gépház

Le van írva a linkelt cikkben:

"The kernel gets one second to start, including all modules. "Early boot" including init scripts and background tasks, gets another second. X gets another second, and the desktop environment gets two."

kernel és az összes modul indítása 1 másodperc
az early boot + init scriptek 1 másodperc
az X indítása 1 másodperc
a desktop 2 másodperc

összesen öt sec.

Ebből kiveszem a desktop-ot, akkor összesen 3 másodperc a login képernyőig.

"We can boot the kernel probably in half a second but we got it down to a second and we stopped," Arjan said. The kernel should be down to half a second by 2.6.28, thanks to a brand-new fix in the AHCI support, he added."

Ha ezt is megcsinálják, akkor 2.5 sec. a desktop nélkül.

Ez az Asus Eee PC-re értendő. A merevlemezesre 5 helyett 10 sec-et írtak, így ott meg kell duplázni ezeket az értékeket.

--
trey @ gépház

:-) köszi, vicces volt az autologinos megjegyzésed :-)
Egyébként a bejelentkező képernyő alatt naná, hogy töltődnek dolgok: a legjobb idő a munkára, míg a user pötyögi a jelszavát. De a desktop alatt már nem annyira mókás, hogy hiába nyomod a gombot xp-n, csak nem indul a fájerfoksz.

Full szüz XP nem sok szolgáltatást indít már. Meg ugye elég speciális eset, hogy majdnem ramból szedi az egészet.

A másfél éves desktopom (ua. a gép) persze bootol már 30-60 mp-ig igaz, indul pg és mysql-től kezdve vmware-server-n át egy halom service.

----------------
Lvl86 Troll, duálkasztban "M$ bér€n¢™" és "NagyZ sleppje™". Mimás? ;)[
Aki elhiszi, az meg hülye.

"Ezt csinálja az Ubuntu is. Viszonylag korán indítja a GDM-et"

Van egy minőségi különbség, ugyanis XP-be belépve a Start Menüre rákattintva még kb. fél percig nem történik egyáltalán semmi, aztán megvillantja egy tizedmásodpercre, akkor gyorsan rákattintok még egyszer, és akkor olyan 5-6 másodperc múlva bejön a menü. A Gnome-ban ennél gyorsabbak a dolgok.

---
;-(

Biztos én csinálok valamit rosszul, de munkahelyi gépen egyből bejön a start menü. (Otthoni desktopon bb4win van)

És a Gnome viszont előszeretettel szedegeti össze az ikonokat hosszabb (<0.3 sec) idő alatt.

De semmi probléma, nyugodtan lehet túlzásokat, ferdítéseket említeni, biztos ettől jön majd el a linux ubuntu desktop éve.

----------------
Lvl86 Troll

Speciel engem hidegen hagy, de ettől még a piacot nem biztos. A cikkben említett Moblin az Mobil Internet Device (MID) eszközökre, netbookokra szánt lópikula. Az Intel - hacsak nem saját ellensége - azt szeretné, hogy ezek az eszközök sikeresek legyenek (hiszen nagy részüket Intel (Atom) processzor, chipset, wifi hajtja). Úgy fest, hogy az Intel szerint a sikerhez szükséges a gyors boot, ezért erre rámozdultak.

--
trey @ gépház

Szerintem meg sok ertelme van a gyors varakozas nelkuli mukodesnek. Pl. megkapsz egy kozuzemi szamlat, benyomod a gepet, beirod vmi tablazatba, hogy megkaptad, kikapcsolod oszt csa, mehetsz a dolgodra.

Nem szeretek gepre varni. Erted!? Ez egy gep! Nem akarom szolgalni, az a dolga, hogy o szolgaljon engem.

Meg vicces, hogy a mai vilagban egy mechanikus, valodi teljesitmenyt szolgaltato auto par masodperc alatt elindul, hasznalatra kesz (megha korlatozott teljesitmennyel is).

Bezzeg az amitastechnikaban. Egy amitogep effektiv teljesitmenyt nem ad le, fizikai munkat nem vegez, az a dolga, hogy logikai dolgokkal foglalkozzon. Es ezt hogy teszi? Lassan, szarul, kerregve, korulmenyesen, sok sok energiat felzabalva.

Szerintem a mai szoftvervilag egy szegyen optimalizaltsag tekinteteben.

de most nem mindegy, hogy 20 vagy 10 másodperc? Pont egy "kimegyek a kávéért" idő amíg indul a gépem.

Ezzel egyetértek, én sem bánom, ha bútolgat a gép, addig csinálok valami mást. De itt minőségi különbség van. Az tényleg mindegy hogy 45 vagy 35 másodperc, mert úgyis kimész kávéért. De az ugrás ott van, hogy ha 5 mp, akkor nem is kell kimenned, mert mire felállnál, a rendszer már megtette :)

Szerintem a bootolás sebesége a hatákonyság látszatát kelti, az egyszerű usereknek, emiatt lehet hogy fontos. Az már az egyszerű usert nem érdekli, hogy ha a boot folyamán jópár dolgot betölt amit gyakran használ az ember, és a későbbiekben nem kell rá várni. A lényeg, hogy látszatra gyors legyen. Kb mint az Xp alaptelepítéssel, de az sem 5 sec. Hogy utána még millió dolgot berángat, hogy egy program elinduljon......

Mit szólnál hozzá, ha a lámpád a szobában a bekapcsolás után nem 1, hanem csak 15 másodperccel később kezdene világítani? Végülis ez is csak egy "pont leveszem a cipőt és kabátot" idő.
Szerintem jogos, hogy amit meg lehet valósítani 5 másodperc alatt is, azt úgy a legjobb, ha úgy is valósítják meg, és nem húzzák tovább. Van olyan, hogy csak egy táblázat miatt kapcsolom be a gépet, és akkor nagyon nem mindegy, hogy 60 másodpercig bootol, vagy csak 5. Az egyiknél a telefonszámlám pörög és a vonal túloldalán 1 percig kell valami hülyeségről beszélnem az illetővel, hogy ne legyen olyan kínos az az egy perc, míg a másik esetében 15 másodperc alatt le is rendezem az egészet.

Nekem ezzel az a bajom, hogy nalam eltelik kb 5 mp mire egyaltalan elkezd bootolni az operacios rendszer. Ilyen memtest, felismeri a winyokat stb...

Ezzel a problémával a hadrvergyártókhoz kell fordulnod. Egyébként hardvere válogatja. Az Eee PC szempillantás alatt végez ezekkel a dolgokkal. Egy desktop, vagy szerver - ahol millió kártyát és azok BIOS-ait kell inicializálni, az más kérdés. De ez nem kernelfejlesztői feladat.

--
trey @ gépház

Igazából naponta egyszer kapcsolom be a gépet, és amíg bútol, én kávézok. 5 másodperc kevés lenne a kv legurítására, nekem nem tetszik 8)

"Igazából naponta egyszer kapcsolom be a gépet, és amíg bútol, én kávézok. 5 másodperc kevés lenne a kv legurítására, nekem nem tetszik 8)"

Van egy ötletem: Be se kapcsold a géped, amíg kávézol, csak utána és bootolj be 5 másodperc alatt. Ezzel évente egy csomó energiát meg tudsz spórolni, és hozzájárulsz a globális felmelegedés megfékezéséhez. Nem felemelő ez a tudat? :-)
---
;-(

Tervezem hogyha kicsit lejjebb mennek a pendrive árak akkor veszek egy 16 gigásat(~20-30 mega írás/olvasással) és arra teszem a /-t szerintetek gyorsabban bootolna vagy elenyésző?

Ha nem eri el, vidd vissza a boltba, mert hibas arut adtak.

Amugy meg: hiaba az egesz, amig USB-n csatlakozik a gephez, a cpu felet lezabalja az IO. Elobb kene egy PCI-os kartyaolvaso, aztan lehetne ezen gondolkodni.
SATA ebbol a szempontbol jobb, bar amennyire tudom, okoz nemi nehezseget, hogy relative kicsi a sebessege es mechanikus dolgokhoz lett tervezve.

Itt így fut a "homeserver" (öreg p2). Viszont minek neked olyan sokgigás? Egy rakás progival együtt se nagyon lesz 8G fölött, ráadásul a boothoz csak a core / kell neked, a /var-t gondolom nem akarod penre tenni.

Hogy nem éri meg, azzal azért vitatkoznék. A boot szerintem se lesz lényegesen gyorsabb viszont nekem tetszik, hogy pl az összes lemez parkol az idő ~80%-ban amikor is ugye senki nem kergeti a szervert. A ro mountolt fájlrendszert tán még megtörni is nehezebb, főleg ha átpattintom a writelockot a penen ;-)

Az usb IO mint a a proci-idő nagy ellensége kitételt sem nagyon tudnám igazolni, ezen a félelmetesen bika 400Mhz-es PII-n, akár 4%-ra is felmehet a cpu load, ha nagyon olvasok róla. Az írást nem tudom.

olvasási sebesség ~16 MB/sec (nem cachelt) tehát nem lényegesen jobb mint amit a tárnak beletömködött ide lemezek fel tudnak mutatni.

Na, ha ilyen lenne, még a végén ki is kapcsolnám a gépemet.

Amúgy MacBook esetén figyeltem fel erre. 10 mp boot és használhatod is a rendszert. Elég kellemes.

A bootolási időbe nem tartozik bele a hálózat "felhúzása", de a NetworkManager elindítása igen.

Ha a NetworkManager már fut, de a hálózat még nincs konfigurálva, akkor a CPU hogy lehet idle? Nem kell neki valamit számolgatni ezzel kapcsolatban?

Köztes megoldás lehetne, hogy lenne mondjuk minden gépben max 1-2 giga SSD és erre mentené a RAM tartalmát amikor hibernált állapotba teszed. Innét nyilván nagyon gyorsan visszatöltené és nem kéne a lassú vinyóhoz nyúlnia.

Gyakorlatilag csak indokolt esetben kéne teljesen leállítani a gépet (pl. frissítés) és bebootoltatni újra.

- - - - -
And the man in the rain picked up his bag of secrets, and journeyed up the mountainside, far above the clouds, and nothing was ever heard from him again...

Gondolom drága az SSD csak ezért, pedig jó lenne, mert az SSD nagy hátránya, hogy viszonylag kevésszer írható, ha csak erre használnák, akkor elmenne jó sokáig, ellenben sima hdd-ként használva sok értelmét nem látom, hogy mondjuk 2 évente új "vinyót" kellene venni a gépbe.

Ez az SSD kevésszer írható dolog a nullgenerációra volt igaz, most már másodgenerációnál tartunk.

Az Intel féle bütyök napi 50 GB írt adatforgalmat elbír 30 évig (pusztán az írási limitáció a 30 év, más miatt előbb meg fog purcanni), úgy hogy egy írás minimum 128k-s blokkokal történik.

Egy éven belül kijönnek a rendes szerverek alá az újgenerációs SSDk.

Konkrét értéket (esetleg hivatkozással) tudsz küldeni, hogy mennyi írási ciklust bírnak a most kapható SSD-k? (nem kötekedés, hanem érdekel nagyon).
Ez mondjuk szép nagy (128G)és gyors :-)
http://www.ssd.hu/ssd-hirek.php?hirid=28
Nem csak statisztikai bűvészkedés ez a 30 év??
100GBos ssd / 50GB/nap --> 2 naponta egy terület írása --> 30év*365nap/2nap jéé az nem is olyan sok
de mondjuk ha egy területet (swap?) gyakran használsz ???

ha a hw fejlodeset nezem, ez lenne a normalis boot ido, csak a programozo szakma annyira felhigult, hogy me'g az is elfelejtett programozni, aki tenyleg tud.

Kipróbáltam az én laptopomon (Core2Duo 2GHz, 2GB RAM, Fedora 9), 33 mp. Hol van itt a 45? :)

--
SELinux, Xen, RHEL, Fedora: http://sys-admin.hu

Latom megy a bikeshed epites, kozben meg ilyeneket ir az eredeti cikk:

The X Window System runs the C preprocessor and compiler on startup, in order to build its keyboard mappings.

Ettol pl. lefostam a bokam... Melyik rettenetes tulkepzett eszkombajn tervezte ezt? Melyik elvakult FOSS fan meri aztmondani erre, hogy igen, ez igy jo? Holy crap.

-=- Mire a programozó: "Na és szerintetek ki csinálta a káoszt?" -=-

Jah, hat most, hogy mondod, a cpp-4.2 csomagban valoban van egy /usr/lib/gcc/i486-linux-gnu/4.2/cc1 file..... de ezek szerint azert nem kellett compile-olni, csak feleslegesen bent volt a memoriaban, amig a cpp futott. Azert ez szerintem nem akkora gaz. Egy csomo shared library is a memoriaban van allandoan, aminek kb. tizeded ha hasznalja az ember.

AHAHAHAHAA
lécci ne

/drastikemulátor off

valóban nem akkora gáz néhány konfigfájl feldolgozása miatt behúzni a lemezről egy 5 megás fájlt, pláne potyára, különösen ha abból a szempontból vizsgáljuk a folyamatot hogy az X indulása lassú és a lemez a szűk keresztmetszet...
vajon mi lenne a gáz, ha kiadna egy "rm -rf /"-t?

Asszem láttam már olyat is, hogy a BIOS-t tároló flash cuccon levő fölös helyre ( kb. 16 MB, persze ehhez külön be kell szerezni 20MB-s odaillő kártyát ) beraktak egy kisebb Linuxot és azt bootolták be... Az is hasonló időket produkált, mint ez. Csak az az "apró" mellékhatása van, hogy le kell cserélni a gyári BIOS-t.

Én valami olyat tervezek, hogy veszek vagy 8giga ramot, ebből mondjuk 3gb egy ramdisk, amit egy sata, de inkább scsi vinyóról feltölt a rendszerrel boot folyamán. Utána a vinyó akár le is kapcsolható és csak leállításkor kell rá visszatölteni. Minden program eszeveszettül gyorsan indulna.
Csak kell mellé egy jó UPS :)

http://www.ssd.hu/ssd-hirek.php?hirid=30
szerintem nem csak eeePC-nek lesz majd előnyös.
Amúgy ez eeePC only még, sok notiban lehet még hasonló bootupokat csinálni, ami gyors boottime-ot eredményez (és a hordozható eszköz nekem bootoljon és haltoljon gyorsan, ne az initscript egye már meg az akksit :P), de nem kell félni a desktop-ok nagy része nem fog még ilyen gyorsan bootolni, így marad idő kávézni (mellesleg vírusírtás on bootup? ha win, ha linux sztem nem szar dolog de lassúúú)
De kezd ezzel a topiccal kicsit olyan érzésem támadni, hogy ok, a kocsmában is felhozzuk, de ott se beszélünk ennyit róla, ráadásul...
--
--
(\__/)
(='.'=) This is Bunny. Copy and paste Bunny into
(")_(") your signature to help him gain world domination.

Akkor egy egyszer, frissen bootolás után hibernált rendszert tölteni mindig vissza? Azt biztos meg lehet oldani, hogy azt higgye, hogy abba hibernált. Ami talán bonyolultabb lehet, az elérni, hogy csak azt a részét töltse vissza a memóriának, amit valóban használ az OS alapjáraton. (Btw én ilyen esetben a 4-ből 3 GB-ot letiltanék, ha lehet valahogy, mert fölösleges, viszont lassítja a hibernálást. :) De ha szükség van rá, akkor nyilván nem.)

Az elmúlt pár napban/hétben valamelyik ilyen megvalósításnak valami ilyesmi volt a lényege.
De én akkor is suspendelnék, mert úgy nem kéne újra megnyitogatni a programokat, minden úgyan úgy van, ahogy hagytam.
PC-k esetében az is időveszteség, hogy a BIOS POST lefut, stb.
MacBook Pro-n is totál kikapcsolt állapotban, ha megnyomom a power gombot, eltelik vagy 10 másodperc, amíg mutatja az almát, és elkezd pörögni a progress-indicator.
Szóval nem tudom. Szeretnék élőben látni egy ilyen 5 másodperces boot-ot, nekem hihetetlen a dolog, még akkor sem tudom elhinni, ha a video-n látom. :)

Meg akár 1 Giga RAM visszatöltése sem versenyképes időben a suspend-ből való visszajövetellel.
Ráadásul a leállításról ne is beszéljünk. Lecsukom a fedelét, és már suspendben is van, vs. shutdown/hibrnálást-t kérek, és szöszmötöl vele akár 1-2-3 hosszú percig...

Valahogy fel lehet használni egy USB pendrive-ot, mint a Robson-t vagy a Ready-boost-ot Linux Alatt? A Ready-boost felsült ugyan, de az ötlet jó. Ez talán megérne egy pendrive-ot