[devel] I: installer: Ошибка перемонтирования при использовании LVM

Aleksey Avdeev solo на solin.spb.ru
Вт Окт 13 16:41:55 MSK 2015


09.10.2015 19:30, Aleksey Avdeev пишет:
> 09.10.2015 19:06, Aleksey Avdeev пишет:
> ...
>>
>>   Дальнейшие раскопки показали, что т. к. у меня cryptsetup отсутствует
>> у меня в образе инсталлятора но ставиться в целевую систему -- в
>> процессе перемонтирования бинарник /sbin/cryptsetup копируется, функцией
>> copy_chroot_binaries() из /usr/sbin/install2-remount-functions.
>> Копирования же необходимых библиотек не выполняется, см.
>> <http://git.altlinux.org/people/mike/packages/?p=installer-scripts-remount-stage2.git;a=blob;f=installer-scripts-remount-stage2/scripts/install2-remount-functions;h=c689af73bd0fb19ad22c80ca893d3b1e334962f0;hb=e119820712cab35620fd73c65bb79ddfda15daf6>
>>
>>   Похоже в copy_chroot_binaries() надо добавлять копирование требуемых
>> библиотек...
> 
>   Открыл https://bugzilla.altlinux.org/show_bug.cgi?id=31351 по этому
> поводу.

  Собрал installer-scripts-remount-stage2-0.5.2-alt2 (см.
<http://git.altlinux.org/tasks/archive/done/_147/151356/logs/events.1.1.log>).
Особенности: Для копирование файлов из устанавливаемой системы
используется скрипт /usr/share/make-initrd/tools/put-file (из пакета
make-initrd), там (в устанавливаемой системе) приветствующий. При этом
выполняется следующая последовательность операций (см.
<https://bugzilla.altlinux.org/show_bug.cgi?id=31351#c2>):

1. Проверить, существует ли требуемый
$destdir/usr/share/make-initrd/tools/put-file (если
нет -- выводим предупреждение и ничего не делаем.

2. Создать временный каталог $destdir/tmp/installer.XXX

3. Смонтировать в $destdir/tmp/installer.XXX текущий корень:

mount --bind / $destdir/tmp/installer.XXX

4. Выполнить копирование необходимых файлов из $destdir в
$destdir/tmp/installer.XXX, используя вызов put-file внутри chroot`а
$destdir

5. Отмонтировать $destdir/tmp/installer.XXX

6. Удалить каталог $destdir/tmp/installer.XXX

  Для более красивого решения, требуется (см.
<https://bugzilla.altlinux.org/show_bug.cgi?id=31351#c4>):

1. Доработка /usr/share/make-initrd/tools/put-file -- требуется
возможность задать chroot, для выполнения ldd. Как вариант, добавить
параметр --from-chroot=<chrootdir> и при вызове:

put-file --from-chroot=<chrootdir> <destdir> <file>

а) в качестве пути к копируемому файлу использовать <chrootdir>/<file>

б) использовать ldd в chroot:

chroot <chrootdir> ldd <file>

2. Скрипты /usr/share/make-initrd/tools/put-{file,tree} переместить в
/usr/bin и выделить в отдельный пакет. Например в put-file.

-- 

С уважением. Алексей.

----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : signature.asc
Тип     : application/pgp-signature
Размер  : 278 байтов
Описание: OpenPGP digital signature
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20151013/9a5d36c1/attachment-0001.bin>


Подробная информация о списке рассылки Devel