[Video] Linux bootlása + Qt alkalmazás indítása 1 másodperc alatt

Címkék

A lassú bootolás sok esetben - kiváltképp a szórakoztatóelektronikában - elfogadhatatlan. Az MPC Data a beágyazott rendszerek boot idejének szakértőjeként tartja magát számon. A vállalat azt állítja, hogy a swiftBoot névre hallgató megoldásával egyes esetekben a Linux boot ideje, plusz az alkalmazás elindítása akár egy másodpercnél is kevesebb időt vehet igénybe. A cég egy demót is készített, amelyben egy Renesas MS7724 fejlesztői lapot használ:

A cég egyik alkalmazottja azt állítja, hogy sikerült elérnie azt, hogy 1 másodperc alá szorítsa a Linux (2.6.31-rc7) hidegindítását és a Qt alkalmazás elindítását. A blogbejegyzés szerint ezt a gyorsulást nem valami nagy mágiával, sokkal inkább a felesleges dolgok eltávolításával, optimalizálással sikerült elérni.

Hozzászólások

A kulcsszó valszeg a "NOR flash system" lesz. SSD meghajtókról is lehet látni 4 másodperces bootokat, és ott egy komplett Windows meg Linux áll fel.

--
GPLv3-as hozzászólás.

Ha ennyin múlna már rég mindenhol azt használnának. Egy linux kernelt nagyon ki kell gyomlálni ahhoz, hogy indításkor csak a szükséges dolgokat töltse be. Például sose értettem, hogy a hálózati kártya felkonfigurálását miért kell megvárni... bár erre már mások is rájöttek, csak most hirtelen ez a példa jutott eszembe

Aki mégis megpróbálkozna a mágiával, ott a bootchart. Bár mindenhol azt írják, a ~30 másodperces boot idő normális...

Gondolom fogtak egy minimal kernelt ami 0 automatizálással bootol, ehhez fogtak egy valamilyen minimal x-et szintén 0 automatizálással, majd egy qt-s appot ami statikusan linkelt, és rárakták erre a boardra amin van egy gyors háttértár. Tulajdonképpen igen, kivettek minden felesleget, de ez a rendszer más gépen nem fog bebootolni.

Egyébként elgondolkoztató, mert megkérdőjelezi, hogy vajon tényleg szükség van-e annyi automatizálásra és dinamikus linkelésre, amennyi a mai rendszerekben van.

--
Don't be an Ubuntard!

A második kérdésed jogos. De itt két dologról van szó. Vannak az ilyen specializált mikrokontrollerek, ezeknek mehetnek a custom kernelek, meg az így-úgy statikusan linkelt binárisok.

De egy asztali PC, amibe ma már szinte minden hot swappal csatlakozik, ott kellenek az általános kernelek, dugig tömve minden féle device driverrel.

--
GPLv3-as hozzászólás.

Nem kell, nincs előírva, hogy a disztribúciód kernelét használd, fordíthatsz sajátot is! :-) De mivel a hardware-d valószínűleg jóval komplexebb, mint az ami a cikkben van, számottevő gyorsulást aligha fogsz elérni statikusan fordított driverekkel. Nem beszélve arról, hogy mindent nem is tudsz belerakni statikusan.
Mondjuk nálam a kernel boot amúgy se sokkal több egy másodpercnél, az init már elmolyol úgy 15 mp-t, mire előttem van a kdm login.

Így van, és le is írtam, hogy miért: eltart egy darabig, amíg az init beállítgatja a hardware-ket, amiből jóval több is van, illetve elindít olyan szolgáltatásokat, amik ezt elvégzik (HAL, udev pl), futtatja a azokat a szolgáltatásokat, amik a cikkben említett hardware-n aligha kellenek, de desktopon igen, ill. elindítja az X-et, ami megint eltart egy darabig, mire végignyálazza a moduljait, stb. Lehet ezeken optimalizálni, de 1-2 másodperc közé levinni, na azt nem hiszem. Egyébként így is egész sokat gyorsult a pár évvel ezelőtti initekhez képest a most használt - és mivel ritkán indítom újra, kényelmes a suspend to RAM, ezért nemigazán sokallom ezt az időt.

A blogbejegyzés szerint ezt a gyorsulást nem valami nagy mágiával, sokkal inkább a felesleges dolgok eltávolításával, optimalizálással sikerült elérni.

A blogbejegyzésből linkelt diák szerint elég sok nagyon alkalmazás és eszköz-függő módosítás ment bele, amit szerintem már nyugodtan nevezhetünk nagy mágiának :)

A Nexus S mennyi idő alatt bootol be?

Igen, már rég az összes kompakt (laptop, mobil és minden ami nem tákolt PC) ilyen spéci kernel kéne.
Lehetne egy oldal amin az összes ilyen kernel config fent lenne, és ha kéne le lehetne onnan tölteni.
Az adott gépre szabott kernelben minden statikus lenne, a többi (pl pendrive) driver pedig modulként.
Jó lenne egy ilyen oldal, valaki csináljon :)

Geri

Minek? Ennyire ne legyél már lusta, forrás letölt, make (x, menu, stb)config, beállítod ami kell, azt' kész. Ha már fordítasz, úgyis az nvidia driver, firmware-k, stb beszerzése, telepítése meg beállítása lesz a több munka, nem a konfigolás. Ennek akkor lenne értelme, ha nem konfig, hanem a gépedhez készített komplett kernel mindenestül lenne fenn valahol (persze külön debian, ubuntu, redhat, stb csomagban :-D ), nade kinek van erre ideje, erőforrása, tárhelye...

Hja, ha neked ez egész napos/minden napos feladat... Ezesetben vagy élj együtt békében a vázolt lehetőségek mellett a linuxal (vagy BSD-vel, mert ez azért azokra is igaz), vagy vegyél olyan hardware-t, amihez adják a hozzáigazított oprendszert. Bár a boot ideje annak se sokkal kevesebb :-). Esetleg a canonical mintájára hozz létre nagy tőkével egy alapítványt a cél elérésére :-)

Szuper. Mikrosütőn még oké (bár oda meg minek Qt), de pl. egy desktop gépen nem mindegy, hogy egy perc vagy egy másodperc? Amíg bekapcsol a gép, le tudsz ülni, kényelembe helyezed magad, gondolkodsz, hogy mit is akarsz csinálni, összeszeded magad.

Miért akarunk mindent azonnal? Szép fokozatosan elveszítünk minden olyan időt, amikor gondolkodni, lehiggadni lehet. Tényleg gépek akarunk lenni?
Kis türelem sosem árt. Még ha abban nyílvánul meg, hogy kivárod azt az egy percet, amíg bekapcsol.

lehet, hogy gyorsan bootol, de 8kW-os áramfogyasztás (sic!) mellett ez el is várható! :D