<<<
=== localdev

Интерактивный «шаг», входящий в подпакет *make-initrd-bootchain-localdev*,
и обеспечивающий «локальные» _<<_методы_загрузки_altboot,методы загрузки>>_
*disk* и *cdrom*. В процессе работы может выводить диалоги выбора накопителя
и ввода дополнительных данных для метода *disk* (виджеты *choice* и *form*).

image::../images/bc10.jpg[align="center",scaledwidth="75%"]

image::../images/bc11.jpg[align="center",scaledwidth="75%"]

Если на предыдущем «шаге» (например, был «шаг» _<<_waitdev>>_) устройство
было обнаружено, то не выполняет нового длительного сканирования устройств
и не выводит диалогов, а выбирает ранее найденное устройство, что позволяет
использовать более богатый выбор спецификации устройств *waitdev* и далее
*localdev* в качестве fallback, а также комбинировать «шаги», не внося
изменений в код *altboot*. Если нужно явно проигнорировать результаты
предыдущего «шага», слева от *localdev* следует поставить «шаг» _<<_noop>>_.

При поиске локального устройства используется виджет *ponder*.

image::../images/bc12.jpg[align="center",scaledwidth="75%"]

image::../images/bc-err5.jpg[align="center",scaledwidth="75%"]

Параметры загрузки:

* *altboot_localdev* — набор поддерживаемых аргументов в виде «ключ=значение»,
  перечисленных через «;» (см. ниже).

Поддерживаемые аргументы, в том числе, через *automatic=…*:

* *method* — метод загрузки altboot: disk или cdrom (см. выше);
* *directory* — путь к ISO-образу для метода disk, путь к сквошу для
  метода cdrom;
* *disk* — название блочного устройства, ссылающегося на целый диск,
  например: sda, md0, dm-0, nvme0n1;
* *part* — название блочного устройства, ссылающегося на раздел,
  например: sdb1, c0d0p3, md0p1, nvme0n1p2;
* *uuid* — UUID файловой системы раздела для поиска по UUID;
* *fuid* — UUID файловой системы (только при отсутсвии аргумента uuid, если
  не совпадёт, ни на что не влияет) и одновременно обязательный проверочный
  файл в корне раздела;
* *label* — метка тома файловой системы раздела для поиска по VOLUME LABEL;
* *squash* — название файла сквоша второй стадии загрузки (начиная
  с версии *0.1.5-alt30*);
* *overlays* — определяет раздел, на котором находятся read-only слои
  LiveCD при локальной загрузке:
  - _метка тома_ (VOLUME LABEL) — профили и слои будут искаться на
    устройстве с файловой системой, содержащей указанную метку тома;
  - `*local_profile*` — будет использовано загрузочное устройство, на
    котором находится rootfs;
* `*timeout*` — предел временного ожидания для поиска носителя;
* `*options*` — дополнительные опции монтирования.

В случае успеха загрузки и только в
_<<_совместимость_с_propagator_и_init_bottom,режиме совместимости с пропагатором>>_
«шаг» *localdev* экспортирует в stage2 следующие переменные окружения:

* *METHOD* — название выбранного _<<_методы_загрузки_altboot,метода загрузки>>_
  altboot (disk или cdrom);
* *DEVICE* — название устройства загрузочного диска или раздела, например:
  sda, sdb1, md0p1, nvme0n1p2;
* *PREFIX* —  полный путь к каталогу со сквошом второй стадии загрузки
  или с ISO-образом для метода disk, «/» — в остальных случаях;
* *PIGGYBACK*=1 — сообщает о двойном монтировании, когда приходится
  монтировать ещё и ISO-образ с диска;

.Примеры использования:
[,,subs="verbatim,quotes"]
----
root=bootchain bootchain=fg,`*altboot*` \
  automatic=method:**cdrom**,uuid:2021-05-30-13-35-30-00 \
  stagename=altinst ramdisk_size=160905

root=bootchain bootchain=fg,`*altboot*` \
  automatic=method:**cdrom**,uuid:2021-05-30-18-28-59-00,overlays:SLICES \
  stagename=live ramdisk_size=1081725

root=bootchain bootchain=fg,`*localdev*`,copyfile,checksum,squashfs,liveboot,rootfs \
  `*altboot_localdev*`=method=cdrom;uuid=2021-05-30-12-55-00-00;directory=/rescue \
  altboot_copyfile=dst=RD;src=rescue ramdisk_size=497773 \
  altboot_checksum=613bf1a12803b448682d0c6d628400d2a52f38b61e6815af34f364cf71ad65ec \
  altboot_liveboot=method=cdrom;squash=rescue;flags=live_ro,rescue,live_rw
----

См. также:

* https://bugzilla.altlinux.org/33954
* https://bugzilla.altlinux.org/31068
* https://bugzilla.altlinux.org/54071

