LINUX.ORG.RU

Избранные сообщения Fonhuaicho

embeded + fstab

 

Всех приветствую.

Возникла весьма предсказуемая и щекотливая ситуация.

Есть некая железка с линуксом. У нее есть впаяная eMMC и разъём для SD. Если запускаемся без SD, то emmc видится как /dev/mmcblk0 Если в момент запуска ставим SD, то уже SD становится /dev/mmcblk0, а emmc съезжает на /dev/mmcblk1

Чтобы развернуть систему на чистой железке ставим sd-карту с этой системой, грузимся и она после загрузки разбивает emmc на разделы форматирует все что надо и распихивает себя по этим разделам. Дальше мы выдергиваем SD, перегружаемся и спокойно работаем только на emmc.

Ну и как все поняли (поняли же? падме.жпг), что при загрузке с SD и с emmc, это самая emmc будет на разных именах.

Существующие ограничения:

  1. rootfs - строго RO (никакого изменения fs в процессе развертывания)
  2. хочется чтобы mount и т.д. работал корректно - то есть fstab был с нужными именами дисков и разделов
  3. UUID не подходят, так как rootfs один на все устройства (скажем так сильно больше одного), а uuid будет у всех дисков разные.

Потенциальные решения которые я вижу, это как-то подсунуть в параметры ядра какой fstab использовать, а в /etc подложить все варианты fstab, и перед загрузкой ядра определять какой fstab ему использовать. Но судя по известной мне инфе такой возможности у ядра нет.

Как резервный вариант, все что мне надо я буду грузить «руками» из загрузочных скриптов, а из fstab все упоминания mmcblk* уберу. Но тогда mount -a перестанет покрывать эти диски, чего бы не хотелось.

Возможно есть более элегантный способ решения данной проблемы?

yax123
()