Проблема с загрузкой ядра (uimage) для omap 3530 с использованием tftp

Я пытаюсь загрузить uImage и filesystem, используя tftpboot/nfs. Однако у меня возникла следующая проблема.

В моем uboot у меня есть следующие настройки:

bootargs=mem=128M 
ip=dhcp noinitrd console=ttyS0,115200n8 root=/dev/nfs rw
nfsroot=192.168.x.x:/tftpboot,nolock,rsize=1024,wsize=1024

serverip, gatewayip и ipaddr настроены. Я могу пинговать целевое устройство с хоста и наоборот.

Я загружаю uImage со следующим:

setenv bootnfs 'tftp  0x80000000 uImage; bootm'
run bootnfs

$ cat /etc/exports
/tftpboot *(rw,sync,no_subtree_check,fsid=0,no_root_squash)

У меня на хосте под /tftpboot я разархивировал файловую систему (nfs.tar.gz)

$ ls /tftpboot
bin  boot  dev  etc  home  lib  linuxrc  media  mnt  nfs.tar.gz  proc
sbin  srv  sys  tmp  uImage  usr  var

Обратите внимание, у меня также есть uImage под /tftpboot.

Я не уверен, куда поместить uImage.


person Frank Coool    schedule 23.01.2015    source источник
comment
Ваш пост сбивает с толку, как будто вы не умеете пользоваться TFTP и NFS. Я пытаюсь загрузить uImage и файловую систему с помощью tftpboot/nfs -- косая черта обычно читается как или, поэтому вы написали ... с помощью tftpboot или nfs, и читается так, как будто вы не знаете разницы между этими двумя протоколами. IMO корневая файловая система, которая будет монтироваться NFS, не принадлежит /tftpboot. Я не знаю, куда поместить uImage. -- Правильное место для хранения uImage зависит от того, как был настроен сервер TFTP. Если сервер TFTP настроен на использование /tftpboot, то это ответ.   -  person sawdust    schedule 23.01.2015
comment
Нет, вы не правы. /etc/exports предназначен для NFS и не имеет ничего общего с TFTP. Каталог для TFTP-сервера указывается в его конфигурационном файле или в конфигурационном файле inetd. Каталог TFTP не должен быть даже в файле /etc/exports. Точно так же корневая файловая система NFS не принадлежит каталогу TFTP. И другие вопросы не относятся к ответу, но должны быть добавлены к исходному сообщению путем его редактирования.   -  person sawdust    schedule 24.01.2015


Ответы (1)


опилки, спасибо за ответ. Вы правы, источник проблемы - моя путаница с tftp и nfs. Я еще не проверял это, но из того, что я понял из вашего ответа:

uImage помещается в /tftpboot, поскольку tftp-сервер настроен так, чтобы указывать на путь /tftpboot (обозначается /etc/exports)

$ cat /etc/exports
/tftpboot *(rw,sync,no_subtree_check,fsid=0,no_root_squash)

файловая система (nfs.tar.gz) будет разархивирована и помещена в /tftpboot/fs, но мне нужно немного изменить bootargs (чтобы указать на /tftpboot/fs)

bootargs=mem=128M ip=dhcp noinitrd console=ttyS0,115200n8 root=/dev/nfs 

rw nfsroot=192.168.x.x:/tftpboot/fs,nolock,rsize=1024,wsize=1024

Я прав?

Еще один вопрос по плате OMAP35x Mistral: нужно ли менять какие-либо аппаратные перемычки при загрузке с nfs? правильно ли он загружается из NAND. Я пытаюсь изменить его на nfs, чтобы я мог выполнять некоторые разработки из хост-системы (Linux Ubuntu14.4)?

person frank    schedule 23.01.2015
comment
для загрузки uImage я использовал tftpboot. Но для загрузки rootfs какие шаги вы предприняли? Можете ли вы указать это? - person RDX; 17.02.2015