U-boot și actualizarea imaginii kernel - note în câmpuri,

Când lucram cu debugging-ul cu OMAPl-138 la bord, m-am confruntat cu sarcina de a clipi Kernel în Flash aflat pe placa însăși. Poate că cineva va fi, de asemenea, interesat de experiență, deoarece această problemă este legată chiar de organizarea procesului de boot Linux și

U-boot și actualizarea imaginii kernel - note în câmpuri,
Acesta va fi util pentru orice tip de procesor pe care este posibil să ruleze Linux.







Totul a început cu faptul că am nevoie pentru a conecta un RS-232 suplimentare, disponibile la bord, și care a fost dezactivată în versiunea mea de bord. M-am gândit că limita simpla tăiere de piese și fire de lipit, dar a spus inginerii TI a trebuit să fie mai mult pentru a suprascrie kernel, folosind instrucțiunile simple de la «Hardware Manual» aplicat la depanare. Mulțumiri speciale inginerilor de sprijin, pe care ei înșiși mi-au dat imaginea.

În teorie, procedura de intermitență pare simplă:

- prin terminal (minicom) mă conectez la depanare;

- conectăm depanarea și PC-ul cu Linux prin Ethernet la un singur router

- permite depanarea și întrerupe procesul de descărcare, până când nucleul este încărcat de pe cardul SD

- Apoi vom seta parametrii de bootare, voi scrie despre ele mai jos, iar după aceea, Kernel-ul ar trebui să fie ușor încărcat prin DHCP.

Dar, în practică, nu a fost atât de simplu. Până la instalarea noului Kernel prin TFTP, nu au existat întrebări. Întrebările au început cu conectarea și încărcarea unei imagini noi prin TFTP.







După cum se precizează în instrucțiunile pentru configurarea boot-ului prin TFTP, trebuie să suprascrieți câțiva dintre parametrii de bootloader ai U-boot. Pentru aceasta, trebuie să urmați pașii următori:

1) definiți fișierul de descărcare: setenv bootfile uImage.bin

3) Descărcați Kernel: dhcp

În acest stadiu am început să am probleme. Mai jos este o copie a terminalului.

U-Boot> dhcp
BOOTP difuzat 1
*** Opțiunea DHCP nestocată în OFERTA / ACK: 52
*** Opțiunea DHCP nestocată în OFERTA / ACK: 52
Client DHCP obligat la adresa 192.168.1.101
Folosirea dispozitivului
TFTP de la server 192.168.1.100; adresa IP este 192.168.1.101
Numele fișierului ".".
Adresa de încărcare: 0xc0700000
Încărcarea: *
Eroare TFTP: "Fișierul nu a fost găsit" (1)
Pornind din nou

BOOTP difuzat 1
BOOTP difuzat 2
BOOTP difuzat 3
BOOTP difuzat 4
BOOTP difuzat 5
BOOTP difuzat 6
BOOTP difuzat 7
BOOTP difuzat 8
BOOTP difuzat 9
BOOTP difuzat 10

Retratul depășit; începând din nou

setenv ipaddr 192.168.1.101

dhcp 192.168.1.101 192.168.1.100:uImage-sgi-P2

tftpboot 192.168.1.101 192.168.1.100:uImage-sgi-P2,

după ce acest proces a trecut, iar fișierul a fost încărcat cu succes în memorie de la gazda computerului.

Apoi, conform instrucțiunilor, Kernel a fost reprogramat în FLash, folosind comenzile sf. Pentru mai multe informații despre descrierea lui sf, îl puteți obține direct în terminal tastând "help sf". În același loc de pe linia de încărcare puteți obține ajutor despre alte comenzi care sunt disponibile în ea prin tastarea. Ca totul a mers fără erori, dar când porniți din nou imaginea problema:

"Format greșit de imagine pentru comanda bootm

ERROR ^ nu poate obține imaginea kernel-ului! "

setenv fileaddr 0xc0700000

verificăm că câmpurile necesare pentru conectarea prin TFTP sunt setate corect

printenv serverip ipaddr bootfile

Și executați descărcarea TFTP cu o comandă simplă

Încărcătorul ia valorile necesare din variabilele definite anterior. Apoi repetați procesul de înregistrare a imaginii în bliț. Și în acest fel "dansurile" meu cu Kernel-ul de actualizare s-au încheiat cu succes și sistemul a fost încărcat cu succes. Ce vrei tu.







Trimiteți-le prietenilor: