+7(952) 531-56-65

out4ru@gmail.com

Процессорные модули » Статьи » Статья 3. Установка и настройка Tftpboot и NFS

Статья 3. Установка и настройка Tftpboot и NFS


Описание


Установка и настройка tftpboot и NFS не является обязательным условием, но крайне желательна, ввиду того что в дальнейшем поможет сэкономить много времени.
Установка tftpboot

out4@out4-lm:~$ sudo apt-get install openbsd-inetd tftpd tftp

По умолчанию tftp сервер настроен на использование каталога /srv/tftp, мы же перенастроим его на использовании каталога /tftpboot. Для этого с правами администратора редактируем файл /etc/inetd.conf любым имеющимся текстовым редактором (gedit, vi, nano и т.д.) 

out4@out4-lm:~$ sudo vi /etc/inetd.conf

в файле ищем строку 

tftp        dgram    udp    wait    nobody    /usr/sbin/tcpd    /usr/sbin/in.tftpd /srv/tftp

и исправляем ее на 

tftp        dgram    udp    wait    nobody    /usr/sbin/tcpd    /usr/sbin/in.tftpd /tftpboot

сохраняем изменения в файле и выходим. Создаем сам каталог /tftpboot

out4@out4-lm:~$ sudo mkdir /tftpboot

изменяем права доступа

out4@out4-lm:~$ sudo chown -R nobody /tftpboot
out4@out4-lm:~$ sudo chmod -R 777 /tftpboot/

перезапускаем службу inetd

out4@out4-lm:~$ sudo /etc/init.d/openbsd-inetd restart

создаем тестовый файл в /tftpboot

out4@out4-lm:~$ echo Its test file > /tftpboot/testfile

Готово. С помощью tftp сервера, в дальнейшем мы будем загружать файлы ядра на плату, чтобы не записывать их на карту или в память NAND/eMMC/SPI.

Теперь установим NFS. NFS - это сетевая файловая система размещенная на сервере, который мы сейчас установим и настроим. NFS позволяет клиентам (платам и модулям) монтировать как обычный диск в системе. 

Устанавливаем NFS

out4@out4-lm:~$ sudo apt install nfs-kernel-server
NFS прослушивает соединения по TCP/UDP на порту 2049. Проверим так ли это

out4@out4-lm:/tftpboot$ sudo rpcinfo -p | grep nfs
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100003    3   udp   2049  nfs

Проверим есть ли поддержка NFS в ядре 

out4@out4-lm:/tftpboot$ cat /proc/filesystems | grep nfs
nodev   nfsd

Теперь создадим каталог rootfs в котором будем хранить различные файловые системы, которые нам придется собирать (buildroot, debian, openwrt и т.д.). Данные каталог создадим в уже имеющемся у нас каталоге /tftpboot

out4@out4-lm:~$ sudo mkdir /tftpboot/rootfs

И теперь еще пару пустых каталогов внутри rootfs

out4@out4-lm:/tftpboot$ sudo mkdir /tftpboot/rootfs/buildroot
out4@out4-lm:/tftpboot$ sudo mkdir /tftpboot/rootfs/openwrt
out4@out4-lm:/tftpboot$ sudo mkdir /tftpboot/rootfs/debian

теперь отредактируем файл /etc/exports в котором хранятся все настройки NFS. Сейчас он выглядит приблизительно так:

out4@out4-lm:/tftpboot$ sudo vi /etc/exports
# /etc/exports: the access control list for filesystems which may be exported
#               to NFS clients.  See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes       hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4        gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes  gss/krb5i(rw,sync,no_subtree_check)
#
[/code]
Нам необходимо прописать в нем наши каталоги buildroot, openwrt, debian. Поэтому добавляем следующие строки

[/code][/code][/code]
out4@out4-lm:/tftpboot$ sudo vi /etc/exports
# /etc/exports: the access control list for filesystems which may be exported
#               to NFS clients.  See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes       hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4        gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes  gss/krb5i(rw,sync,no_subtree_check)
#

/tftpboot/rootfs/buildroot         192.168.1.0/24(rw,sync,no_root_squash,subtree_check)
/tftpboot/rootfs/openwrt         192.168.1.0/24(rw,sync,no_root_squash,subtree_check)
/tftpboot/rootfs/debian         192.168.1.0/24(rw,sync,no_root_squash,subtree_check)



Сохраняем, выходим и обновляем таблицу экспорта NFS командой

out4@out4-lm:~$ sudo exportfs -a



Если возникли затруднения, ссылки на данную тему ниже:


Установка TFTP сервера (tftpd) в Ubuntu Linux
Разворачиваем TFTP сервер на Debian/Ubuntu
Сетевая файловая система (NFS)
ПОДНИМАЕМ NFS СЕРВЕР НА UBUNTU
НАСТРОЙКА NFS В UBUNTU 16.04

Быстрая доставка

Безопасная оплата

Гарантия качества