#embedded-linux
#встроенный-linux
Вопрос:
Я разрабатываю встроенную программу Linux. Теперь у меня есть целевая плата, на которой запущено встроенное ядро Linux, и я хочу смонтировать файл NFS через minicom. Но когда я вызываю mount -t nfs IP:/path/to/nfs /tmp
, возникает ошибка, подобная
монтирование: неправильный тип fs, неверный параметр, неверный суперблок
192.168.1.221:/home/shihaoliu/nfs
, отсутствует кодовая страница или вспомогательная программа, или другая ошибка (для нескольких файловых систем (например, nfs, cifs) вам может понадобиться/sbin/mount.<type>
вспомогательная программа)
В некоторых случаях полезная информация содержится в системном журнале — попробуйтеdmesg | tail
или около того
Хорошо, я пробую другой метод передачи файла с хост-компьютера на целевую плату.
Я запускаю minicom на своем хост-компьютере и использую zmodem для передачи файла, но я получил ошибку, подобную этой:
0000000000-bash: 0000000000: команда не найдена.
Комментарии:
1. Для подключения общих ресурсов Windows SMB часто используются некоторые дополнительные методы: ftp, tftp, netcat (nc) и даже samba.
2. надеюсь, эта ссылка поможет вам настроить NFS
Ответ №1:
Хорошо, я думаю, что нашел решение для использования minicom для передачи файла.
-
Во-первых, вам необходимо установить minicom и lrzsz на ваш хост-компьютер. Вы можете использовать команду:
>> apt-get install minicom
>> apt-get install lrzsz
-
Во-вторых, вам необходимо установить lrzsz на вашу целевую плату. Вы можете получить исходный код lrzsz на http://www.filewatcher.com/m/lrzsz-0.12.20.tar.gz.280938.0.0.html
Теперь вам нужно перекрестно скомпилировать исходный код lrzsz. В корневом каталоге lrzsz вы найдете установочный файл, в котором описывается процедура. Теперь выполните команду configure.
>> ./configure
-
После настройки вы получите Makefile. Теперь вам нужно изменить Makefile в каталогах
root
,/lib
/src
.,,,,,. Например, следующее:
CC = arm-lnone-linux-gnueabi-gcc
CPP = arm-lnone-linux-gnueabi-gcc -E
-
И вам также необходимо изменить Makefile в
/intl
каталоге. Например, следующее:
AR = arm-none-linux-gnueabi-ar
CC = arm-none-linux-gnueabi-gcc
RANLIB = arm-none-linux-gnueabi-ranlib
-
На данный момент вы можете заставить программу использовать команду make, после чего вы получите файлы lsz, lrz. Скопируйте эти два файла на свою целевую плату и поместите оба в
/bin
директорию. В конце концов, вы успешно установили minicom. Теперь вы можете перейти в/tmp
каталог и ввести команду:
>> lrz
-
Введите с клавиатуры Ctrl A S и выберите zmodem, теперь вы можете перенести файл на целевую плату с хост-компьютера.
-
Когда передача завершена, вы можете найти файл в
/tmp
каталоге.
Хорошо, это все, что я знал. Надеюсь, это кому-то поможет.