From Fedora Project Wiki

Line 30: Line 30:
inside the mock chroot, clone the kickstarts
inside the mock chroot, clone the kickstarts


$ sudo setenforce 0
  $ mock -r fedora-25-x86_64 --shell
  $ mock -r fedora-25-x86_64 --shell
  <mock-chroot> sh-4.3# git clone https://pagure.io/fedora-kickstarts.git
  <mock-chroot> sh-4.3# git clone https://pagure.io/fedora-kickstarts.git

Revision as of 22:16, 18 April 2017

Note.png
Note
for older method (namely for Fedora 23) using livecd-tools (livecd-creator) visit https://fedoraproject.org/wiki/How_to_create_and_use_a_Live_CD
Note.png
Note
If you simply want to burn a pre-made ISO to a disc, visit http://fedoraproject.org/en/get-fedora to download a LiveCD or LiveDVD, then see the install guide or burning how-to for further instructions.


livemedia-creator

Install files

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

Documentation

  • Important
http://lorax.readthedocs.io/en/latest/livemedia-creator.html
https://github.com/rhinstaller/lorax/blob/master/docs/livemedia-creator.rst

mock

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 25 x86_64 environment you would run the following

$ mock -r fedora-25-x86_64 --init
$ mock -r fedora-25-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

kickstarts

inside the mock chroot, clone the kickstarts

$ sudo setenforce 0
$ mock -r fedora-25-x86_64 --shell
<mock-chroot> sh-4.3# git clone https://pagure.io/fedora-kickstarts.git

ksflatten

change directory into fedora-kickstarts and flatten a kickstart

<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 F25

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-25 --iso-only --iso-name Fedora-SoaS-25-x86_64.iso --releasever 25 --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:

%packages

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

kickstart-docs

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/optparse.py:999: 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 ('127.0.0.1', 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 https://dnf.readthedocs.org/en/latest/api.html.
2016-07-08 11:29:01,131: Starting automated install........................................................
2016-07-08 11:29:01,146: ================================================================================
..........clip........
..........clip........
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?)
[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]#