LINUX.ORG.RU

3
Всего сообщений: 45

использование linux на LUKS

Здравствуйте, форумчане.
Прошу помочь в следующем вопросе.
На флешке с не зашифрованным разделом расположен boot с ядром, initrd и ключом или паролем к шифрованному разделу, на диске в компьютере или ноутбуке корень файловой системы, но он зашифрован - LUKS. Грузим ядро с флешки, а оно уже монтирует корень, после загрузки флешку вынимаем.
Как создать зашифрованный раздел LUKS, его отформатировать, примонтировать, распаковать туда систему, я знаю. Вопрос вот в чём.
Как создать initrd, что бы он понимал LUKS? Chroot-нуться в корень и в корне командой mkinitramfs создать initrd?
Как заставить ядро понимать LUKS? Где должен находиться /etc/fstab на зашифрованном разделе или на не шифрованной флешке?
Как проинсталировать grub2 и создать для него конфиг? Просто chroot-нуться в примонтированный зашифрованный раздел и выполнить команды: grub-install с указанием диска и grub-mkconfig с указанием файла?
Хотелось бы сделать так, что бы пароль или ключ во время загрузки подкидывались автоматом, что бы не приходилось их вводить вручную.
LUKS подходит для работы, или только для хранения данных, а для работы нужно что нибудь более быстрое?
Детально как сделать то что мне нужно не нашёл, может кто подскажет где почитать. Или может кто уже делал такое, тогда пожалуйста поделитесь информацией.

 , ,

v4567 ()

Установка linux в файл-контейнер

ТАкое вообще возможно? как провернуть? :))) сейчас завис на стадии «как это все примонтировать». Нужно как то обучить инитрд смонтировать раздел на котором лежит файл, прибиндить файл к /dev/loop1, найти там LVM и смотировать его как корень. Смотрю на лайф сд и вижу что примерно такой же фокус тут провернули со сквошфс. Есть какой то простой способ надресировать инитрд? может какую магию нужно прописать в мкинитрамфс?

 , , , ,

antech ()

cryptsetup: lvm is not available

Ubuntu 18.04.

Обновился раз в месяц, и вот нате вам - система не грузится.

lvm томов у меня нет, просто LUKS раздел. Прошлый initrd за февраль грузится без проблем, а новый пароля не спрашивает, пишет бестолковую хрень.

Может кто знает чего там поломали?

Загрузчик на флешке со старым grub, но опять-же, работает. Уже и cryptopts указал в загрузчике, хотя до этого они и не нужны были, но не помогло.

 ,

sr11 ()

Как монтировать initrd.img ?

Вот такая проблема:

# mount -o loop initrd.img-4.18.0-16-generic /mnt
mount: /mnt: wrong fs type, bad option, bad superblock on /dev/loop0, missing codepage or helper program, or other error.
#

 , , , ,

superuser ()

init RAM disk, как добавить необходимый софт.

Здравствуйте, уважаемые форумчане. Хочу научиться конфигурировать загрузчик.

В результате необходимо, что-бы выбранная программа запускалась автоматически, ну, например, openssh сервер или же hostapd, или openvpn. Стоит учесть, что основной том зашифрован при помощи LUKS.

Хочу отметить, что мне не обязательно нужны примеры с программами, указанными выше, полностью подойдет гайд по установке любого другого программного обеспечения.

Сама сложность для меня состоит в том, чтобы:

1)Добавить зависимости программы.

2)Написать скрипт для ее работы, ну и остальные аспекты, связанные с ее запуском.

Буду рад любым идеям и любой помощи.

 , , ,

Marex ()

Сборка initrd при живом kernel

Коллеги, прошу пнуть в нужном направлении:

имею 2.6.28 сборку (x86)

root (hd0,1) kernel /kernel.bin root=/dev/ram0 console=ttyS0,115200 ramdisk_size=131072 fw=1 root (hd0,1) initrd /bootimage.bin boot

ядро kernel.bin стандартное:

Direct booting from floppy is no longer supported.

внутри kernel.bin в gzip лежит сам ELF. Задача - поместить в kernel другой ELF, он в сжатом виде немного меньше по размеру.

Судя по офсетам в kernel.bin хранится длина gzипленного ELF и контрольная сумма и т.п. просто замена DWORD размера и самого GZIPленного ELF не помогает, имею ошибку CRC error, если проверку убрать- lenght error.

Есть ли где-то внятный скрипт или сырец как собирается пресловутый kernel.bin?

И можно ли под конкретное ядро kernel.bin собирать чем-то отдельно bootimage.bin ?

Спасибо.

 , ,

town ()

Настройка initrd

Доброго времени суток.

Имеется raid1 массив, состоящий из 3-х дисков. Массив создан средствами btrfs, на нем установлена ОС. Проверка отказоустойчивости данной конфигурации показала что загрузка ОС проходит успешно только при условии что все диски в корзине подключены.

Если отключить физически один из 3-х дисков и попытаться загрузить систему в деградированном состоянии, то в initramfs происходит ошибка загрузки с отвалом в BusyBox с диагностикой:

