Beágyazott operációs rendszerek, 2. nap (Windows PE)

A beágyazott Windows egyik fontos spórolási trükkje, hogy pontosan azokat a drivereket tartalmazza csupán, amelyek az adott hardverkonfiguráció futásához szükségesek. Az aktuális számítógépünk konfigurációját pedig viszonylag egyszerűen feltérképezhetjük, ha futtatjuk a tap.exe nevű csodaalkalmazást. Van azonban egy bökkenő: a tap.exe-t csak Windows alatt lehet futtatni, és ezzel már meg is érkeztünk a 22-es csapdájába. Nézzük mit tudunk ezzel kezdeni.

Természetesen mindannyiunknak megvannak a bevált megoldásai, hogyan indítsunk el valamilyen rendszert egy amúgy bootolhatatlan gépen. A legkézenfekvőbb megoldás talán a Windows telepítő lemeze és a recovery mód, de számos más alternatíva is elképzelhető. Én itt most megpróbálom a hivatalos utat járni:

Windows PE

A telepítési paradoxon egyik lehetséges feloldása a Windows Preinstallation Environment, avagy a Windows PE. Ez egy speciális Windows “kiadás” csökkentett funkcionalitással, amely kifejezetten arra lett kitalálva, hogy a legváltozatosabb körülmények között is bootolható legyen (ilyesmi indul el akkor is, amikor Windows telepítő lemezről indítjuk a gépet).

A Windows PE letölthető a Windows Automated Installation Kit részeként. Letöltés után rövid konzolos varázslás után elő tudjuk állítani a Windows PE ISO képét. Ez alapértelmezésben 170MB körül van, de lehetőségünk van saját eszközökkel is bővíteni. Feltétlenül ragadjuk meg ez utóbbi lehetőséget és másoljuk fel diagnosztikai alkalmazásainkat is a CD-re.

Target Analyzer Probe (TAP)

A hardverkonfigurációnk felderítését két segédprogrammal végezhetjük. Mindkét program a Windows Embedded programcsomag része és a telepítési könyvtár Utilities alkönyvtárában találhatóak.

  • ta.exe: felépíti a gép alapvető hardverprofilját. Csak a legszükségesebb eszközöket találja meg
  • tap.exe: felépíti a gép részletes hardverprofilját. A ta.exe-hez képest csaknem egy nagyságrenddel több eszközt képes felderíteni

Mindennapi gyakorlatunk során szinte mindig a tap.exe-re lesz szükségünk. Miután sikeresen elindítottuk CD-ről bootolva a Windows PE-t, nincs más dolgunk mint lefuttatni az alkalmazást, amely minden paraméter nélkül rövid gondolkodás után egy devices.mpq fájlt generál. Fontos, hogy amennyiben nem szeretnénk sokat körmölni, szükségünk lesz, valamilyen írható adathordozóra (a Windows PE kezeli a pendrive-okat is), amin ezt a fájlt el tudjuk menteni későbbi felhasználásra.

Fontos tudni, hogy a TAP valójában nem közvetlenül deríti fel a rendszer hardverprofilját, hanem az aktuálisan futó Windowstól kérdezi le. Ilyen módon az eredményfájl eltérő lehet, attól függően, milyen rendszert használtunk a rendszer bootolásához. Egyes források azt írják, hogy használhatunk pl. egy minimalista, de kellően általános Embedded XP konfigurációt is a TAP futtatásához. Ez így önmagában igaz is, ugyanakkor ez a változat nálam csaknem 5-10 eszközt figyelmen kívül hagyott, amelyeket Windows PE-vel probléma nélkül megtalált.

Összességében elégedett vagyok. Első sorban azért, mert sikerült futó operációs rendszert (még ha csak konzolosat is) látni az új hardveremen, illetve mivel már sokkal pontosabb képem van arról, hogy milyen eszközök is vannak a vaskupacomban. Lassanként már semmi akadálya annak, hogy elkészítsem és bebootoljam az első igazi beágyazott XP-met, de ez már azt hiszem holnapra marad.



Kővári Bence

Kővári Bence Mérnök informatikus, bankinformatikai szakmérnök. A BME Automatizálási és Alkalmazott Informatikai Tanszékén és a Nyugat-magyarországi Egyetemen oktat szoftverfejlesztést, ezen belül is elsősorban .NET-es technológiákat. Szakterületei a .Net alaptechnológiák, MSSQL, gépi képfeldolgozás.

2009.12.10. 2:16:40 | Permalink | Hozzászólások: 0 | Tárgyszavak: ,


  • Sor megszerzése GridView RowCommandnál

    Balássy György (MS RD, ASP.NET MVP, MCTS) Ha egy GridView valamelyik oszlopába gombokat teszünk, akkor a RowCommand esemény nagyon praktikus, mert az eseménykezelő CommandName és CommandArgument tulajdonságai segítségével könnyen meg tudjuk vizsgálni, hogy melyik sorban, melyik gombra kattintott a felhasználó. A CommandArgument tulajdonságot általában az adott rekord kulcs oszlopához szoktuk kötni, hogy az adott rekordra könnyen tudjunk hivatkozni. De mi van akkor, ha a GridView adott sorára is hivatkozni szeretnénk? Tovább »
  • Az ASP.NET, a LINQ és a Tranzakció

    Dávid Zoltán LINQ2SQL-t használunk ASP.NET projektben. A LINQ-hez tartozó DataContextet szerettük volna egy olyan változóban tárolni, ami több helyről is elérhető. Erre azért van szükség, mert ha tranzakcióban több műveletet hajtasz végre, akkor tanácsos csak egyetlen DataContext példányt használni (különben elosztott tranzakció indul, annak minden nyűgével). Egy dologra kell ilyenkor figyelni: a DataContext nem állapotmentes, úgyhogy nem szabad felhasználók között passzolgatni. Ebből következik, hogy nem lehet static... Tovább »


Írja meg Ön is véleményét!


Hozzászólásokat csak regisztrált, bejelentkezett felhasználóktól tudunk elfogadni!

Hozzászólások