» »

Se je kdo kaj igral s corebootom ?

Se je kdo kaj igral s corebootom ?

Brane22 ::

Stvar je na http://www.coreboot.org

Gre za odprtokodni BIOS, o katerem je vsake toliko kje kaka novička.

Zdajle že nevemkateri dan bulim v source, pa me zanima a je že kdo počel tu kaj takega in bi imel kak nasvet/napotke.

Moja ideja je:

- predelati coreboot tako da dela z mojim procom na moji plati

- biti sposoben predelati ga da dela s praktično poljubno kombinacijo proc/plata

- vdelati možnost razširitve da lahko dela iz "swap-a" na USB ključku, po možnosti internem. Čip na plati drži samo pol do enega megabajta, to pa je lahko premalo.

- dodati sposobnost najosnovnejše komunikacije, pri kateri je zadosti da deluje že samo proc in da doseže FLASH BIOS. To bi omogočilo debug in podpravilo mnogo HW, ki bi bil sicer odpisan.
On a journey of life I chose a psycho path...

Brane22 ::

- vdelati memtest in druge diagnostične teste v samo coreboot. to bi pomenilo, da lahko recimo delaš teste na sicer povsem nefunkcionalnem ploščku, s katerim se stroj sicer ne bi niti zbudil.

-vdelati možnost dodajanja kodnih modulov s testi na ključek. Nekaj glavnih skupin:

- testi funkcionalnosti proca ( skupine bugov glede na masko, testiranje na posamezne objavljene buge itd)
- testi obnašanja RAM-a, CPUja in ostalih komponent pri različnih tako napetostnih kot frekvenčnih under/over driverih in njihovih kombinacijah

- možnostih zapisovanja rezultata testov na ključek. To bi bilo fajn sploh kot črna škatla pri testih, kjer proc lahko pade v nezavest. Takrat pač enostavno pogledaš, katera kombinacija je bila prehuda in v naslednjem prehodu ne greš tako na kol

- možnosti dodatnih nastavitev memcontrollerja. Dostikrat tu konvencionalen BIOS ubere bližnjico, ki je kernel potem ne more ponastaviti. Recimo bank RAM interleaving. Ko je kernel enkrat že naložen v ta RAM, tega ne more spremeniti, ker bi s tem "razcefral" sam sebe. Mnogi BIOS-i pa te opcije nimajo.

- možnosti dela v skupini, kjer bi lahko BIOS nastavil preko mreže in kjer bi lahko z ene konzole preko enega BIOS-a upravljal celo grupo ( nastavljal HW, delal teste na določenih mašinah grupe itd itd).

- možnost delnega "zlitja" BIOS-a in kernela. Ker BIOS že poskenira HW, v principu ni potrebe da kernel to počne znova iz nule. BIOS bi lahko ustrezne strukture o recimo PCI/PCIe in USB treeju lahko pustil kar v RAM.

- možnost upravljanja/chekiranja FS, LVM in RAID.

Se je kdo že igral s tem ali mogoče našel kak podoben projekt ?

Zgodovina sprememb…

  • spremenilo: Brane22 ()

pegasus ::

Brane22 je izjavil:

- predelati coreboot tako da dela z mojim procom na moji plati

- biti sposoben predelati ga da dela s praktično poljubno kombinacijo proc/plata

Všeč mi je tvoj optimizem. Vendar brez interne dokumentacije vse množice plat in procov ne boš prišel daleč, tako kot ni prišel celoten projekt v vseh teh letih. Zadeva na žalost deluje le z dokaj malo hardvera, ki so ga uspeli toliko natuhtati (po različnih poteh), da so ga usposobili.

Ideja mi je sicer zelo všeč, tudi gruntal sem, če bi izbrskal kje supported hw, a potem ni bilo nič iz tega. Mogoče nekoč ...

Brane22 ::

Ne zdi se tako hudo.

Večina stvari je standardiziranih. Čipovje je opisano in podprto, ACPI je dodelan, stvar ima celo vdelan x86 emu za zaščito pri poganjanju BIOSev na karticah. Podpora plate je več ali manj enaka kombinaciji že podprtega čipovja. In routanje interruptov na pravi način.

Kar nekaj stvari so potegnili tudi že iz kode za Linux kernel.

Ni tako zelo hudo, čeprav je prebijanje skozi Makefileje naporno.

Naporno je tudi to,d a ni vse v Cju. Kar nekaj je assemblyja in še ta se razlikuje. Pa malo 16-bitnega sistemca za bootsector, inicializacijo in AGESA, pa nekaj 32-bitnih helper rutin itd.

Drugače ni take panike. Sem probal scompilat zadevo za eno od AM3 plat in jo pognat na svoji. Prišla je do tega, da je napisala kodo na zaslon in potem žmrknila.

Precej dober feeling imam, da je tole obvladljivo.

Brane22 ::

Kar se dokumentacije za proce in ostalo tiče, je vsaj na AMDjevi strani stvar videti dobro.

