Добрый день. Кому-то удалось воспользоваться способом создания LiveCD, описанным в официальной статье?
https://fedoraproject.org/wiki/Livemedia-creator-_How_to_create_and_use_a_Live_CD
У меня не вышло.
Что сделал.
1. В VirtualBox поставил виртуалку из стандартного spin'а с lxde, исходя из сообращения минимизации ресурсов.
2. Обновил ОС и установил группы ПО.
sudo dnf group install "Development Tools" "RPM Development Tools" "System Tools" "Administration Tools" "C Development Tools and Libraries" "D Development Tools and Libraries" "Development and Creative Workstation".
3. Далее иду по статье https://fedoraproject.org/wiki/Livemedia-creator-_How_to_create_and_use_a_Live_CD
sudo dnf install mock
sudo usermod -a -G mock user
Работаю под пользователем user.
$ mock -r fedora-26-x86_64 --init
Успешно
$ mock -r fedora-26-x86_64 --install lorax-lmc-novirt git vim-minimal pykickstart
Тут следующий вывод
Complete!
Non-fatal POSTIN scriptlet failure in rpm package lvm2
Non-fatal POSTIN scriptlet failure in rpm package lvm2
INFO:
Finish: run
Далее выполняю
$ sudo setenforce 0
$ mock -r fedora-26-x86_64 --shell
<mock-chroot> sh-4.3# git clone https://pagure.io/fedora-kickstarts.git
<mock-chroot> sh-4.3# cd fedora-kickstarts
<mock-chroot> sh-4.3# ksflatten -v, --config fedora-live-soas.ks -o flat-fedora-live-soas.ks --version F26
Успешно
А вот эта команда заваливается с ошибками
<mock-chroot> sh-4.3# livemedia-creator --ks flat-fedora-live-soas.ks --no-virt --resultdir /var/lmc --project Fedora-soas-Live --make-iso --volid Fedora-SoaS-26 --iso-only --iso-name Fedora-SoaS-26-x86_64.iso --releasever 26 --title Fedora-SoaS-live --macboot
Понятно, что не удается создать loop девайсы. Но как это обойти?
Ошибка такая:
<mock-chroot> sh-4.4# livemedia-creator --ks flat-fedora-live-soas.ks --no-virt --resultdir /var/lmc --project Fedora-soas-Live --make-iso --volid Fedora-SoaS-26 --iso-only --iso-name Fedora-SoaS-26-x86_64.iso --releasever 26 --title Fedora-SoaS-live --macboot
2017-07-22 19:03:39,536: disk_img = /var/lmc/lmc-disk-kpk6_l9h.img
2017-07-22 19:03:39,537: Using disk size of 5122MiB
Traceback (most recent call last):
File "/usr/sbin/livemedia-creator", line 1476, in <module>
main()
File "/usr/sbin/livemedia-creator", line 1393, in main
disk_img = make_image(opts, ks)
File "/usr/sbin/livemedia-creator", line 1080, in make_image
novirt_install(opts, disk_img, disk_size)
File "/usr/sbin/livemedia-creator", line 747, in novirt_install
mkext4img(None, disk_img, label=opts.fs_label, size=disk_size * 1024**2)
File "/usr/lib/python3.6/site-packages/pylorax/imgutils.py", line 442, in mkext4img
mkfsargs=["-L", label, "-b", "4096", "-m", "0"], graft=graft)
File "/usr/lib/python3.6/site-packages/pylorax/imgutils.py", line 417, in mkfsimage
with LoopDev(outfile, size) as loopdev:
File "/usr/lib/python3.6/site-packages/pylorax/imgutils.py", line 297, in __enter__
self.loopdev = loop_attach(self.filename)
File "/usr/lib/python3.6/site-packages/pylorax/imgutils.py", line 154, in loop_attach
dev = runcmd_output(["losetup", "--find", "--show", outfile])
File "/usr/lib/python3.6/site-packages/pylorax/executils.py", line 347, in runcmd_output
return execWithCapture(cmd[0], cmd[1:], **kwargs)
File "/usr/lib/python3.6/site-packages/pylorax/executils.py", line 249, in execWithCapture
reset_handlers=reset_handlers, reset_lang=reset_lang)[1]
File "/usr/lib/python3.6/site-packages/pylorax/executils.py", line 201, in _run_program
raise subprocess.CalledProcessError(proc.returncode, argv, output)
subprocess.CalledProcessError: Command '['losetup', '--find', '--show', '/var/lmc/lmc-disk-kpk6_l9h.img']' returned non-zero exit status 1.
Вот тут есть указание на то, что можно пробросить свой каталог /dev, но это не рекомендовано.
http://lorax.readthedocs.io/en/latest/livemedia-creator.html
Я попробовал на своей виртуалке, но shell от mock даже не стартует из-за конфиликта /dev/null операционки и окружения mock.
Прошу советы. Нужна сборка от Fedora.
P.S. Пробовал собирать без mock, но там другая проблема - пакеты выкачиваются, но сборка сваливается на postinstall