...
BTRFS: failed to read the system array: -5
BTRFS: open_ctree failed
mount: mounting /dev/sda2 on /root failes: Invalid argument
...
Если я правильно понимаю, то это связано с неправильно сформированным образом initrd, в котором не указана опция монтирования degraded для массива. А как это указать правильно я не знаю. Нужен коллективный разум.

З.Ы. Данная тема является продолжением этой.

 , , , ,

torm7 ()

Загрузка без initrd: VFS: cannot open root device

Пытаюсь загрузиться без initrd, а точнее, с initrd, сгенерированным dracut'ом с опцией --kernel-only. И получаю VFS: cannot open root device - фотография.
Корневая ФС на btrfs, в аргументах ядра rootfstype=btrfs указано, раздел sda2 определен верно, пробовал также с root=PARTUUID=.. - результат тот же.
Что я делаю не так?

 , , ,

gasinvein ()

Правка initrd файла

Необходимо изменить initrd файл так, чтобы в конечном итоге иное блочное устройство использовалось в качестве корневого. При этом используются системы с версиями ядра 2.4 и 2.6 :(

В системе с ядром 2.4 заключительная часть init-файла (linuxrc) образа initrd выглядит следующим образом:

...
mkrootdev /dev/root
echo 0x0100 > /proc/sys/kernel/real-root-dev
mount -o acl,nosecdel,secrm --ro -t ext3 /dev/root /sysroot
pivot_root /sysroot /sysroot/initrd
umount /initrd/proc

В системе с ядром 2.6 иначе:

...
mkrootdev -t ext4 -o defaults,ro /devv/sda3
mount /sysroot
setuproot
switchroot

На данном этапе у меня возникает путаница, что именно делает каждая строка в обоих приведённых фрагментах. Подробному разъяснению этого момента я буду очень рад.

Кроме того, мне надо изменить файлы так, чтобы в качестве корневого монтировалось другое устройство, создаваемое в момент загрузки. А создаётся это устройство с помощью device-mapper-а. Не так важно, что именно делает получаемое устройство, но важно, что оно приводит реальное устройство в состояние «занято».

Так как иное устройство монтируется в качестве корневого, то я меняю (а в идеале удаляю) параметр root из конфигов загрузчиков (для LILO, например, вариант только удалить этот параметр, ибо LILO отказывается конфигурироваться, если устройство не существует).

Виртуальное устройство создаю так:

ld-linux.so.2 /bin/dmsetup create root_part /opt/bin/table

Устройство создаётся успешно по пути /dev/mapper/root_part

Подскажите, как изменить приведённые выше фрагменты. Спасибо!

 ,

AccumPlus ()

Kernel panic после перезагрузки

Здравствуйте и процветайте.

Возникла следующая проблема:оказалось, что ядро обновляли, но перезагрузку не производили.

Система Oracle Linux 6.7.

Есть два ядра - 2.6.32-504(текущее) и 2.6.32-573.22.1(обновленнное)

[root@cf ~]# uname -a
Linux cf.office.dc 2.6.32-504.el6.x86_64 #1 SMP Tue Oct 14 01:47:47 PDT 2014 x86_64 x86_64 x86_64 GNU/Linux
[root@cf ~]# yum list kernel
Installed Packages
kernel.x86_64 2.6.32-504.el6 @local_ol6_latest
kernel.x86_64 2.6.32-573.22.1.el6 installed

при перезагрузке работающей машины выдалось

Kernel panic - not syncing: VFS: unable to mount root fs on unknown-block(0,0)
Pid: 1, comm: swapper Not tainted 2.6.32-573.22.1.el6.x86_64

Загрузившись с другого ядра(более старого), выяснил. что отсутствует запись об initrd. Создал initramfs dracut'ом, добавил запись в grub:

[root@cf ~]# dracut /boot/initramfs-2.6.32-573.22.1.el6.x86_64.img 2.6.32-573.22.1.el6.x86_64

Запись появилась и распознается, однако при загрузке появляется следующее:

modprobe: FATAL: Could not load /lib/modules/2.6.32-573.22.1.el6.x86_64/modules.dep, no such file or directory. 

и последующий kernel panic.

Судя по гуглу - проблема просто в отсутствии перезагрузки - что к моей ситуации не подходит - ибо я в конечном итоге перезагрузился. Что можете подсказать? Удалить обновленное ядро и заново обновить? Есть ли гарантия, что это не повторится?

 , ,

n1cew0lf ()

Initrd навыворот

С технической точки зрения есть ли разница между использованием initrd и такой схемой: в корень помещается иерархия с минимумом файлов (bash, mount, кое-какие утилиты) и образ системы, ядро передаёт загрузку фейковому иниту в виде баш-скрипта, который монтирует образ системы и делает chroot blablabla /sbin/init?

 ,

alexferman ()

Не удается восстановить систему из бекапа

Сабж. Есть завод по производству некоего продукта. На заводе функционирует сервер; на нем хранятся все данные о технологическом процессе (в основном значения физических величин: температуры, давления, скорости и т.п.). Недавно этот сервер крякнулся (отказал raid-контроллер) и теперь мне остается надеяться только на бэкап системы, который у меня есть. У меня есть новый сервер, с рабочим raid-контроллером, пытаюсь развернуть бэкап на нем. Также дома пытаюсь развернуть на виртуальной машине. Основная проблема заключается в том, что я никогда не восстанавливал систему из бэкапа.

Исходные данные Сервер: DELL PowerEdge 2650, RAID 5 (scsi диски) ОС: RedHat linux 7.2 Бекап: представляет собой tar-архивы основных папок системы (/, /boot, /usr, /var, /home). Делал бэкап я спомощью утилиты dvdbackup. Cодержимое архивов можно посмотреть по ссылке: http://rgho.st/7l6gTGZTr Также у меня есть инструкция по восстановлению похожей системы, следуя которой я попытался восстановить систему http://rgho.st/8VgQX4T4W В итоге при загрузке системы, возникает kernel panic. Ниже то, что выдается при загрузке: RAMDISK: Compressed image found at block 0

Freeing initrd memory: 415k freed

EXT2-fs warning: checktime reached, running e2fsck is recommended

VFS: Mounted root (ext2 filesystem).

Red Hat nash version 3.2.6 starting

loading scsi_mod module

SCSI subsystem driver Revision: 1.00

loading sd_mod module

loading aacraid module

acraid raid driver version, Sep 6 2001

/lib/aacraid.o: init_module: No such device

Hint: insmod errors can be caused by incorrect module parameters, including

invalid ID or IRQ parameters

ERROR: /bin/insmod exited abnormally!

loading jbd module

Journalled Block Device driver loaded

loading ext3 module

Mounting /proc filesystem

Creating root device

Mounting root filesystem

mount: error 19 mounting ext3

pivotroot: pivot_root(isysroot,/sysroot/initrd) failed: 2

Freeing unused kernel memory: 220k freed

Kernel panic: No init found. Try passing init= option to kernel.

Несколько дней гугления мало чем помогли...

 , , , ,

syler ()

как убрать построение initrd для ядра, которое давно уже снесено из базы dpkg?

dpkg -al | grep pve ничего не находит

а после update-initramfs -k all появляется: initrd.img-2.6.32-20-pve

где нужно удалить/подчистить, чтобы оно не появлялось больше?

дистр: Debian Wheezy, 2.6.32-20-pve - это от старых экспериментов с Proxmox

 

nooby ()

Узнать МАС-адрес до поднятия eth-интерфейса в initrd

Добрый день, Господа!

Возникла большая необходимость собрать initrd-файл, который при загрузки узнавал бы МАС-адрес одной (любой) физической сетевой карты, делал бы не его основании hostname системы и уже после поднимал сетевую карту и шел на DHCP-сервер.

Проблема в том, что поиск МАС-адрес нужно получить на самом начальном этапе загрузки initrd, а на данном этапе сетевая карта eth не подключен как модуль.

Соответственно, МАС-адреса нет ни в /sys, ни в dmesg.

Собственно, в данной ситуации мне нужно либо как-то спросить МАС-адрес у ядра, либо найти точку между поднятием сетевого интерфейса и получением IP по DHCP, чтобы вставить туда свой скрипт преобразования МАС в hostname.

Уважаемые, ни у кого нет идей, как можно выполнить вышеуказанное на данном этапе загрузки?

Благодарю

 

PIKNIK ()

Как автоматически чистить /boot от старых ядер/initrd при обновлении системы?

У меня /boot - около 500мб, но всё-равно быстро загаживается. Есть ли какие-то способы его чистить автоматически? Убунта может сгенерить кривой initrd из-за нехватки места в /boot. И как это делать с других системах, типа генты и центоси.

 , , , ,

mrspoof ()

создание пользователя root в чистой сестеме

Пытаюсь сделать:

chroot ./
groupadd
useradd root -G root
useradd: group '1000' does not exist
useradd: the GROUP= configuration in /etc/default/useradd will be ignored
useradd: group 'root' does not exist
passwd root
passwd: Cannot determine your user name.

bash-4.3# cat /etc/group  

root:x:0:
bash-4.3# cat /etc/shadow

как можно создать пользователя root на ассолютно голой системе.

 , , , ,

ne-vlezay ()

Проблемы с ssh в chroot

Пытаюсь сделать:

chroot ./ ssh

Получаю:

No user exists for uid 0

Что я делаю не так?

 , , ,

ne-vlezay ()

создание своего initrd

если в нём делать:

root@sid:/usr/src/initrd-os# chroot ./ passwd root
то получаем:
passwd: Cannot determine your user name.

в чём ошибка

 , , , ,

ne-vlezay ()

pivot_root: Invalid argument

Делаю:

pivot_root /root /root/mnt/initrd

в ответ приходит:


Invalid argument
[/code[

В чём ошмбка

 , , , ,

ne-vlezay ()

Тривиальный загрузочный образ Linux

Есть такая задачка: создать загрузочный образ Linux с busybox и kexec, желательно универсальный - для CD и USB/Flash. Что-то вроде LFS. Может кто-нибудь расписать по шагам процесс или кинуть линк на грамотный HOWTO? Да, и ещё нужно как-то добиться поддержки UEFI с Secure Boot.

 , ,

asaw ()