Acesse o sistema de arquivos raiz do U-boot

Acesse o sistema de arquivos raiz do U-boot

Estou tentando depurar um dispositivo embarcado, conexão via porta serial, conectado com cabo USB para UART. Embedded Linux v.2.6.26.5 Como acessar o sistema de arquivos raiz "/" e subdiretórios no FS raiz? O shellcomando não está disponível no modo U-boot. Existe uma maneira de acessar o shell CLI do U-boot? Os comandos e logs U-boot disponíveis sãoaquieaqui.

Responder1

Eu acho que você precisa seguir o terceiro estágio do U-boot.

A terceira etapa é o carregamento do kernel Linux. No entanto, antes que o kernel Linux assuma o controle, o u-boot passa uma linha de comando para o kernel contendo parâmetros essenciais. Esses parâmetros podem ser visualizados após a inicialização do sistema operacional, digitando o seguinte em uma janela do Terminal:

$ cat /proc/cmdline
root=/dev/mmcblk0p2 rootwait rw console=ttyS0,115200n8 console=tty0 no_console_suspend vdaccfg=0xa000 logo=osd1,loaded,0x7900000,720p,full dmfc=3 cvbsmode=576cvbs hdmimode=1080p m_bpp=32 vout=hdmi disablehpd=true

O kernel inicializa o hardware, monta o sistema de arquivos raiz (de acordo com o parâmetro root=... do kernel) e passa o fluxo de controle para /sbin/init. se você precisar de mais detalhes sobre o Uboot, siga istolink

Responder2

Dependendo do sistema de arquivos e da mídia, você poderá despejar dados em formato hexadecimal diretamente no shell do u-boot. Se você estiver fazendo engenharia reversa, observe helpa saída para entender que tipo de comandos de acesso e manipulação de dispositivos de armazenamento de mídia você compilou no U-boot e continue a partir daí. Depois de carregar na memória ou talvez até mesmo sem ela, você pode usar 'md' para despejá-la. Use endereços de carregamento após a parte u-boot na memória ou ele será reinicializado. Tenha em mente que na maioria das vezes os sistemas de arquivos são compactados e não podem ser modificados permanentemente (squashfs é comum). Às vezes, o u-boot vem com um comando que pode carregar e ler os dados descompactados. Espiar o sistema de arquivos a partir do despejo de memória pode ser entediante, por isso geralmente é melhor registrar localmente um despejo de partição inteiro, convertê-lo em binário e lidar com ele localmente.

Você pode conseguir carregar um shell modificando o init=argumento do kernel para apontar para um programa shell. Normalmente, com dispositivos incorporados, é o busybox, então isso seria /bin/ash.

informação relacionada