Reparar o uEnv.txt do terminal U-Boot?

2

Eu tenho um BeagleBone Black, com o Debian 8.3, Linux 4.1.15-ti-rt-r43.

EDITAR : O sistema está instalado no flash interno .

Eu modifiquei o /boot/uEnv.txt para carregar um arquivo dtb diferente, aparentemente com nome de arquivo incorreto, para que ele não inicialize no Linux.

Então eu conectei via pinos J1 / UART0 - > programa de terminal no meu PC. Vejo que o U-Boot reclama que um arquivo não foi encontrado, então ele não inicia o Linux e me dá os comandos do U-Boot. O que foi listado depois de inserir "ajuda" não pareceu muito útil.

É possível, e viável, reparar o uEnv.txt do meu console serial com comandos U-Boot - o que funcionaria ... como? Ou qual seria a melhor abordagem?

EDIT # 2 : Encontrar alguns recados úteis neste site, que não diz exatamente, mas levam em uma direção útil:

EDIT # 3 : Eu vi que eu tenho um arquivo de backup antigo de uEnv.txt em mmc1. Há o comando U-Boot "load", para carregar um arquivo na memória e "salvar", para salvar um arquivo. Você precisa especificar o endereço e o tamanho. Tamanho do arquivo que você vê no comando "ls mmc 1 boot". Olhando para o mapa de memória na página 35 deste slide: link , a RAM começa em 0x80000000 . Adivinhando que se apenas o U-Boot estiver na RAM, onde esperamos que não seja nada em, digamos, 384 Mbytes, tentei carregar o arquivo para 98000000 e salvar de lá, mas salvar retornou "incapaz de gravar Arquivo". Que pena.

    
por sktpin 13.06.2018 / 14:07

1 resposta

0

Ok, eu desisti da rota do U-Boot, apesar de que teria sido legal, se tivesse funcionado.

Eu peguei a variante da IoT (apenas console, sem GUI, downloads mais rápidos) da imagem Debian do BeagleBone, por exemplo. "Esticar IoT (sem área de trabalho gráfica)": link

e seguiu os passos aqui: link

Existe um link de como piscar, ou seja, passos extras são necessários para isso - bom, lembrei-me disso errado. Temia que a inicialização do sdcard pudesse piscar o emmc interno, o que eu não quero.

Como mencionado anteriormente, quando um cartão SD é inserido, o dispositivo sdcard mmc será o número 0 e o flash interno (emmc) será 1. Além disso, o sistema de arquivos no emmc é aparentemente ext4. Então você precisa montar isso:

debian@beaglebone:~$ sudo mkdir /mnt/emmc
debian@beaglebone:~$ sudo mount -t ext4 /dev/mmcblk1p1 /mnt/emmc

Então você pode ir até a pasta de inicialização no emmc montado:

debian@beaglebone:/$ cd /mnt/emmc/boot/

e corrija o uEnv.txt com um editor ou o backup que você fez com antecedência;)

    
por 14.06.2018 / 14:19