У нас было 2 пакета коннекторов rj-45, четыре роутера, три адаптера USB-ATA, восемь флешек, два SSD диска, полсотни BIN файлов прошивок, десяток ESPшек, три одноплатных микрокомпьютера, китайские хабы и километры витой пары категории 5E. Не то, чтобы это был необходимый запас для настройки SSD диска. Но если начал настраивать, становится трудно остановиться. Единственное что вызывало у меня опасение — это роутер TP-Link TL-MR3020. Нет ничего более беспомощного, безответственного и испорченного, чем упоротые MR3020. Я знал, что рано или поздно мы перейдем и на эту дрянь.
Я стараюсь все очень подробно объяснить, показать и рассказать для того что бы каждая домохозяйка смогла управлять государством установить и пользоваться OpenWrt и программными продуктами.
Linux в каждый дом!
Напомню в статье используются:
- Роутер TP-Link TL-MR3020 V3.2 (продается в магазинах на сегодняшний момент) + SSD диск Apacer 128GB +адаптер USB 2.0- SATA
- Прошивка последняя доступная на сегодняшний момент OpenWrt 19.07.6 (r11278-8055e38794)
Это продолжение, начало см. ссылки в конце странички
fdisk
Напомню что работаем мы с PuTTY (предыдущая статья: "Роутер TP-Link TL-MR3020 - модернизация, добавим SSD и памяти. Часть III")
Закончили мы на fdisk, а именно на fdisk -l
Теперь мы работаем с Disk /dev/sda именно с каталогом sda
Набираем
fdisk /dev/sda
Тем самым говорим роутеру что работаем сейчас с нашим диском sda
Роутер выдает вот такое предупреждение
Welcome to fdisk (util-linux 2.34). Changes will remain in memory only, until you decide to write them. Be careful before using the write command.
Что значит
Добро пожаловать в fdisk (util-linux 2.34). Изменения останутся только в памяти, пока вы не решите их записать. Будьте осторожны перед использованием команды записи.
Ок. Мы прочитали, осознали и готовы работать!
Начинаем создавать разделы.
Создаем первый раздел
1. Вводим "n" (сейчас и далее буква или цифра без кавычек и нажимаем Enter) - тем самым создаем раздел
2. Вводим "1" - это номер раздела, первый
3. Затем начальный сектор (First sector) - оставляем по умолчанию, просто жмем "Enter"
4. Конечный сектор (Last sector) - +1G, Это значит что всего раздел будет 1Гб
Роутер и программа fdisk отчиталась:
Created a new partition 1 of type 'Linux filesystem' and of size 1 GiB.
Что значит:
Создан новый раздел 1 типа «Файловая система Linux» размером 1 ГБ.
Это хорошо, но мы не доверяем и посмотрим еще раз
Вводим "P" - и посмотрим, что получилось (1)
/dev/sda1 2048 2099199 2097152 1G Linux filesystem
Все отлично, но строчка "Linux filesystem" нам не нравится(!) мы же создаем Swap раздел поэтому...
Набираем " t" - вводим 82, "Enter" Тем самым, цифрой 82 говорим роутеру что создаем " Swap"
Так было раньше, но сейчас fdisk версии 2.34 по "L" после "T" выдает что: "Linux Swap" это 19, а 82 стало "VMware Virtual SAN"
Вот скриншоты
В интернете я не нашел упоминание о изменения кодирования файловых систем в Linux, что это вообще такое, или я что то не понимаю? Ладно продолжим.
Поэтому набираем "t" - вводим 19, "Enter" Тем самым, цифрой 19 говорим роутеру что создаем "Linux swap"
И опять "P" - и смотрим что получилось
/dev/sda1 2048 2099199 2097152 1G Linux swap
Отлично!
Создаем второй раздел
Все то же самое только без Swap раздела
Вводим "n" создать раздел
Затем номер - номер раздела это 2, или можно ничего не нажимать, по умолчанию и так будет 2 т. е. просто жмем "Enter"
Затем начальный сектор (First sector) - оставляем по умолчанию, просто жмем "Enter"
Конечный сектор - +1G
"P" - смотрим что получилось
Device Start End Sectors Size Type
/dev/sda1 2048 2099199 2097152 1G Linux swap
/dev/sda2 2099200 4196351 2097152 1G Linux filesystem
Создаем третий раздел
Все то же самое.
Вводим "n" создать раздел
Затем номер - номер раздела это 3 , или можно ничего не нажимать, по умолчанию и так будет 3 т. е. просто жмем "Enter"
Затем начальный сектор (First sector) - оставляем по умолчанию, просто жмем "Enter"
Конечный сектор - просто жмем "Enter" и распределяем все оставшееся место
P - смотрим что получилось
Device Start End Sectors Size Type
/dev/sda1 2048 2099199 2097152 1G Linux swap
/dev/sda2 2099200 4196351 2097152 1G Linux filesystem
/dev/sda3 4196352 250069646 245873295 117.2G Linux filesystem
Отлично!
Обязательно жмем W!
W - тем самым закрепляем данные, записывая их в файловую таблицу
Получаем вот такой сообщение
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
Это говорит нам, что изменена таблица разделов. И это есть хорошо
Для проверки опять набираем
fdisk -l
Отлично все записалось в файловую таблицу
Мы разбили диск на разделы, но теперь их нужно отформатировать
Форматируем
На нашем роутере нет пакета (программы) для форматирования диска, называется он "e2fsprogs", его нужно установить
Можно установить как мы раньше устанавливали через терминал
opkg update
opkg install e2fsprogs
А можно через LuCI, ничего сложного в этом нет
Идем в WEB интерфейс роутера System>Software,
1) затем жмем на "Update lists..." выскочит такое окно, это значит все хорошо.
Жмем на "Dismiss"
2) Вбиваем пакет который хотим установить, "e2fsprogs", ентер.
3) Он нашелся!
4) Жмем "Install..." и все
Вот по пунктам что надо делать
Еще возникнет окно
С вопросом: "Overwrite files from other package(s)". Перезаписать файлы из других пакетов? Вы можете не ставить галочку. а просто жать "Install" Через некоторое время пакет установится.
о вернемся в командую строку, вбиваем или копируем
mkswap -L swap /dev/sda1
Создали раздел подкачки
mkfs.ext4 -L overlay /dev/sda2
mkfs.ext4 -L mr3020 /dev/sda3
mkfs - создаёт новую файловую систему Linux
через точку тип файловой системы, у нас ext4
-L - указывает какую метку диска присвоить
Последний диск будет форматироваться подольше там больший объем.
Редактируем файл fstab.
Что это за файл и зачем он нам нужен?
Файл fstab - это текстовый файл в котором хранится информация о устройствах хранения информации в вашем компьютере, другими словами так хранится информация о нашем диске (флешке). А еще подробнее, мы должны указать, примонтировать наши диски (их три) таким образом при загрузке роутер будет знать что они есть и считывать и записывать туда информацию.
Для того чтоб отредактировать текстовый файл мы должны это сделать через текстовый редактор, по умолчанию установлен текстовый редактор vi, но многим он не нравится и вы можете установить не менее известный текстовый редактор nano, по умолчанию он не установлен. Мы же будем редактировать через vi так как у нас мало памяти (хотя для nano хватит)
файл fstab находится по адресу /etc/config/fstab
Загружаем его в vi вот так
vi /etc/config/fstab
Работа с редактором VI
- :q! Выход без сохранения (так и набираете сначала двоеточие, потом q, затем ! знак и Enter и вываливаетесь в корневой каталог)
- Клавиша "I" режим редактирования
- ESC - выход из режима редактирования.
- :wq - выход с сохранением
Формируем fstab
По умолчанию fstab пустой, но мы туда запишем информацию
Вот так (ссылка на код)
Как видите файл состоит из отдельных частей, в данном случае их три
- config 'global' - это глобальные настройки
- config 'swap' - монтирование Swapа
- config 'mount' - Монтирование остальных дисков
Некоторые настройки понятны и так:
- option target '/mr3020' - название папки
- option device /dev/sda3 - что монтируем
- option fstype ext4 - файловая система
- option enabled '1' - включаем
Но некоторые совсем непонятны, давайте их разберем
Параметры раздела config 'global'
- option anon_swap '0' # монтировать своп-раздел, даже если он не описан в fstab
- option anon_mount '1' # монтировать раздел с данными, даже если он не описан в fstab
- option auto_swap '1' # автоматически монтировать своп-раздел при его обнаружении
- option auto_mount '1' # автоматически монтировать раздел с данными при его обнаружении
- option delay_root '5' # задержка X секунд до попытки монтирования корневого раздела (по умолчанию стоит 5, но для раскрутки и чтения с HDD мне не хватало и диски не монтировались поставил 10)
- option check_fs '0' # проверять файловую систему при монтировании
- option from_fstab '1' # читать данные fstab в случае "горячего" подключения устройства
О uuid (индивидуальный номер диска)
Если вы еще раз посмотрите на код fstab, тот который был выше (вот еще раз, ссылка) то увидите, что примонтирован может быть любой диск который определился как dev/sda, но что делать если у вас паранойя! И вы думаете, что так каждый может взять и принести свой диск и его примонтировать, а вдруг там вирусы или еще чего похуже, мемасики например из интернета. На этот случай есть uuid это индивидуальный номер диска.
Узнать UID диска можно с помощью программы blkid, установив ее:
opkg update
opkg install blkid
Теперь если вы впишите индивидуальный номер ваших дисков то уже ни один шпион не принесет поддельный, свой жесткий диск к вашему роутеру.
Номер для примера
option uuid '3c5cdef8-d026-4b44-ab75-571380bd46c0'
Но вернёмся к нашим обычным настройкам, итак копируем мои настройки в fstab или изменяем под свои параметры.
Порядок действий
- 1. Загружаем
vi /etc/config/fstab
- 2. Жмем клавишу "I"
- 4. Жмем ESC
- 5. Пишем :wq тем самым все записываем и выходим
Не забудьте переключится на английский алфавит на русском ничего не получится.
Эти настройки у нас активизируются при загрузке роутера, пока мы не перезагрузились ничего не поменялось.
Утилиты для получение информации о памяти и дисках
Прогоним еще несколько утилит, а именно две, для того что бы было потом с чем сравнивать.
1. df - информация о диска
df -h
df - утилита предоставляет нам информацию о дисках в системе
-h - выводит размеры в читаемом виде, в мегабайтах или гигабайтах
На скриншоте ниже мы видим что все в мегабайтах, а не в гигабайтах как у нас забито, но еще не применилось.
2. free - информация о памяти
free
О использовании памяти в LInux, нам она интересна так как мы сможем посмотреть Своп (SWAP)
Вот собственно скриншот SWAP равен нулю
Работа утилит в виде текста:
block-mount
Для того что бы диск определился в системе и для того чтобы правильно отработал fstab диск нужно смонтировать, для этого нужна специальная утилита для монтирования. Называется она block-mount, но дело в том, что эта утилита не стоит по умолчанию. Итак, нам нужна утилита block-mount, устанавливаем ее.
opkg update
opkg install block-mount
Перезагружаем роутер что бы отработал fstab при загрузке
reboot
Проверка
После установки этой программки и перезагрузки роутера мы увидим следующие изменения:
В WEB интерфейсе в разделе System появится новое подменю Mount Points (Точки Монтирования)
При работе через терминал так же заметны изменения, набираем и смотри Своп (Swap) наш гигабайт
free
Отлично!
Но остался наши разделы дисков overlay и mr3020, где они, вобще?
Для этого мы должны не просто смонтировать оставшиеся диски, а они уже примонтированы, но и получить доступ к ним, а это диски:
- 2. overlay
- 3. mr3020
Диски эти с файловой системой ext4, помните мы ее выбрали, но дело в том что эта система не поддерживается OpenWrt по умолчанию и мы должны установить пакет kmod-fs-ext4
Установка:
opkg update
opkg install kmod-fs-ext4
Перенос Оверлея
Теперь будет чуть сложно, но внимание, монтируем диск вручную и создаем временную директорию /mnt/sda2, как пример, а на самом деле, можно любую, для переноса внутреннего Overlay-я, который расположен во внутренней памяти роутера, и монтируем в нее раздел USB-накопителя, а именно sda2, затем копируем туда внутренний Overlay роутера. А потом отмонтируем и удаляем папку в mnt/sda2 так как она нам больше не нужна, но информация (Overlay) на sda2 жесткого диска осталась и он загрузится после перезагрузки благодаря установкам в fstab
mkdir /mnt/sda2
mount /dev/sda2 /mnt/sda2
cp -a -f /overlay/. /mnt/sda2
umount /mnt/sda2
rm -rf /mnt/sda2
reboot
Проверка
Заходим в WEB интерфейс System > Mount Points (Точки Монтирования)
Разительно отличается от прошлого раза, занято уже не 36%, а 0,45%, ну и 904MB из 1 GB свободно
Ну и конечно утилита df -h из командной строки
df -h
Смонтированы и распознаны два диска mr3020, overlay (красненьким), сам overlay стал под гигабайт (зелёненьким)
Ну и напоследок заходим в WEB интерфейс System > Software
99% Свободно!
Но на этом на сегодня все, теперь мы развернемся по полной, установим все до чего дотянемся, но сначала программы которые помогут нам работать с роутером и как всегда...
Продолжение следует...
Предыдущие части I, II, III
- Часть I. TP-Link TL-MR3020 супер роутер - комбайн для нищебродов.
Продолжение
- Подключаем роутер TP-Link TL-MR3020 V3 по UART-USB (через COM-порт) и прошиваемся.
Статьи по теме
Подписывайтесь на наш канал TehnoZet-2 , будет интересно! Мы активно развиваемся! Понравилась статья, хотите продолжения - пишите комментарии, ставьте лайк, жмите палец вверх!
#роутер
#tl-mr3020
#openwrt