Небольшое продолжение темы про роутер WD, хотя касается и других устройств на OpenWRT.
В моем роутере 16 мегабайт памяти, и ее, внезапно, стало мало, поэтому я решил попробовать перенести систему на USB флешку. Опять же, внезапно, все оказалось достаточно просто и почти без косяков.
Для начала нужно поставить необходимые пакеты (насколько какой пакет необходим точно сказать не могу, поставил сразу все эти):
opkg update
opkg install kmod-usb-uhci kmod-usb-ohci kmod-usb2 kmod-usb-core kmod-usb-storage usbutils block-mount kmod-fs-ext4
Возможно нужен ребут роутера или можно подключить модули руками, упустил этот момент.
После подключения флешки (заранее отформатированной в ext4) она появится как /dev/sda. Как правило, созданный раздел будет отображаться как /dev/sda1. Монтируем:
mkdir /mnt/sda1
mount /dev/sda1 /mnt/sda1
Теперь нужно скопировать содержимое /overlay на флешку:
tar -C /overlay -cvf - . | tar -C /mnt/sda1 -xf -
Генерируем fstab (он тут не похож на fstab'ы которые я видел до этого):
block detect > /etc/config/fstab
Открываем редактором файл /etc/config/fstab и изменяем в разделе 'mount':
option target '/mnt/sda1' на option target '/overlay'
option enabled '0' на option enabled '1'
После перезагрузки роутера, загрузиться он уже не смог. Помогла правка этого же файла но уже в разделе config 'global', заменить:
option delay_root '5' на option delay_root '20'
После загрузки роутера df -h показал что /overlay примонтировался успешно. Happy End!