openwrt overlay на внешнем usb диске

Подготовка

Установите следующие пакеты:

  • 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

  1. Создайте на USB-диске разделы и отформатируйте их, используя любой Live CD с Linux или средствами uci (рекомендуется использовать первый раздел для root overlay, второй для swap (если он вам необходим), а далее разместить прочие разделы, которые вам нужны)
  2. Скопируйте /overlay на USB-устройство

    mount /dev/sda1 /mnt
    tar -C /overlay -cvf - . | tar -C /mnt -xf -
    umount /mnt
  3. Создайте шаблон fstab

    block detect > /etc/config/fstab
    vi /etc/config/fstab
  4. Внесите исправления в /etc/config/fstab:
    1. Все строки вида enabled '0'  приведите к enabled '1'
    2. Отредактируйте option target корневого раздела overlay, чтобы он выглядел как /overlay (НЕ overlay, поскольку это приведёт к ошибочному двойному монтированию)
    3. Отредактируйте 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'
  5. Перезагрузите роутер
  6. Убедитесь, что разделы корректно смонтированы:
    • с помощью 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

openwrt overlay на внешнем usb диске: 1 комментарий

  1. Спасибо. Много воды в интернете и непонятных инструкций. благодаря Вашей статье разобрался что к чему.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.