Bug 1942038 - livecd-creator fails with multiple problems here listed
Summary: livecd-creator fails with multiple problems here listed
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora EPEL
Classification: Fedora
Component: livecd-tools
Version: epel8
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Neal Gompa
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-03-23 13:46 UTC by Roger Sewell
Modified: 2021-06-28 00:31 UTC (History)
9 users (show)

Fixed In Version: livecd-tools-28.3-1.el8
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-06-28 00:31:28 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Kickstart file used with livecd-creator that eventually worked (2.60 KB, text/plain)
2021-03-23 13:46 UTC, Roger Sewell
no flags Details
/usr/lib/python3.6/site-packages/imgcreate/live.py version I used (37.78 KB, text/plain)
2021-05-14 19:54 UTC, Roger Sewell
no flags Details

Description Roger Sewell 2021-03-23 13:46:20 UTC
Created attachment 1765543 [details]
Kickstart file used with livecd-creator that eventually worked

Description of problem: When attempting to create a live .iso with CentOS 8.3 a long list of problems had to be fixed before it would run, listed below with the fixes that eventually got it to run.


Version-Release number of selected component (if applicable): 

livecd-tools-27.1-8.el8.x86_64
python3-imgcreate-27.1-8.el8.x86_64 

How reproducible: Always.

Steps to Reproduce:
livecd-creator -vdc CentOS-8.3-LiveGNOME-rfs.ks -f TestSystem

Expected results: Creates a file TestSystem.iso which when dd'd to a USB stick will boot a live system.

Actual results: Fails for the following reasons:

1. Needs the package kmod-hfsplus which isn't listed in the packages requirements

2. Since the package dracut-live has been split out of the dracut package, dracut-live is also needed in order to provide the dracut module dmsquash-live

3. The file /usr/lib/python3.6/site-packages/imgcreate/live.py from the python3-imgcreate package tries (at lines 89,271,274, and others) to include the following modules that are no longer part of RHEL8 (I think because they are considered obsolete): btrfs, ide-cd, =ata, sym53c8xx, aic7xxx, ehci_hcd, uhci_hcd, ohci_hcd, usb_storage, usbhid, ohci1394, ieee1394, =pcmcia, virtio_pci, virtio_mmio, virtio_rng, so to get it to work I removed all of these from the code in live.py except usb_storage which I replaced by usb-storage and =ata for which I added a couple of lines in the __extra_drivers function replacing this by the list ahci ahci_platform ata_generic ata_piix libahci libahci_platform libata .

4. In order to get livecd-creator to run with selinux enabled on the creating system, it was necessary to add a module to the selinux setup containing the following code: 

   allow kernel_t unconfined_t:process transition; 

(with the associated require statements). In order to get the resulting system to run with selinux enabled and allow logins  it was necessary to add both this and also 

   allow kernel_t self:service {disable start status stop};

(with the associated require statements).

5. It appeared to be necessary to add kernel explicitly to the list of packages, even though the documentation says that the kernel package will be added automatically.

6. I also ended up adding the following packages to the list, though I haven't rerun everything on a leave-one-out basis to prove that they are all needed: 

kexec-tools grub2 shim-ia32 plymouth grub2-efi-ia32-cdboot grub2-efi-x64-cdboot isomd5sum

7. Despite that, I was left with the following error messages from the build, which didn't appear to stop the resulting live system working:

On post-install scripts:

  Installing       : udisks2-2.8.4-1.el7.x86_64                       1001/1358 
  Running scriptlet: udisks2-2.8.4-1.el7.x86_64                       1001/1358
Failed to initialize SELinux context: No such file or directory
Failed to initialize SELinux context: No such file or directory

  Installing       : qemu-kvm-10:1.5.3-175.el7_9.3.x86_64             1018/1358 
  Running scriptlet: qemu-kvm-10:1.5.3-175.el7_9.3.x86_64             1018/1358
Failed to initialize SELinux context: No such file or directory

On post-transaction scripts:

  Running scriptlet: kernel-3.10.0-1160.15.2.el7.x86_64               1358/1358
Failed to install module libahci_platform
 
  Running scriptlet: kmod-kvdo-6.1.3.23-5.el7.x86_64                  1358/1358
Failed to install module libahci_platform

After the end of the recognisably yum-like output:

