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 /16/Fedora/i386/os/isolinux/
- Copy your kickstart
mock -r ds --copyin ks.cfg /16/Fedora/i386/os/