| Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision |
| ru:docs:guide-user:additional-software:extroot_configuration [2019/09/07 10:09] – [Корневая файловая система на внешнем устройстве (extroot)] alexche | ru:docs:guide-user:additional-software:extroot_configuration [2019/09/08 07:43] – [Через командную строку] alexche |
|---|
| |
| ===== Инструкции ===== | ===== Инструкции ===== |
| ===== Возможные альтернативы внешней корневой файловой системы ===== | |
| Существует несколько вариантов для построения/подключения устройств с внешней корневой файловой системой. Возможны следующие варианты: | |
| - Конфигурирование загрузчика [[docs:techref:bootloader]] для непосредственной загрузки с внешнего USB-устройства. Не все загрузчики имеют такую функцию. | |
| * Популярные загрузчики такие как U-Boot или RedBoot [[wp>Comparison_of_boot_loaders|support different file systems]] поддерживают такой функционал, но требуют драйвер для конкретной реализации аппаратуры! | |
| - Конфигурирование загрузчика для загрузки по сети -> [[inbox:howto:netboot]]. Подобной функциональностью обладает ещё меньшее количество загрузчиков. | |
| - Создание установки чтобы ''opkg'' был в состоянии устанавливать пакеты где-то в файловой системе OpenWrt -> [[docs:guide-user:additional-software:opkg#Installation destinations]]. Но обеспечение установки пакетов OPKG в корне намного удобнее, так как все файлы устанавливаются в стандартных местах файловой системы, в которых ОС ожидает их найти. | |
| - Использование [[ru:doc:howto:kexec]]. Что может потребовать очень специфических настроек в зависимости от устройства. | |
| |
| ===== Прежде чем начать... ===== | ==== 1.1. Для устройств менее чем с 4 МБ флеш памяти ==== |
| - Прочитайте статью [[docs:guide-user:additional-software:extroot_configuration:extroot.theory]] для лучшего понимания технологии внешней корневой файловой системы. Убедитесь, что поняли различия между двумя основными вариантами: "внешний overlay" (pivot overlay) и "внешний корень" (pivot root). | В образах прошивки OpenWrt по умолчанию нет инструментов для создание extroot, так как система сборки в настоящее время создает только barebone-образы. \\ |
| - Для разных версий OpenWrt конфигурации и опции будут различаться или могут отсутствовать вовсе. Инструкция ниже описывает процедуры для версий OpenWrt выше 10. Для версий ниже 10 возможен только вариант "внешний overlay", но не "внешний корень". | Единственный способ использовать эти устройства - перестроить образ прошивки с нужными пакетами с помощью Image Builder. \\ |
| - Функциональность extroot ещё дорабатывается, поэтому обязательно смотрите статьи об ошибках -> [[#Troubleshooting]] и примечания -> [[#Notes]] в процессе подготовки и далее в процессе установки и настройки! | Image Builder может работать только в 64-битной операционной системе Linux, поэтому, если у вас нет системы Linux, посмотрите инструкции по установке Ubuntu 64bit в VirtualBox. \\ |
| | Затем перейдите на ту же страницу загрузки, где вы можете загрузить прошивку для своего устройства, и прокручивать вниз, пока не найдете файл, начинающийся с "** OpenWrt-imagebuilder **". \\ |
| | Загрузите его и распакуйте в папку в системе Linux. |
| |
| | {{:meta:icons:tango:48px-emblem-important.svg.png?nolink}} | Если по каким-то причинам extroot сбоит при загрузке, то обычная конфигурация загружается из раздела JFFS2 основной flash-памяти. Вы можете скопировать оттуда старые настройки для их последующего изменения. Подобная конфигурация несёт некоторый риск (например, конфигурация SSH может оказаться незащищённой и даже доступной из Интернета). Перед установкой extroot необходимо убедиться, что система в безопасности и защищена. Также, любые изменения, внесённые в сетевое окружение, должны быть совместимы с безопасностью в исходной конфигурации JFFS2. | | Откройте терминал в этой папке и напишите: |
| |
| ===== Подготовка ===== | <code bash> |
| **Смонтируйте** **файловую систему**, куда будут скопированы настройки и корень. | make info |
| * Для USB-устройств, смотрите [[docs:guide-user:storage:usb-installing]] и [[docs:guide-user:storage:usb-drives]]. | </code> |
| * Также, обратите внимание на [[doc:howto:sata.essentials]], IDE(PATA) [[doc:howto:ide.essentials]] и [[doc:howto:cf.essentials]]. | |
| * Смотрите [[doc:howto:client.overview#Mounting Filesystems]] для монтирования удалённой файловой системы через сеть. | |
| * Смотрите [[ru:doc:howto:storage]] для общей информации о конфигурации устройств хранения. | |
| |
| Убедитесь что ваше устройство смонтировано в режиме чтения/записи и на него можно записывать данные. Для проверки смонтируйте в ручном режиме первый раздел на USB-диске ''/dev/sda'': | Это выведет на экран все возможные имена профилей для устройств, поддерживаемых этим Image Builder, чтобы мы могли создать образ для нужного устройства. |
| | Каждая запись будет выглядеть так: |
| |
| mount /dev/sda1 /mnt/sda1 | <code bash> |
| | tl-wr1043nd-v1: |
| | TP-LINK TL-WR1043N/ND v1 |
| | Packages: kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev |
| | </code> |
| |
| Убедитесь, что всё успешно подключено, запустив ''mount'' или ''df''. Также, вы можете записать файл и прочитать его непосредственно в/из ''/mnt/sda1''. | Первая строка - это имя профиля, вторая строка - полное имя вашего устройства, третья строка - список пакетов по умолчанию для этого устройства, и в нем должны быть перечислены некоторые пакеты с USB или Sata или любым другим устройством хранения. |
| |
| ===== Chaos Calmer ===== | В нашем случаи это TP-LINK TL-WR1043N/ND v1, поэтому имя профиля этого устройства **tl-wr1043nd-v1** |
| | Теперь нам нужно написать команду, чтобы начать сборку образа (обратите внимание, что имя после **PROFILE=** является именем профиля данного устройства, обязательно используйте имя профиля для своего устройства): |
| |
| ==== Подготовка ==== | <code bash> |
| Установите следующие пакеты: | make image PROFILE=tl-wr1043nd-v1 PACKAGES="kmod-fs-ext4 kmod-usb-storage kmod-usb-ohci kmod-usb-uhci" |
| * //block-mount// (подробную информацию смотрите в [[docs:techref:block_mount]] и в [[ru:doc:uci:fstab]]). | |
| * //kmod-fs-ext4// или //kmod-fs-//[файловая система, которую вы используете на USB-диске] | |
| * //kmod-usb-storage-extras// <code>opkg update | |
| opkg install block-mount kmod-fs-ext4 kmod-usb-storage-extras</code> | |
| * Если opkg выдаёт ошибку при установке kmod-usb-storage-extras, следует сперва установить <code>kmod-usb-core</code> | |
| | |
| ==== Установка на внешний overlay (рекомендованный вариант) ==== | |
| - Создайте на USB-диске разделы и отформатируйте их, используя любой Live CD с Linux или средствами uci //(рекомендуется использовать первый раздел для root overlay, второй для swap (если он вам необходим), а далее разместить прочие разделы, которые вам нужны)// | |
| - Скопируйте /overlay на USB-устройство <code> | |
| mount /dev/sda1 /mnt | |
| tar -C /overlay -cvf - . | tar -C /mnt -xf - | |
| umount /mnt | |
| </code> | </code> |
| - Создайте шаблон fstab<code> | |
| block detect > /etc/config/fstab | Это создаст образ прошивки, который может прочитать раздел, отформатированный в файловой системе ext4 на внешних устройствах хранения подключенных через USB. |
| vi /etc/config/fstab | |
| | <WRAP center round todo 90%> |
| | К сожалению, пакет **e2fsprogs** с инструментами для файловой системы ext4 слишком велик, чтобы поместиться в 4 МБ. |
| | Если кто-то может отделить mke2fs и инструменты проверки файловой системы от него, то можно сделать отделенные инструкции по использованию файловой системы ext4. |
| | </WRAP> |
| | |
| | После этого откройте папку **bin** внутри папки Image Builder, затем откройте папку **target**, затем папку, в которой вы ее найдете (она имеет имя, зависящее от типа устройства), а затем внутри папки. называется **generic **, и вы должны добраться образа для прошивки. |
| | Выберите правильный образ (factory или sysupgrade) и установите его. |
| | |
| | Затем вам нужно будет отформатировать USB-накопитель в файловую систему ext4, и для этого вам потребуется использовать Linux LiveCD или [[https://gparted.org/livecd.php|gparted]] диск. \\ |
| | К сожалению, это неудобно, но, как сказано выше, мы не можем разместить инструменты форматирования на устройствах с 4 МБ флэш-памяти. |
| | |
| | ==== 1.2. Устройства более чем с 8 МБ флеш памяти ==== |
| | На этих устройствах должно быть достаточно места для установки необходимых нам пакетов. |
| | Удалите все пакеты, которые вы установили, чтобы добавить функциональность, так как они теперь только используют место во встроенной флеш памяти. |
| | После того, как вы сделаете extroot, у вас будет все необходимое пространство. |
| | |
| | Из интерфейса командной строки напишите (в одну строку): |
| | <code bash> |
| | opkg update && opkg install block-mount kmod-fs-ext4 kmod-usb-storage e2fsprogs kmod-usb-ohci kmod-usb-uhci fdisk |
| </code> | </code> |
| - Внесите исправления в ''/etc/config/fstab'': | |
| - Все строки вида ''enabled '0' '' приведите к ''enabled '1' '' | |
| - Отредактируйте ''option target'' корневого раздела overlay, чтобы он выглядел как **''/overlay''** (**__НЕ__** ''overlay'', поскольку это приведёт к ошибочному двойному монтированию) | |
| - Отредактируйте ''option target'' прочих разделов, в соответствии с тем, куда вы хотите их примонтировать (и не забудьте создать соответствующие директории в файловой системе)\\ После всех манипуляций ваш fstab будет выглядеть примерно так:<code> | |
| 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' | Это установит пакеты, необходимые для раздела с файловой системой ext4. |
| option target '/overlay' | |
| option uuid 'c91232a0-c50a-4eae-adb9-14b4d3ce3de1' | |
| option fstype 'ext4' | |
| option enabled '1' | |
| |
| config 'swap' | Пользователи, подверженные риску, могут захотеть создать собственный образ (как описано в предыдущем разделе), содержащий эти инструменты и особенно модули ядра, которые соответствуют ядру прошивки, чтобы они были доступны в отказоустойчивом режиме(failsafe mode). |
| option uuid '08b4f0a3-f7ab-4ee1-bde9-55fc2481f355' | |
| option enabled '1' | |
| |
| config 'mount' | ==== 2. Настройка rootfs_data ==== |
| option target '/data' | Подключитесь через ssh к устройству. |
| option uuid 'c1068d91-863b-42e2-bcb2-b35a241b0fe2' | |
| option enabled '1' | Сконфигурируйте ''/etc/config/fstab'' для монтирования ''rootfs_data'' в другой каталог на тот случай, если вам понадобится получить доступ к исходному оверлею root для изменения настроек extroot: |
| | |
| | <code bash> |
| | DEVICE="$(awk -e '/\s\/overlay\s/{print $1}' /etc/mtab)" |
| | uci -q delete fstab.rwm |
| | uci set fstab.rwm="mount" |
| | uci set fstab.rwm.device="${DEVICE}" |
| | uci set fstab.rwm.target="/rwm" |
| | uci commit fstab |
| </code> | </code> |
| - Перезагрузите роутер | |
| - Убедитесь, что разделы корректно смонтированы: | |
| * с помощью LuCI | |
| * в //System - Software// должно быть видно свободное пространство на разделе | |
| * в //System - Mount Points// должен быть виден USB-раздел, смонтированный как ''overlay'' | |
| * с помощью консоли | |
| * команда ''mount'' должна показать USB-раздел, смонтированный как ''/overlay''\\ <code> | |
| root@OpenWrt:mount | |
| |
| /dev/root on /rom type squashfs (ro,relatime) | Или вы можете определить раздел ''rootfs_data'' вручную: |
| 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) | |
| |
| | <code bash> |
| | grep -e rootfs_data /proc/mtd |
| </code> | </code> |
| * ''df'' должен показать свободное пространство на разделах ''/overlay'' и ''/data''\\ <code> | |
| root@OpenWrt:df | |
| |
| Filesystem 1K-blocks Used Available Use% Mounted on | Каталог ''/rwm'' будет содержать исходный корневой overlay, который используется в качестве основного корневого overlay до тех пор, пока extroot не будет поднят и запущен. |
| rootfs 27180 7796 17964 30% / | Позже вы можете отредактировать ''/rwm/upper/etc/config/fstab'', чтобы изменить вашу конфигурацию extroot (или временно отключить ее), если вам это когда-либо понадобится. |
| /dev/root 2304 2304 0 100% /rom | |
| tmpfs 127668 1468 126200 1% /tmp | ==== 3. Настройка extroot ==== |
| /dev/ubi0_1 1998672 8056 1869376 0% /overlay | Посмотрите, какие есть у вас разделы: |
| overlayfs:/overlay 27180 7796 17964 30% / | <code bash> |
| tmpfs 512 0 512 0% /dev | # block info |
| /dev/sda1 1998672 8056 1869376 0% /overlay | /dev/mtdblock2: UUID="9fd43c61-c3f2c38f-13440ce7-53f0d42d" VERSION="4.0" MOUNT="/rom" TYPE="squashfs" |
| /dev/sda3 242846048 163864 230323224 0% /data | /dev/mtdblock3: MOUNT="/overlay" TYPE="jffs2" |
| | /dev/sda1: UUID="fdacc9f1-0e0e-45ab-acee-9cb9cc8d7d49" VERSION="1.4" TYPE="ext4" |
| </code> | </code> |
| |
| ==== Установка на внешний корень ==== | Здесь мы видим ''mtdblock'' устройства (разделы во внутренней флеш памяти), и раздел ''/dev/sda1'' это ваш USB флеш диск. |
| - Создайте на USB-диске разделы и отформатируйте их, используя любой Live CD с Linux или средствами uci //(рекомендуется использовать первый раздел для root overlay, второй для swap (если он вам необходим), а далее разместить прочие разделы, которые вам нужны)// | |
| - Скопируйте корневую файловую систему на USB-устройство <code> | Отформатируйте раздел ''/dev/sda1'' в ext4 если это необходимо: |
| mkdir -p /tmp/introot | |
| mkdir -p /tmp/extroot | <code bash> |
| mount --bind / /tmp/introot | mkfs.ext4 /dev/sda1 |
| mount /dev/sda1 /tmp/extroot | |
| tar -C /tmp/introot -cvf - . | tar -C /tmp/extroot -xf - | |
| umount /tmp/introot | |
| umount /tmp/extroot | |
| </code> | </code> |
| - Создайте шаблон fstab<code> | |
| block detect > /etc/config/fstab | Сейчас мы от конфигурируем ''/dev/sda1'' как новый overlay через подсистему fstab uci: |
| vi /etc/config/fstab | |
| | <code bash> |
| | DEVICE="/dev/sda1" |
| | eval $(block info "${DEVICE}" | grep -o -e "UUID=\S*") |
| | uci -q delete fstab.overlay |
| | uci set fstab.overlay="mount" |
| | uci set fstab.overlay.uuid="${UUID}" |
| | uci set fstab.overlay.target="/overlay" |
| | uci commit fstab |
| </code> | </code> |
| - Внесите исправления в ''/etc/config/fstab'': | |
| - Все строки вида ''enabled '0' '' приведите к ''enabled '1' '' | |
| - Отредактируйте ''option target'' корневого раздела, чтобы он выглядел как **''/''** | |
| - Отредактируйте ''option target'' прочих разделов, в соответствии с тем, куда вы хотите их примонтировать (и не забудьте создать соответствующие директории в файловой системе)\\ После всех манипуляций ваш fstab будет выглядеть примерно так:<code> | |
| 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 device '/dev/sda1' | |
| option target '/' | |
| option enabled '1' | |
| |
| config swap | |
| option device '/dev/sda2' | |
| option enabled '1' | |
| |
| config mount | ==== 4. Перенос данных ==== |
| option device '/dev/sda3' | Теперь мы перенесем содержимое текущего оверлея на наш новый оверлей на внешнем диске: |
| option target '/data' | |
| option enabled '1' | <code bash> |
| | mount /dev/sda1 /mnt |
| | cp -a -f /overlay/. /mnt |
| | umount /mnt |
| </code> | </code> |
| - Перезагрузите роутер | |
| - Убедитесь, что разделы корректно смонтированы. | |
| |
| ===== Barrier Breaker ===== | Перезапустите устройство: |
| Здесь приведены лишь отличия, характерные для Barrier Breaker. Все остальные действия аналогичны таковым для Chaos Calmer. | |
| |
| ==== Установка на внешний overlay (рекомендованный вариант) ==== | <code bash> |
| Примерное содержимое [[docs:guide-user:storage:fstab|fstab]]: | reboot |
| |''config mount | </code> |
| option target /overlay | |
| option device /dev/sda1 | |
| option fstype ext4 | |
| option options rw,sync | |
| option enabled 1 | |
| option enabled_fsck 0''| | |
| |
| Если монтирование не удалось, overlay смонтируется в ''/tmp/overlay-disabled'' вместо того, чтобы быть корневой файловой системой. | ===== Проверка ===== |
| |
| У некоторых пользователей при использовании Barier Breaker 14.07 (RC-версиях) на устройствах с архитектурой ar71xx раздел продолжает монтироваться как /mnt/sdax вместо /overlay. Проблема решается запуском block detect, который создаст правильный fstab с корректными идентификаторами разделов. | ==== Через Web интерфейс ==== |
| | - **[[http://openwrt.lan/|LuCI]] -> System -> Mount Points** должен быть показан раздел на внешнем USB устройстве подмонтированный как ''overlay''. |
| |''root@OpenWrt:/# cat /etc/config/fstab | - **[[http://openwrt.lan/|LuCI]] -> System -> Software** должно быть показано большее свободное пространство на overlay разделе. |
| 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 '1902a323-79a6-4b1a-a511-a58655974ee9' | |
| option enabled '1' | |
| option fstype 'ext4' | |
| |
| config mount | ==== Через командную строку ==== |
| option target '/mnt/sda2' | Раздел на внешнем USB устройстве должен быть подмонтирован как ''overlay'' |
| option uuid 'dc64a6dd-de63-4363-b405-403cdced1649' | Свободное пространство в корневом разделе ''/'' должно быть равно пространству на ''/overlay''. |
| option enabled '1' | |
| option fstype 'ext4' ''| | |
| |
| Проверка работоспособности extroot с помощью утилиты ''df'': | <code bash> |
| | # grep -e /overlay /etc/mtab |
| | /dev/sda1 /overlay ext4 rw,relatime,data=ordered |
| | overlayfs:/overlay / overlay rw,noatime,lowerdir=/,upperdir=/overlay/upper,workdir=/overlay/work |
| |
| |''root@OpenWrt:~# df | # df /overlay / |
| Filesystem 1K-blocks Used Available Use% Mounted on | Filesystem 1K-blocks Used Available Use% Mounted on |
| rootfs 2758072 118004 2501828 5% / | /dev/sda1 7759872 477328 7221104 6% /overlay |
| /dev/root 2048 2048 0 100% /rom | overlayfs:/overlay 7759872 477328 7221104 6% / |
| tmpfs 63340 76 63264 0% /tmp | </code> |
| /dev/sda1 2758072 118004 2501828 5% /overlay | |
| overlayfs:/overlay 2758072 118004 2501828 5% / | |
| tmpfs 512 0 512 0% /dev''| | ===== Сохранение списков программных пакетов при загрузке ===== |
| | Сохранение статуса установленных пакетов opkg в ''/usr/lib/opkg/lists'' хранящемся в extroot, а не в RAM, экономит некоторую оперативную память и сохраняет списки пакетов доступными после перезагрузки. |
| | |
| | |
| | ==== Через Web интерфейс ==== |
| | |
| | 1. **[[http://openwrt.lan/|LuCI]] -> System -> Software -> Configuration ** |
| | |
| | смените |
| | |
| | <code bash> |
| | lists_dir ext /var/opkg-lists |
| | </code> |
| | |
| | на |
| | |
| | <code bash> |
| | lists_dir ext /usr/lib/opkg/lists |
| | </code> |
| | |
| | это должно выглядеть примерно так: |
| | |
| | <code bash> |
| | dest root / |
| | dest ram /tmp |
| | lists_dir ext /usr/lib/opkg/lists |
| | option overlay_root /overlay |
| | option check_signature |
| | </code> |
| | |
| | 2. **[[http://openwrt.lan/|LuCI]] -> System -> Software -> Actions -> Update lists ** производит первоначальное обновление списка пакетов на extroot |
| | |
| | |
| | -----------Перевод и обновление статьи продолжается! ------------ |
| | далее идет старая версия! |
| | |
| | |
| | |
| | |
| | |
| |
| Учитывайте, что ''rootfs'' и ''overlayfs:/overlay'' занимают одно и то же место, и оба монтируются в корень (''/''). Кроме того, ''/dev/sda1'' смонтирован в ''/overlay'' и является оверлейной файловой системой. В том случае, если вы настроили не внешний overlay, а внешний корень, в выводе ''df'' не будет строки ''overlayfs:/overlay''. | |
| |
| ==== Установка на внешний корень ==== | |
| Примерное содержимое [[docs:guide-user:storage:fstab|fstab]]: | |
| | ''config mount | |
| option target / | |
| option device /dev/sda1 | |
| option fstype ext4 | |
| option options rw,sync | |
| option enabled 1 | |
| option enabled_fsck 0'' | | |
| |
| До ревизии [[https://dev.openwrt.org/changeset/26311/trunk|r26311]] неудачно смонтированный внешний корень монтировался в ''/tmp/rom-disabled'', а после ревизии [[https://dev.openwrt.org/changeset/26311/trunk|r26311]] - в ''/tmp/whole_root-disabled''. | |
| |
| ===== Attitude Adjustment ===== | |
| ==== Старый вариант установки на внешний overlay ==== | |
| Before [[https://dev.openwrt.org/changeset/25787/trunk|r25787]] configure by setting the option **is_rootfs** in your ''/etc/config/fstab''. Besides that, there is nothing to be configured regarding extroot that is different from any other mount. | |
| |
| For trunk versions up to, but not including r25787 the following is an example for an extroot mount entry in the file /etc/config/fstab. Note the fstype, options and enable_fchk options are optional, see [[docs:guide-user:storage:fstab|fstab]]. | |
| |
| |''config mount | |
| option target /mnt # This is ignored once is_rootfs is set to 1 | |
| option device /dev/sda1 | |
| option fstype ext3 | |
| option options rw,sync | |
| option enabled 1 | |
| option enabled_fsck 0 | |
| option is_rootfs 1''| | |
| |
| A ''target'' option is not mandatory as it will be the overlay file system. However, using the directory ''/mnt'' as target will make testing possible: first set is_rootfs to 0, reboot and check if all mounts well and than set it to 1 and reboot again. Make sure the target it is **not** manually set to ''/overlay.'' ''/overlay'' is automatically used on a successful ''is_rootfs''-mount, but if for some reason this file system could not be made the rootfs will be mounted on the target listed here. Using ''/overlay'' will result in an double ''/overlay'' mount and screw things up. In later releases, the target is used to determine if a mount entry is an extroot device and ''is_rootfs'' is not used anymore to circumvent this. | |
| |
| | {{:meta:icons:tango:48px-outdated.svg.png?nolink}}| ''option is_rootfs'' is deprecated **after** [[https://dev.openwrt.org/changeset/25787/trunk|r25787]]. Use the new overlay variant where the target is used to determine if a mount entry is an extroot device. **Before** Trunk r25787 the option ''is_rootfs'' is required for block-extroot mounts! | | |
| |
| ===== Troubleshooting ===== | ===== Troubleshooting ===== |
| To upgrade kernel + kernel modules you need to first upgrade the kernel-modules (with opkg upgrade ... --force... ) and then immediately WITHOUT rebooting, reflash Kernel + SquashFS with ''sysupgrade''. Then reboot. | To upgrade kernel + kernel modules you need to first upgrade the kernel-modules (with opkg upgrade ... --force... ) and then immediately WITHOUT rebooting, reflash Kernel + SquashFS with ''sysupgrade''. Then reboot. |
| |
| ===== Information on Legacy versions ===== | |
| Backfire see: [[docs:guide-user:additional-software:extroot_configuration.old]] | |
| |