Upgrade BIOSu s FreeDOS

Nezařazené No Comments »

Našel jsem konečně jednoduchý návod, jak si rychle nachystat bootovací CD z Linuxu s vlastními soubory, třeba právě BIOSem. Bootovací disketa je už bohužel minimálně u Supermicra minulostí, jejich BIOS má přes 4MB.

Takže jdeme na to. Opět to vezmu stručně, mělo by stačit copy & paste. V /tmp oddílu je potřeba mít alespoň 30 až 40MB volného místa :)

Nejdříve si připravíme adresáře pro práci

mkdir /tmp/freedos/
cd /tmp/freedos
mkdir iso biosiso

Stáhneme si poslední mini iso pro FreeDOS.

wget http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.0/fdbasecd.iso

Připojíme iso do připraveného adresáře a zkopírujeme si všechny soubory

mount -o loop fdbasecd.iso iso
cp -a iso/* biosiso/
cd biosiso

Teď přichází „nejtěžší“ část. Upravit vše tak, aby se namísto instalace spustil FreeDOS přímo nad naším CD a daty. Je potřeba editovat jeden soubor. Buď to můžete ručně přidat za řádek set fdosroot= nový řádek goto end nebo použijte následující sed, který by to snad měl zvládnout. Je ovšem možnost, že s novou verzí freedosu by to neprošlo, proto ponechávám info o ruční editaci.

sed -r "s/^(set fdosroot=.*)$/\1\n\ngoto end/" setup.bat

Tím jsme skoro hotovi. Stačí nakopírovat vlastní soubory, pokud budu mít např. nový bios v souboru /tmp/bios123.zip, tak následujícím příkazem jej rozbalíme do nového adresáře bios, který bude po bootu na CD.

unzip /tmp/bios123.zip -d bios

Nakonec je potřeba z našeho dočasného adresáře vytvořit funkční ISO soubor

mkisofs -o ../freedos_biosupdate.iso -q -l -N \
-boot-info-table -iso-level 4 -no-emul-boot \
-b isolinux/isolinux.bin -publisher "FreeDOS - www.freedos.org" \
-A "FreeDOS with bios 123" -V FDOS_SUPBIOS -v .

A máte hotovo. ISO si vypalte, nabootujte na počítači, kde je potřeba. Na úvodní obrazovce zvolte 1 pro FreeDOS a následně vyberte, že chcete provést instalaci. Dále je to již jen na vás.

2 monitory, projektor, TwinView a Xinerama

Nezařazené No Comments »

Nedávno jsem si domů pořídil druhé LCD a začal si užívat pohodlí, které přináší. Problém nastal hned ve chvíli, kdy jsem se chtěl koukat na film – grafika má pouze dva DVI výstupy a tak nastalo odsouvání monitoru, přehazování kabelů a přepínání rozlišení pokaždé, když jsem chtěl na něco mkrnout.

Tento článek není dokončený, průběžně budu upravovat a doplňovat informace.

Přestalo mě to bavit poměrně rychle a začaly padat řešení: koupit kartu s více výstupy, najít nějaký přepínač nebo přikoupit další slabší kartu jen na projektor. První řešení vychází dost draze, zvlášť když chcete na počítači i hrát, u druhého jsem nevěřil tomu, že nezpůsobí další problémy a tak přišel na řadu nákup další karty…

Výběr karty

Výběr karty byl poměrně jednoduchý. X.Org sice zvládají bez problémů více karet od různých výrobců, ale proč mít zbytečně natáhnutých více ovladačů a řešit další probémy. K stávající pasivní GeForce 9600 GT se tak přidala další pasivka GeForce 8400 GS.

Co se týče výkonu, stačila by mi i mnohem slabší karta, jenže starší karty již nejsou podporovány v novějších ovladačích. Pokud budete něco podobného řešit, určitě si dejte pozor na místo v bedně, u mě to vyšlo dost natěsno, 9600 GT totiž zabírá dva sloty.

Na co myslet při výběru karty

  • zvážit, jestli radši nebudete přepínat kabely :)
  • zjistit, jestli máte v počítači další slot na grafiku, ne každá bedna má dva PCI Express nebo AGP sloty. Vždy můžete ale pořídit grafickou kartu do PCI. Bohužel většinou vychází podstatně dráž.
  • zajistit si správné chlazení

Nastavení v X.Org

A tady přišel kámen úrazu. Se svou neoblomnou důvěrou v to, že v linuxu je možné vše jsem dopředu příliš materiálů nečetl a skončil s dosti rozporuplnými dojmy. TwinView totiž umí jen dva monitory a třetí musíte přidat jako samostatnou Screen a to ještě není všechno. Jakmile jsem přidal další screen TwinView přestalo TwinViewovat a já skončil u čtení diskuzí a experimentování.

Pokud jsem správně pochopil, tak vše funguje tak, že aplikace dostávají přes knihovnu Xineramy informace o tom, jaké rozlišení máte na které obrazovce a proto se vám správně maximalizují okna. TwinView jako takové využívá pouze jednu screen pro dva monitory, ale přes své vlastní volání aplikacím podstrkuje rozložení, které chcete.

Celý problém je v tom, že aktivuje-li se v X.Org Xinerama, TwinView přestane pro X poskytovat informace o rozložení monitorů a obraz se roztáhne přes oba monitory, stejně tak se maximalizují okna a vše ostatní. V dokumentaci se doporučuje využít volby TwinViewXineramaInfoOrderOverride, což u mě vůbec nezabralo.

Option         "TwinViewXineramaInfoOrderOverride" "1680x1050+0+0, 1680x1050+1680+0, 1024x768+3360+0"

fakexinerama

Nebudu vás napínat, doteď jsem problém plně nevyřešil, ale nejrychlejším řešením je projektík fakexinerama, který upraví knihovnu xineramy pro zjištění informací o rozložení monitorů z vašeho konfiguračního souboru. Ano, je to dosti neflexibilní a má to neodstatky, ale aspoň nějak to funguje.

V knihovně jsem si upravil cesty ke konfiguráku na globální /etc/fakexinerama, nastavil ho, zkompiloval knihovnu, restartoval X a vše relativně jede.

$ cat /etc/fakexinerama
3
0 0 1680 1050
1680 0 1680 1050
3360 0 1024 768

Zbývající problémy

  • na projektoru je stejné virtuální rozlišení jako na prvních dvou monitorech, tzn. konfigurační část fakexinerama zdatně ignoruje
  • po aktualizaci mplayer na poslední SVN se bohužel video v celoobrazovkovém režimu roztahuje přes virtuální plochu stejně jako okna ve window manageru
  • na projektor nelze přetahovat okna (nepoužívá se přímo Xinerama), myš a klávesnice se ale sdílí
  • bylo by pěkné moci nějak deaktivovat kartu pokud se nepoužívá (úspora energie tepla a podobně)

© 2003-2009 Kepi.cz | Webhosting | Powered by WordPress