Есть написанные несколько вставок в файл init, которые читают что им передано из grub и делают определенные действия. Все работает отлично, но при обновлении initrd перегенерируется.
Должен быть предусмотренный мейнтейнерами механизм решения подобных задач. Есть такой в дебиан ?
Как в дебиане сделать инъекцию в файл init в initrd ? (Так, чтобы при обновлении она не потерялось)
Модераторы: Warderer, Модераторы разделов
-
Bizdelnick
- Модератор
- Сообщения: 21408
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Как в дебиане сделать инъекцию в файл init в initrd ?
man initramfs-tools
См. разделы HOOK SCRIPTS и BOOT SCRIPTS.
Если, конечно, я правильно понял, чего Вы хотите.
См. разделы HOOK SCRIPTS и BOOT SCRIPTS.
Если, конечно, я правильно понял, чего Вы хотите.
Пишите правильно:
| в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
Silender
- Сообщения: 23
Re: Как в дебиане сделать инъекцию в файл init в initrd ?
Мне нужно сначала смонтировать FAT, а затем на этом FAT смонтировать loop файл как корень.
Собственно проблемы возникают уже на стадии монтирования FAT. "no such device", хотя девайс 100% есть, как /dev/sda1, так и в /dev/disk/by-uuid
В initramfs.conf указано MODULES=most
В файле modules перечислены в столбик
fat
vfat
loop
nls_iso8859-1
nls_cp437
nls_utf8
Но все равно чего то не хватает.
Собственно проблемы возникают уже на стадии монтирования FAT. "no such device", хотя девайс 100% есть, как /dev/sda1, так и в /dev/disk/by-uuid
В initramfs.conf указано MODULES=most
В файле modules перечислены в столбик
fat
vfat
loop
nls_iso8859-1
nls_cp437
nls_utf8
Но все равно чего то не хватает.
-
Silender
- Сообщения: 23
Re: Как в дебиане сделать инъекцию в файл init в initrd ?
Только что обратил внимание, что перед попыткой монтирования написано
modprobe: module vfat not found in modules.dep
modprobe: module vfat not found in modules.dep
-
Bizdelnick
- Модератор
- Сообщения: 21408
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Как в дебиане сделать инъекцию в файл init в initrd ?
Так я не понял,
или
Пишите правильно:
| в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
Silender
- Сообщения: 23
Re: Как в дебиане сделать инъекцию в файл init в initrd ?
Когда то давно я делал загрузку системы из файлика и все работало отлично. Все вставки в init сохранены, они отлично работают (работали).
А сейчас я пытаюсь воспользоваться тем, что прочиал по ссылке выше. Передавать из grub хитрые параметры, чтобы скарипт init их как то воспринял и сделал то, что тербуется.
Вот нету модуля vfat на стадии initrd. Куда же он подевался ?
А сейчас я пытаюсь воспользоваться тем, что прочиал по ссылке выше. Передавать из grub хитрые параметры, чтобы скарипт init их как то воспринял и сделал то, что тербуется.
Вот нету модуля vfat на стадии initrd. Куда же он подевался ?
-
Bizdelnick
- Модератор
- Сообщения: 21408
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Как в дебиане сделать инъекцию в файл init в initrd ?
Ну выкладывайте тогда подробно, что и как работало раньше, и что пытаетесь делать сейчас. А то я мало что понял.
Пишите правильно:
| в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
Silender
- Сообщения: 23
Re: Как в дебиане сделать инъекцию в файл init в initrd ?
Раньше, еще во времена sysvinit, дебиан был установлен на ext2, а потом запихнут в файл (в luks). При этом на этапе initramfs не было проблем с монтированием FAT раздела (на котором уже лежал файл). Просто обычная комманда mount отрабатывала без ошибок. Все было хорошо, кроме одного - обновление перетирало initrd.
А сейчас дебиан был с нуля установлен на btrfs в раздел luks. /boot на fat32. Вообще и boot и корень хочу запихать в файл. В идеале в luks и то, и другое. Но пока хотя бы с initrd разобраться. Пока не получается вообще ничего. Просто когда не удается загрузиться, консоль оказывается в initramfs. Там можно писать комманды. Комманда mount просто не работает. modprobe vfat тоже.
Вообще последовательность загрузки примерно такая
modprobe
fsck
mount
Первая и третья вываливаются с ошибкой.
Очень бы хотелось понять в чем дело. Пока я могу предположить, что раз система была устанвлена на btrfs, то FAT знать как бы не обязательно. Раньше такого не было, а сейчас появилось, так бывает в дистрибутивах линукса. Вопрос в том, как впихнуть все необходимое для FAT в initrd, да так, чтобы оно не выпилилось от туда при обновлении.
А сейчас дебиан был с нуля установлен на btrfs в раздел luks. /boot на fat32. Вообще и boot и корень хочу запихать в файл. В идеале в luks и то, и другое. Но пока хотя бы с initrd разобраться. Пока не получается вообще ничего. Просто когда не удается загрузиться, консоль оказывается в initramfs. Там можно писать комманды. Комманда mount просто не работает. modprobe vfat тоже.
Вообще последовательность загрузки примерно такая
modprobe
fsck
mount
Первая и третья вываливаются с ошибкой.
Очень бы хотелось понять в чем дело. Пока я могу предположить, что раз система была устанвлена на btrfs, то FAT знать как бы не обязательно. Раньше такого не было, а сейчас появилось, так бывает в дистрибутивах линукса. Вопрос в том, как впихнуть все необходимое для FAT в initrd, да так, чтобы оно не выпилилось от туда при обновлении.