Această secțiune preinstalare, vă va ghida în configurarea componentelor și a dispozitivelor, dacă este cazul, pe care va trebui să o faceți înainte de a instala Debian. În general, aceasta implică verificarea și, eventual, modificarea configurărilor microcodului BIOS/UEFI din sistem pentru sistemul dumneavoastră. „BIOS/UEFI” sau „microcodul sistemului (system firmware)” este software-ul de bază folosit de componente; este invocat cel mai critic în timpul procesului de pornire (după acționarea butonului de alimentare cu energie).
După cum s-a menționat deja, nu există, din păcate, un standard pentru firmware-ul de sistem pe sistemele ARM. Chiar și comportamentul diferitelor sisteme care folosesc nominal același firmware poate fi destul de diferit. Acest lucru rezultă din faptul că o mare parte a dispozitivelor care utilizează arhitectura ARM sunt sisteme încorporate, pentru care producătorii construiesc de obicei versiuni de firmware puternic personalizate și includ corecțiii specifice dispozitivului. Din păcate, producătorii de multe ori nu își trimit modificările și extensiile înapoi dezvoltatorilor de firmware din ramura principală, astfel încât modificările lor nu sunt integrate în versiunile mai noi ale firmware-ului original.
Drept urmare, chiar și sistemele nou vândute folosesc adesea un firmware care se bazează pe o versiune modificată de producător de ani de zile a unui firmware al cărui cod bază a evoluat mult mai mult între timp și oferă caracteristici suplimentare sau prezintă un comportament diferit în anumite aspecte. În plus, denumirea dispozitivelor integrate nu este consecventă între diferitele versiuni modificate de producător ale aceluiași firmware, prin urmare este aproape imposibil să se furnizeze instrucțiuni utilizabile independente de produs pentru sistemele bazate pe ARM.
Debian oferă imagini U-Boot pentru diferite sisteme armhf care își pot încărca U-Boot de pe un card SD la .../images/u-boot/ . U-Boot este oferit în două formate: componente brute U-Boot și o imagine de card de memorie gata făcută care poate fi scrisă cu ușurință pe un card SD. Componentele brute U-Boot sunt furnizate utilizatorilor avansați; modalitatea generală recomandată este să utilizați una dintre imaginile de card SD gata făcute. Acestea sunt denumite <system-type>.sdcard.img.gz și pot fi scrise pe un card, de exemplu cu
zcat <system-type>.sdcard.img.gz > /dev/SD_CARD_DEVICE
Ca și în cazul tuturor imaginilor, rețineți că scrierea imaginii pe un card SD șterge tot conținutul anterior al cardului!
Dacă Debian oferă o imagine U-Boot pentru sistemul dvs., se recomandă să utilizați această imagine în locul U-Boot-ului furnizat de furnizor, deoarece versiunea în Debian este de obicei mai nouă și are mai multe caracteristici.
Adresa MAC a fiecărei interfețe Ethernet ar trebui, în mod normal, să fie unică la nivel global și, din punct de vedere tehnic, trebuie să fie unică în domeniul său de difuzare Ethernet. Pentru a realiza acest lucru, producătorul alocă de obicei un bloc de adrese MAC dintr-un fond comun (pool) administrat central (pentru care trebuie plătită o taxă) și preconfigurează una dintre aceste adrese pentru fiecare articol vândut.
În cazul plăcilor de dezvoltare, uneori producătorul dorește să evite plata acestor taxe și, prin urmare, nu oferă adrese unice la nivel global. În aceste cazuri, utilizatorii înșiși trebuie să definească adrese MAC pentru sistemele lor. Când nu este definită nicio adresă MAC pentru o interfață ethernet, unii controlori de rețea generează o adresă MAC aleatorie care se poate modifica la fiecare pornire și, dacă se întâmplă acest lucru, accesul la rețea ar fi posibil chiar și atunci când utilizatorul nu a stabilit manual o adresă, dar de exemplu atribuirea de adrese IP semi-statice de către DHCP pe baza adresei MAC a clientului solicitant nu ar funcționa în mod evident.
Pentru a evita conflictele cu adrese MAC existente atribuite oficial, există un grup de adrese care este rezervat pentru așa-numitele adrese „administrate local”. Este definit prin valoarea a doi biți specifici din primul octet al adresei (articolul „Adresa MAC” din Wikipedia în limba engleză oferă o explicație bună). În practică, aceasta înseamnă că de exemplu orice adresă care începe cu un hexazecimal „ca” (cum ar fi ca:ff:ee:12:34:56) poate fi utilizată ca adresă administrată local.
Pe sistemele care utilizează U-Boot ca firmware de sistem, adresa MAC Ethernet este plasată în variabila de mediu „ethaddr”. Acest lucru poate fi verificat în linia de comandă U-Boot, cu comanda „printenv ethaddr” și poate fi stabilită cu comanda „setenv ethaddr ca:ff:ee:12:34:56” . După stabilirea valorii, comanda „saveenv” face ca atribuirea să fie permanentă.
Pe unele sisteme cu versiuni U-Boot mai vechi pot apărea probleme cu realocarea corectă a nucleului Linux, a discului ram inițial și a blocului arborelui de dispozitive în memorie în timpul procesului de pornire. În acest caz, U-Boot afișează mesajul „Se pornește nucleul... (Starting kernel ...)”, dar sistemul se blochează după aceea, fără alte rezultate. Aceste probleme au fost rezolvate cu versiuni mai noi U-Boot începând cu v2014.07.
Dacă sistemul a folosit inițial o versiune U-Boot mai veche decât v2014.07 și a fost actualizat ulterior la o versiune mai nouă, problema poate apărea în continuare chiar și după actualizarea U-Boot. Actualizarea U-Boot, de obicei, nu modifică variabilele de mediu U-Boot existente, iar remedierea necesită configurarea unei variabile de mediu suplimentare (bootm_size), lucru pe care U-Boot îl face automat numai în instalațiile noi, fără date de mediu existente. Este posibil să stabiliți manual „bootm_size” la valoarea implicită a noului U-Boot rulând comanda „env default bootm_size; saveenv” în linia de comandă a U-Boot.
O altă posibilitate de a evita problemele legate de realocare este să rulați comanda „setenv fdt_high ffffffff; setenv initrd_high 0xffffffff; saveenv” în linia de comandă U-Boot pentru a dezactiva complet realocarea discului ram inițial și blocul arborelui de dispozitive.