The 'rhgb' entity is not available.
The '/usr/lib/anaconda-runtime/checkisomd5' entity is not available.
The 'rhgb' entity is not available.
The '/usr/lib/anaconda-runtime/checkisomd5' entity is not available.

During relabelling:

/etc/selinux/targeted/contexts/files/file_contexts.bin: context system_u:object_r:ganesha_var_log_t:s0 is invalid
filespec_add:  conflicting specifications for /usr/sbin/mke2fs and /usr/sbin/mkfs.ext4, using system_u:object_r:fsadm_exec_t:s0.
filespec_add:  conflicting specifications for /usr/sbin/e2fsck and /usr/sbin/fsck.ext3, using system_u:object_r:fsadm_exec_t:s0.

End of bug description.

Comment 1 Scott Dowdle 2021-04-30 18:11:02 UTC
It should also be noted that the livecd-tools package can't even be installed because of missing deps.

# dnf install livecd-tools
Last metadata expiration check: 0:05:02 ago on Fri 30 Apr 2021 11:55:59 AM MDT.
Error: 
 Problem: package livecd-tools-27.1-8.el8.x86_64 requires livecd-iso-to-mediums = 27.1-8.el8, but none of the providers can be installed
  - package livecd-iso-to-mediums-27.1-8.el8.x86_64 requires python-imgcreate-sysdeps(x86-64) = 27.1-8.el8, but none of the providers can be installed
  - conflicting requests
  - nothing provides hfsplus-tools needed by python-imgcreate-sysdeps-27.1-8.el8.x86_64
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

I'm guessing there is no chance this will be fixed so perhaps you should just close it with "WON'T FIX", eh?

Comment 2 Roger Sewell 2021-04-30 18:31:01 UTC
Scott, that's a little harsh on the EPEL folks (which is where the livecd-tools package comes from). Not only are the packages you claim can't be found all available on EPEL, but the further required package kmod-hfsplus is available from ElRepo.

Moreover assuming in this way that these issues won't get fixed is also unkind on people who supply all this stuff for free - why not give them benefit of the doubt ?

Roger.

Comment 3 Scott Dowdle 2021-04-30 19:19:58 UTC
Oh, I'm sorry.  I didn't know I needed to have ElRepo enabled to install something from EPEL.  Silly me.

Red Hat doesn't provide any live media for EL8.  CentOS doesn't.  Oracle doesn't.

This has been broken, to the best of my knowledge, the entire lifecycle of EL8.  I don't think I'm overreacting.  I'm not being hateful or anything, just realistic.

But since you mentioned it, hey... I'll try ElRepo before giving up for the dozenth time in 18 months.  Maybe if I just wait a little bit longer.

I also read in another ticket that Red Hat says they don't have any customers who care about live media and were planning on removing the install-from-live-media code from anaconda.  I don't know if that has happened yet or not though.

I do appreciate your words of support.

