проблема
У меня есть встроенная система, которую я не могу загрузить через NFS с использованием встроенного образа ядра Linux и rootfs, которые размещены на моем ноутбуке (который служит как NFS-сервером, так и TFTP-сервером).
Полезная информация
Мой ноутбук /etc /exports:
/tftpboot/rootfs_arm-gnueabi *(rw, синхронизация, insecure_locks, no_root_squash, no_all_squash)
Путь к образу Linux (myImage): /tftpboot / Путь к корневой файловой системе (rootfs): /tftpboot /
IP-адрес сервера TFTP и NFS: 10.3.70.116
IP-адрес моей встроенной системы: 10.3.70.181
Команды, которые я использую для перезапуска серверов NFS и TFTP
sudo /etc/init.d/nfs-kernel-server restart
sudo /etc/init.d/xinetd restart
подробности
Когда я запускаюсь на встроенной машине, U-Boot загружается, а затем система начинает загружать myImage и, наконец, пытается получить доступ к rootfs через NFS, печатая некоторые странные символы, как показано в конце следующей цитаты.
Имя файла 'myImage'.
Адрес загрузки: 0x2000000
Загрузка: * ##################################################### ################################################## ################
сделанныйПередано байтов = 1181188 (гекс 120604)
Загрузка образа в 02000000 ...
Название изображения: Linux-2.6.22.18
Создано: 2010-12-07 6:01:19 UTC
Тип изображения: образ ядра ARM Linux (без сжатия)
Размер данных: 1181124 байта = 1,1 МБ
Адрес загрузки: 00008000
Точка входа: 00008000
Проверка контрольной суммы ... Хорошо
Хорошо
Проверка порядка ядра Linux в 0x02000040 = 0xe1a00000
Ядро Linux - это LE
Запуск ядра в режиме LE ...
Распаковка Linux ................................................ ............................... сделано, загрузка ядра.
üààààüàààààüüààüüàü
Я запустил Wireshark и захватил пакеты, чтобы увидеть, какие пакеты собираются туда-сюда с сервера и встроенной машины. При этом я обнаружил, что в какой-то момент появляется какая-то ошибка NFSERR_NOENT. и кажется, что ошибка возникает при доступе / загрузке ld.so.preload
Ниже приведены некоторые пакеты, расположенные как "Информация о протоколе назначения источника времени". Извините за беспорядочный вид. Я не мог с этим поделать. :)
4776 20.482764 10.3.70.181
10.3.70.116 NFS V2 LOOKUP Call (ответ на 4777), DH:0xf4f053a1/etc4777 20,482838 10,3,70,116
10.3.70.181 NFS V2 LOOKUP Ответ (Call In 4776), FH:0x468d1c144778 20,483000 10,3,70,181
10.3.70.116 NFS V2 LOOKUP Call (ответ в 4779), DH:0x468d1c14/ld.so.preload4779 20,483443 10,3,70,116
10.3.70.181 Ответ NOO V2 LOOKUP (вызов 4778) Ошибка:NFSERR_NOENT4780 20.483712 10.3.70.181
10.3.70.116 NFS V2 LOOKUP Call (Ответ в 4781), DH:0x468d1c14/ld.so.cache4781 20.483839 10.3.70.116
10.3.70.181 Ответ NOO V2 LOOKUP (звонок в 4780) Ошибка:NFSERR_NOENT
Если вы до сих пор читали :) и получили некоторую подсказку, я буду рад узнать, что, по вашему мнению, идет не так.
Большое спасибо.