3.6. Configuració del maquinari i del sistema operatiu prèvia a la instal·lació

Aquesta secció explica el procés de configuració prèvia a la instal·lació del maquinari, si s'escau, que cal fer abans d'instal·lar Debian. Normalment es tracta de fer comprovacions dels ajusts de la BIOS o del microprogramari del sistema, i de vegades de canviar-los. La BIOS i el «microprogramari» és el programari bàsic emprat pel maquinari; és absolutament necessari durant el procés d'arrencada (després d'arrencar l'ordinador).

3.6.1. Selecció del dispositiu d'arrencada

3.6.2. Microprogramari ARM

Com ja s'ha explicat anteriorment, no hi ha un estàndard pel microprogramari del sistema en sistemes ARM. Fins hi tot el comportament del diversos sistemes que fan servir nominalment el mateix microprogramari pot ésser molt diferent. Tot és degut a que bona part del dispositius que fan servir les arquitectures ARM són sistemes integrats, pels quals els fabricants elaboren microprogramari fet a mida i inclouen pegats específics del dispositiu. Malauradament, els fabricants no informen dels canvis i extensions als desenvolupadors del microprogramari de la línia principal, per la qual cosa els canvis no s'integren en les noves versions del microprogramari original.

Degut a tot això, fins i tot els sistemes venuts més recents fan servir microprogramari basat en versions modificades pels fabricants de microprogramari amb anys d'antiguitat, i del qual, la línia principal, ha evolucionat força en aquests anys i ofereix funcionalitats addicionals o te un comportament diferent en alguns aspectes. A tot això cal afegir que el nom dels components incorporats no és coherent entre les versions modificades pels fabricants del mateix microprogramari, de manera que és impossible facilitar instruccions útils independents del dispositiu en el sistemes basats en ARM.

3.6.3. Configurar l'adreça MAC d'ethernet en U-Boot

L'adreça MAC de cada interfície ethernet, normalment ha d'ésser única en el món, i tècnicament ha d'ésser única en el seu domini de difusió ethernet. Per aconseguir-ho, el fabricant assigna un bloc d'adreces MAC d'un grup d'administració centralitzada (amb un cost econòmic) i preconfigura una d'aquests adreces en cada un dels articles venuts.

En el cas de les targetes de desenvolupament, algunes vegades el fabricant vol evitar el pagament d'aquestes quotes i adjudica adreces que no son úniques mundialment. En aquest cas el usuaris han de definir les adreces MAC dels seus sistemes. Quan l'adreça MAC no està definida a una interfície ethernet, alguns controladors de xarxa generen adreces MAC aleatòries que poden canviar a cada arrencada, i si passa això, és possible l'accés a la xarxa sense que l'usuari defineixi manualment l'adreça, però l'assignació semi-estàtica d'adreces IP mijançant DHCP basada en les adreces MAC dels clients, òbviament no funcionaria de forma fiable.

Per evitar conflictes amb les adreces MAC assignades oficialment, hi ha un grup d'adreces reservades per les adreces «administrades localment». Es defineixen amb el valor de dos bits específics del primer byte de l'adreca (l'article «MAC address» de la versió en anglès de la Wikipedia ho explica molt bé). A la pràctica, això significa que qualsevol adreça que comenci que comenci amb «ca» en hexadecimal (com ca:ff:ee:12:34:56) pot ésser utilitzada com una adreça administrada localment.

En els sistemes que fan servir U-Boot com a programari del sistema, l'adreça MAC d'ethernet està allotjada a la variable d'entorn «ethaddr». Es pot consultar amb l'ordre U-Boot de línia d'ordres «printenv ethaddr» i es pot establir amb l'ordre «setenv ethaddr ca:ff:ee:12:34:56». Després de configurar seu valor, l'ordre «saveenv» fa que l'assignació sigui permanent.

3.6.4. Problemes de reubicació de Nucli/Initrd/Arbre de dispositius en U-Boot

En alguns sistemes amb versions antigues d'U-Boot hi pot haver problemes amb la reubicació del nucli, el disc RAM inicial i el blob de l'arbre de dispositius en la memòria en el procés d'arrencada. En aquest cas, U-Boot mostra el missatge «Starting kernel ...», però el sistema queda congelat sense mostrar més missatges. Aquest problema està resolt a partir de la versió v2014.07.

Si el sistema ha fet servir una versió d'U-Boot anterior a v2014.07 i s'ha actualitzat posteriorment a una versió més recent, és possible que el problema persisteixi després de l'actualització d'U-Boot. L'actualització d'U-Boot no modifica les variables d'entorn d'U-Boot i per solucionar el problema cal establir el valor a una variable d'entorn addicional («bootm_size»), atès que U-Boot només ho fa automàticament quan s'instal·la per primera vegada i no hi ha dades d'entorn prèvies.

Una altra possibilitat per evitar aquests problemes de reubicació és executar l'ordre «setenv fdt_high ffffffff; setenv initrd_high 0xffffffff; saveenv» en la línia d'ordres d'U-Boot per a desactivar la recol·locació del disc RAM inicial i el blob de l'arbre de dispositius.