Скопируйте файлы из emmc через uboot на tftp-сервер - PullRequest
0 голосов
/ 06 марта 2019

У меня проблема в том, что устройство не загружается в Linux.Он просто держит «Запуск ядра ...».

Чтобы лучше понять, что идет не так, я подумал, что было бы неплохо получить доступ к журналам из Linux.

Я могуполучить доступ к пользовательской среде из uboot через "ls":

Zynq> ls mmc 0:2 
ostree/deploy/poky/deploy/9d325972b955e6584d3fad0a7ff1bf1a8.0/etc
<DIR>       2048 .
<DIR>       1024 ..
<DIR>       1024 modprobe.d
            0 motd
<DIR>       1024 xdg
<DIR>       1024 logrotate.d
          58 rpcbind.conf
        1633 inputrc
         828 mke2fs.conf
          15 timestamp
       10929 login.defs
         324 issue
<DIR>       1024 sudoers.d
etc ...

Теперь я ищу способ скопировать файлы из пользовательской области на другое устройство (удаленный компьютер).

Я узнал о "tftpput ", который доступен в Uboot.Моя проблема в том, что «tftpput» ожидает сохранения адреса и размера.Но я не знаю, как получить эту информацию.

tftpput - TFTP put command, for uploading files to a server

Usage:
tftpput Address Size [[hostIPaddr:]filename]

Мне не удалось найти хорошую документацию по "tftpput".Может быть, у кого-то есть ссылка для меня или предоставить мне небольшое "как" об этом?

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 07 марта 2019

Чтобы проанализировать, почему ядро ​​не загружается, вы можете включить раннюю консоль.

Для систем ARM 64bit ранняя консоль включается через параметры командной строки ядра. U-Boot берет их из переменной окружения bootargs.

Аргументы для earlycon зависят от вашей доски, например, для Odroid C2:

setenv bootargs earlycon=meson,0xc81004c0

Для ранней консоли в 32-битной системе ARM вам придется скомпилировать ядро ​​с соответствующими параметрами конфигурации, например, для бананового пи:

CONFIG_DEBUG_LL=y
CONFIG_DEBUG_SUNXI_UART0=y
CONFIG_EARLY_PRINTK=y
0 голосов
/ 06 марта 2019

Чтобы ответить на конкретный вопрос, вам нужен сервер tftp на другом компьютере. Затем, когда вы используете «load» для переноса файла в память, у вас теперь будет этот адрес, теперь для вас будет задан $ filesize (для параметра size), и машина, на которой вы устанавливаете tftp сервер, является последней частью команды. .

Тем не менее, если вы видите только «Запуск ядра» и ничего больше, вполне вероятно, что ядро ​​linux не доходит до точки, где смонтированы rootfs, запускается пользовательское пространство, и вы увидите файлы журнала. , Без дополнительной информации сложно сказать, что вам нужно делать здесь, но ваши бутарги - первое место, которое проверяет правильность.

...