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.
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?
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.
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.
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.
I'm in the process of reworking a lot of this for aarch64 support, so I'm planning on trying to fix this then.
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
Nevermind, I found hfsplus-tools in Elrepo and that makes everything happy.
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
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.
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.
FEDORA-EPEL-2021-28a6b0ea69 has been submitted as an update to Fedora EPEL 8. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2021-28a6b0ea69
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.
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.