Comment 4 Roger Sewell 2021-04-30 21:34:38 UTC
Scott, don't give up, this is entirely doable. I use the live media on a memory stick every day to carry a "machine" around on my keyring that I can stick in anybody else's real machine and use for real. (I never use it to install though - can't see the point when an ordinary installation iso will do.) Moreover the 8.3 version I'm currently using is more reliable for some things than the 7.9 version I was using before.

If you get kmod-hfsplus from ElRepo, the other packages you mention from EPEL, use the .ks file I attached at the top of this bug report, and do the various mods I listed there, you'll get a working live iso to put on a stick or dvd. Once you have that working, you can redo it with any extra packages you want listed in the .ks file. If you have other problems with it feel free to email me directly. 

Depending on what kernel you're using, it's possible that you may also need to do some bugfixes to the kmod-hfsplus package - I did, and can guide you through them if necessary (I'm pretty sure that the ElRepo guys know these are needed and what to do, but just may not have got round to doing them yet). Let me know if so.

But yes, it would be good if somebody at EPEL who unlike me knows what they're doing would fix the various issues so the extra steps weren't needed.
Roger.

Comment 5 Neal Gompa 2021-05-02 01:53:35 UTC
I'm in the process of reworking a lot of this for aarch64 support, so I'm planning on trying to fix this then.

Comment 6 Scott Dowdle 2021-05-14 17:28:10 UTC
Roger,

Even after installing kmod-hfsplus from Elrepo, I still can't get livecd-tools to install.  Are there other packages that are needed from elsewhere?

[root@ml-cl8 ~]# rpm -q kmod-hfsplus
kmod-hfsplus-0.0-3.el8_3.elrepo.x86_64
[root@ml-cl8 ~]# dnf install livecd-tools
Last metadata expiration check: 0:12:29 ago on Fri 14 May 2021 11:15:10 AM MDT.
Error: 
 Problem: package livecd-tools-27.1-8.el8.x86_64 requires livecd-iso-to-mediums = 27.1-8.el8, but none of the providers can be installed
  - package livecd-iso-to-mediums-27.1-8.el8.x86_64 requires python-imgcreate-sysdeps(x86-64) = 27.1-8.el8, but none of the providers can be installed
  - conflicting requests
  - nothing provides hfsplus-tools needed by python-imgcreate-sysdeps-27.1-8.el8.x86_64
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

TYL, Scott Dowdle

Comment 7 Scott Dowdle 2021-05-14 17:31:56 UTC
Nevermind, I found hfsplus-tools in Elrepo and that makes everything happy.

Comment 8 Scott Dowdle 2021-05-14 18:45:26 UTC
Roger,

With the help of your instructions (although I skipped over steps #3 and #4 because they weren't detailed enough) I *HAVE* made some progress.  I now have a bootable iso.  It doesn't automatically start a graphical login but the root account works with no password, there is a liveuser with a black password... and I can login... and run startxfce4 to get the XFCE desktop.  I can probably overcome that issue with fixes in the %post I'm using.

Here's the big issue now though... no packages provide liveinst.  On Fedora, that is provided by a package named anaconda-live.  There is no such package in any of the EL8 repos that I'm aware of.  So while I might be able to work through the problems I had making a working live image... there doesn't appear to be any way to install the thing.

I do recall seeing a bugzilla ticket some time ago (although I don't have specifics handy) where RH developers were saying they were planning on removing live install support from Anaconda as Red Hat customers weren't interested in installable live media.  Looks like they have gone through with that. :(

Is that your assessment of the situation also?

TYL, Scott Dowdle

Comment 9 Roger Sewell 2021-05-14 19:48:07 UTC
Scott,

On steps 3 and 4: I'm slightly surprised that you managed to get it to work at all without doing something about step 3; perhaps somebody has fixed this file in a later version of python3-imgcreate that you're running. In case not, I'll attach the fixed version of the live.py file to my next comment - but don't use it if it would be a regression. On step 4, if you're happy to run with SELinux either disabled or permissive then it shouldn't matter - the details would take a lot of writing out. 

I'm afraid as far as your main question goes, though, I don't use a live stick for doing installations, so I've never tried installing that package. However, I do note that anaconda-core-29.19.2.17-1.el8.x86_64 does provide /usr/bin/liveinst; a later version is in the AppStream repo which does not contain it, but you can still get the old packages from the CentOS vault if from nowhere else. Obviously the old version may now be no good as other things may have changed around it.

But it does therefore look as though live install support may have been removed from anaconda.

Best wishes,
Roger.

Comment 10 Roger Sewell 2021-05-14 19:54:50 UTC
Created attachment 1783310 [details]
/usr/lib/python3.6/site-packages/imgcreate/live.py version I used

Version of live.py that I used with the given kickstart file to create a live stick. NOT a proposed patch, no liability etc.

Comment 11 Fedora Update System 2021-06-26 13:06:30 UTC
FEDORA-EPEL-2021-28a6b0ea69 has been submitted as an update to Fedora EPEL 8. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2021-28a6b0ea69

Comment 12 Fedora Update System 2021-06-27 01:57:47 UTC
FEDORA-EPEL-2021-28a6b0ea69 has been pushed to the Fedora EPEL 8 testing repository.

You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2021-28a6b0ea69

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 13 Fedora Update System 2021-06-27 18:50:41 UTC
FEDORA-EPEL-2021-28a6b0ea69 has been submitted as an update to Fedora EPEL 8. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2021-28a6b0ea69

Comment 14 Fedora Update System 2021-06-28 00:31:28 UTC
FEDORA-EPEL-2021-28a6b0ea69 has been pushed to the Fedora EPEL 8 stable repository.
If problem still persists, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.