From Fedora Project Wiki

Revision as of 21:04, 14 November 2017 by Fab (talk | contribs) (→‎mock: Network access)

for older method (namely for Fedora 23) using livecd-tools (livecd-creator) visit
If you simply want to burn a pre-made ISO to a disc, visit to download a LiveCD or LiveDVD, then see the install guide or burning how-to for further instructions.


Install files

  • ksflatten is part of pykickstart
# dnf install mock
# usermod -a -G mock <user>


  • Important


You should always do all work in mock, this will allow you to ensure that the compose environment matches the target environment.

To setup a Fedora 27 x86_64 environment you would run the following

$ mock -r fedora-27-x86_64 --init
$ mock -r fedora-27-x86_64 --install lorax-lmc-novirt git vim-minimal pykickstart

If you wanted a different arch or release you would use the correct mock configuration file.

By default there is no network access in mock. Set config_opts['rpmbuild_networking'] to True if you are using systemd-nspawn.

$ sudo vi /etc/mock/site-defaults.cfg


inside the mock chroot, clone the kickstarts. If your system is using SELinux it needs to be set to Permissive mode while running lorax.

$ sudo setenforce 0
$ mock -r fedora-26-x86_64 --shell
<mock-chroot> sh-4.3# git clone


change directory into fedora-kickstarts and flatten a kickstart

<mock-chroot> sh-4.3# cd fedora-kickstarts
<mock-chroot> sh-4.3# ksflatten --config fedora-live-soas.ks -o flat-fedora-live-soas.ks --version F26

livemedia-creator example

<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

Make a remix

  • edit the bottom of the flat-fedora-live-soas.ks
that you produced with ksflatten (above)
in this section of the flattened.ks:


add a program (add name)
- delete a program ( put - in front)
put # in front of listed program to not install it


livemedia-creator terminal output

Build takes a long time wait for completion
[root@localhost pagure]# livemedia-creator --ks /home/(user)/Downloads/pagure/flat-fedora-live-soas.ks --no-virt --resultdir /var/lmc --project Fedora-soas-Live --make-iso --volid Fedora-SoaS-f24 --iso-only --iso-name Fedora-SoaS-f24.iso --releasever 24 --title Fedora-SoaS-live --macboot
/usr/lib64/python3.5/ PendingDeprecationWarning: The KSOption class is deprecated and will be removed in pykickstart-3.  Use the argparse module instead.
  option = self.option_class(*args, **kwargs)
2016-07-08 11:27:53,350: disk_size = 5122MiB
2016-07-08 11:27:53,351: disk_img = /var/lmc/lmc-disk-7mztqnci.img
2016-07-08 11:27:58,818: Running anaconda.
2016-07-08 11:28:01,751: Processing logs from ('', 48934)
2016-07-08 11:28:04,776: Starting installer, one moment...
2016-07-08 11:28:04,776: terminal size detection failed, using default width
2016-07-08 11:28:04,776: anaconda 24.13.7-1 for Fedora-soas-Live 24 (pre-release) started.
2016-07-08 11:28:04,776: The 'logging' function is not a part of DNF API and will be removed in the upcoming DNF release. Please use only officially supported API functions. DNF API documentation is available at
2016-07-08 11:29:01,131: Starting automated install........................................................
2016-07-08 11:29:01,146: ================================================================================
2016-07-08 11:50:37,613: Disk Image install successful
2016-07-08 11:50:37,613: working dir is /var/tmp/lmc-work-ey7rlb4p
2016-07-08 12:02:35,166: Rebuilding initrds
2016-07-08 12:02:35,166: dracut args = ['--xz', '--add', 'livenet dmsquash-live convertfs pollcdrom qemu qemu-net', '--omit', 'plymouth', '--no-hostonly', '--debug', '--no-early-microcode']
2016-07-08 12:02:35,167: rebuilding boot/initramfs-4.6.3-300.fc24.x86_64.img
2016-07-08 12:03:57,231: Building boot.iso
2016-07-08 12:03:57,328: running x86.tmpl
2016-07-08 12:04:37,262: Disk image erased
2016-07-08 12:04:37,945: SUMMARY
2016-07-08 12:04:37,945: -------
2016-07-08 12:04:37,946: Logs are in /home/(user)/Downloads/pagure
2016-07-08 12:04:37,946: Results are in /var/lmc

Retrieve finished live.iso

"Results are in /var/lib/mock/<mock config>/root/var/lmc"

  • start files application
  • click on Files system
open /var folder
open lmc folder
  • click on the .....iso you just built

copy to (mouse right click) Home with files application

  • Check that it is in Home

Clean Up

  • delete the instance in /var
delete the /var/lmc directory (cannot run new build unless this is done?)
  • Set SELinux back to Enforcing
[root@localhost pagure]# cd /var
[root@localhost var]# ls
account  adm  cache  crash  db  empty  ftp  games  gopher  kerberos  lib  lmc  local  lock  log  mail  nis  opt  preserve  run  spool  tmp  www  yp
[root@localhost var]# rm -r lmc
rm: descend into directory 'lmc'? y
rm: remove regular file 'lmc/Fedora-SoaS-f24.iso'? y
rm: remove directory 'lmc'? y
[root@localhost var]# setenforce 1