Fedora custom DVD

From VVCWiki
Jump to navigationJump to search
  • Install mock
yum install mock
  • Create custom mock configuration

/etc/mock/ds.cfg

config_opts['root'] = 'ds'
config_opts['target_arch'] = 'i686'
config_opts['legal_host_arches'] = ('i386', 'i586', 'i686', 'x86_64')
config_opts['chroot_setup_cmd'] = 'groupinstall buildsys-build'
config_opts['dist'] = 'fc16'  # only useful for --resultdir variable subst

config_opts['plugin_conf']['bind_mount_enable'] = True
config_opts['plugin_conf']['bind_mount_opts']['dirs'].append(('/dev','/dev/'))
config_opts['plugin_conf']['bind_mount_opts']['dirs'].append(('/dev/pts','/dev/pts/'))
config_opts['plugin_conf']['bind_mount_opts']['dirs'].append(('/dev/shm','/dev/shm/'))

config_opts['yum.conf'] = """

[main]
cachedir=/var/cache/yum
debuglevel=1
reposdir=/dev/null
logfile=/var/log/yum.log
retries=20
obsoletes=1
gpgcheck=0
assumeyes=1
syslog_ident=mock
syslog_device=

[fedora]
name=fedora
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-16&arch=i386
failovermethod=priority

"""
  • Initialise mock build environment
mock -r ds --init
mock -r ds install pungi spin-kickstarts
  • Use a kickstart which you would normally use, but remove every section from it beside "@packages"

Add your local repositories

ds-build.cfg

# Add the repos you wish to use to compose here.  At least one of them needs group data.
repo --name=fedora --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch --exclude kernel*debug* --exclude kernel-kdump* \
   --exclude syslog-ng --exclude java-1.5.0-gcj-devel --exclude astronomy-bookmarks --exclude generic* --exclude java-1.5.0-gcj-javadoc --exclude btanks* --exclude GConf2-dbus* --exclude bluez-gnome
repo --name=fedora-source  --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-source-$releasever&arch=$basearch --exclude kernel*debug* --exclude kernel-kdump* \
   --exclude syslog-ng --exclude java-1.5.0-gcj-devel --exclude astronomy-bookmarks --exclude generic* --exclude java-1.5.0-gcj-javadoc --exclude btanks* --exclude GConf2-dbus* --exclude bluez-gnome
repo --name="base" --baseurl=http://ftp.videonext.net/private/Fedora/16/i386/os --cost=1
repo --name="vnrpms" --baseurl=http://ftp.dev.videonext.net/ks/ds/vnrpms

%packages --default
tcsh
kernel*
dracut-*
# grub-efi and grub2 and efibootmgr so anaconda can use the right one on install.
grub-efi
grub2
efibootmgr
@base-x
boost
xorg-x11-fonts-Type1
compiz
openssh-server
qt
qtwebkit
fbset
libva
libva-utils
libXv
libXtst
perl-libwww-perl
ntp
ntp-perl
net-tools
ds-sos
ds-vmx
gdb
watchdog
%end
  • Install the build config into mock environment
mock -r ds --copyin ds-build.cfg /usr/share/spin-kickstarts/
  • Generate ISO tree
mock -r ds --shell 'pungi --nosource --nodebuginfo -G -C -B --flavor Fedora --name Fedora --ver 16 -c /usr/share/spin-kickstarts/ds-build.cfg'
  • Copy customized version of messages and isolinux.cfg
mock -r ds --copyin isolinux.cfg  ds.msg  videonext.lss /16/Fedora/i386/os/isolinux/

  • Copy your kickstarts
mock -r ds --copyin ks.cfg  ks-lvds.cfg /16/Fedora/i386/os/
  • Build the ISO
mock -r ds --shell 'pungi --nosource --nodebuginfo -I --flavor Fedora --name Fedora --ver 16 -c /usr/share/spin-kickstarts/ds-build.cfg'
  • Enjoy