Подготовка
Установите следующие пакеты:
-
block-mount (подробную информацию смотрите в block_mount и в fstab).
-
kmod-fs-ext4 или kmod-fs-[файловая система, которую вы используете на USB-диске]
-
kmod-usb-storage-extras
opkg update opkg install block-mount kmod-fs-ext4 kmod-usb-storage-extras
-
Если opkg выдаёт ошибку при установке kmod-usb-storage-extras, следует сперва установить
kmod-usb-core
-
Создайте на USB-диске разделы и отформатируйте их, используя любой Live CD с Linux или средствами uci (рекомендуется использовать первый раздел для root overlay, второй для swap (если он вам необходим), а далее разместить прочие разделы, которые вам нужны)
-
Скопируйте /overlay на USB-устройство
mount /dev/sda1 /mnt tar -C /overlay -cvf - . | tar -C /mnt -xf - umount /mnt
-
Создайте шаблон fstab
block detect > /etc/config/fstab vi /etc/config/fstab
-
Внесите исправления в
/etc/config/fstab
:-
Все строки вида
enabled '0'
приведите кenabled '1'
-
Отредактируйте
option target
корневого раздела overlay, чтобы он выглядел как/overlay
(НЕoverlay
, поскольку это приведёт к ошибочному двойному монтированию) -
Отредактируйте
option target
прочих разделов, в соответствии с тем, куда вы хотите их примонтировать (и не забудьте создать соответствующие директории в файловой системе)
После всех манипуляций ваш fstab будет выглядеть примерно так:config 'global' option anon_swap '0' option anon_mount '0' option auto_swap '1' option auto_mount '1' option delay_root '5' option check_fs '0' config 'mount' option target '/overlay' option uuid 'c91232a0-c50a-4eae-adb9-14b4d3ce3de1' option fstype 'ext4' option enabled '1' config 'swap' option uuid '08b4f0a3-f7ab-4ee1-bde9-55fc2481f355' option enabled '1' config 'mount' option target '/data' option uuid 'c1068d91-863b-42e2-bcb2-b35a241b0fe2' option enabled '1'
-
-
Перезагрузите роутер
-
Убедитесь, что разделы корректно смонтированы:
-
с помощью LuCI
-
в System – Software должно быть видно свободное пространство на разделе
-
в System – Mount Points должен быть виден USB-раздел, смонтированный как
overlay
-
-
с помощью консоли
-
команда
mount
должна показать USB-раздел, смонтированный как/overlay
root@OpenWrt:mount /dev/root on /rom type squashfs (ro,relatime) proc on /proc type proc (rw,noatime) sysfs on /sys type sysfs (rw,noatime) tmpfs on /tmp type tmpfs (rw,nosuid,nodev,noatime) /dev/ubi0_1 on /overlay type ubifs (rw,noatime) overlayfs:/overlay on / type overlay (rw,noatime,lowerdir=/,upperdir=/overlay/upper,workdir=/overlay/work) tmpfs on /dev type tmpfs (rw,relatime,size=512k,mode=755) devpts on /dev/pts type devpts (rw,relatime,mode=600) /dev/sda1 on /overlay type ext4 (rw,relatime,data=ordered) /dev/sda3 on /data type ext4 (rw,relatime,data=ordered) debugfs on /sys/kernel/debug type debugfs (rw,noatime)
-
df
должен показать свободное пространство на разделах/overlay
и/data
root@OpenWrt:df Filesystem 1K-blocks Used Available Use% Mounted on rootfs 27180 7796 17964 30% / /dev/root 2304 2304 0 100% /rom tmpfs 127668 1468 126200 1% /tmp /dev/ubi0_1 1998672 8056 1869376 0% /overlay overlayfs:/overlay 27180 7796 17964 30% / tmpfs 512 0 512 0% /dev /dev/sda1 1998672 8056 1869376 0% /overlay /dev/sda3 242846048 163864 230323224 0% /data
-
-
Спасибо. Много воды в интернете и непонятных инструкций. благодаря Вашей статье разобрался что к чему.