Odprtokodili so svoj AGESA ( AMD Generic Encapslutaed Software Architecture) in ga vdelali v coreboot.

AGESA pokriva vse detajle, ki zajemajo inicializacio proca od reseta do prehoda v 32-bitni način.

V njem je vedno praktično zadnja verzija. Ravno tako je s podporo za northbridge/memcontroller itd.

Notri je tudi precej orodij, s katerimi lahko pogledaš, kako so stvari upadenane na tvoji plati, preden jih vdelaš v BIOS. Lahko izvoziš ACPI tabele itd itd, pomnilniška področja in organizacijo itd itd.

Stvar te ne pusti čisto bosega.

Zgodovina sprememb…

  • spremenilo: Brane22 ()

misek ::

Ko sem jaz nazadnje gledal je glavna težava v chipsetih, za katere ni javnih informacij. Recimo za "Intel NM10 Express Chipset". In nisem našel plošče s tem chipsetom, ki bi bila podprta. Tako kot je napisal pegasus: dobra ideja, izvedba pa je zaradi pomanjkljive dokumentacije slaba.

Brane22 ::

@misek:

kako ni javnih informacij ? Intel je pa ja v tem pred vsemi.

Misliš na tole ?

http://www.intel.com/content/www/us/en/...

misek ::

Brane22, to ja. Je to podprto? Mislim da ne. In dvomim da kdaj bo. Ta chipset je v mnogih HTPC-jih z atom procesorjem, kjer bi coreboot bil idealen za uporabo. Ampak tega ni in ni.

Brane22 ::

Čaki mal. je razlika med tem,d a so podatki dostopni in tem, a je nekdo že opravil vse delo zate.

Če to rabiš in tega še ni, pošči specse, najdi podporo za najbližji chipset in ga predelaj...

Dvomim, da tega ni že kdo naredu, samo je verjetno šel v to z istim namenom, kot bi ti sedaj.

najdu je aplikacijo, potweakal zadevo in jo vnovčil.

misek ::

Možno da se motim ampak podrobna specifikacija za NM10 ni javna. Vsaj tako sem zasledil na mailing listah coreboot projekta. Zato tudi ni bilo realizacije.

Brane22 ::

Zdajle sem potegnu datasheet s tistega linka. Pdf s 671 stranmi. Zdi se precej podroben. Od električnih specsov, preko mehaničnih detajlov čipa do opisov registrov za vse živo: PCI-PCI brdge, lan controller, LPC interface, UHCI, SATA, EHCI, Intel HD audio itd itd.

misek ::

Recimo staro 3 leta http://tracker.coreboot.org/trac/corebo...
Ampak kolikor vidim pod supported HW je NM10 OK. Očitno se je v zadnjih 2 letih nekaj premaknilo. Pogledam ob priliki ali mi bo kaj jasno.

Brane22 ::

Če prav razumem info iz tistega linka, je tam bila bolj problem nVidia kot Intel.

Šlo je za RAM inicializacijo, to pa je prej stvar proca ali northbridgea, odvisno od izvedbe.

NM10 je Southbridge in s tem načeloma nima veze, razen kar se mogoče tiče SMBus, preko katerega bi bral EEPROMčke na DRAM ploščkih, ampak ta je opisan.

misek ::

Vidim da očitno veš precej več kot jaz. Jaz samo vidim da zadeva še daleč ni tako enostavno kot izgleda. In jaz potrebnega znanja nimam da bi kaj konkretnega v tej smeri naredil.
Sicer pa seznanjaj nas s tvojim napredkom.

čuhalev ::

Kako je kaj živa ta tema? Sam si želim računalnik, ki bo čist navlak tipa UEFI ... zato se bi poslužil tega ... biosa.

Brane22 ::

Še vedno je precej neizpiljen. Zna čuda zadev, če je pri roki kdo ki zna svečke zamenjat pa platine naštelat.

Našel sem podporo za eno AM1 plato in sem mislu da to pomeni, da bi moral špilat tudi na drugi. No go.
Sem ga pa spravil do tega, da mi je delala konzola na serijskem portu itd. V bistvu bi moralo tudi ostalo, a moja plata je imela še nepodprti SuperIO čip in tam se je ustavilo. Specsov od proizvajalca pa nisem dobil.

čuhalev ::

No, jaz sem še v fazi, ko matične plošče še nimam, tako da imam nekaj več svobode.

Kolikor sem gledal so sistemi, ki se prodajajo kot Google Chromebox, precej podprti, vendar čip nima podnožja.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Coreboot prihaja na prenosnike

Oddelek: Novice / Ostala programska oprema
4110414 (7418) Icematxyz
»

BIOS switcheroo...

Oddelek: Hlajenje in modifikacije
101687 (1567) Brane2
»

MSI želi odpisati BIOS, prihaja UEFI (strani: 1 2 )

Oddelek: Novice / Matične plošče
7718801 (16246) Jst
»

Informacije o AMD-jevih štirijedrnikih

Oddelek: Novice / Procesorji
453924 (2577) gzibret

Več podobnih tem