(add updates-testing example) |
(clarify livecd-creator version) |
||
Line 4: | Line 4: | ||
The following steps outline how to create a Fedora live image based on current [[Releases/Branched|Fedora Branched]] packages for use during [[QA/Test_Days|Test Days]]. This is mainly intended for Fedora QA team and teams that host a Test Day. Of course these teams can also use a [http://alt.fedoraproject.org/pub/alt/nightly-composes/ nightly compose] image, but special Test Day images bring additional benefits - easy access to test day channels (web, chat), smaller size and customizability. | The following steps outline how to create a Fedora live image based on current [[Releases/Branched|Fedora Branched]] packages for use during [[QA/Test_Days|Test Days]]. This is mainly intended for Fedora QA team and teams that host a Test Day. Of course these teams can also use a [http://alt.fedoraproject.org/pub/alt/nightly-composes/ nightly compose] image, but special Test Day images bring additional benefits - easy access to test day channels (web, chat), smaller size and customizability. | ||
How to build a Test Day Live image: | How to build a Test Day Live image: | ||
<ol> | <ol> | ||
<li>Install | <li>Install {{package|livecd-tools}} from the same or higher release that you intend to build the image for. If you want to build a {{FedoraVersion|long|next}} live image, you need to install the <code>.fc{{FedoraVersion|number|next}}</code> package or later. Usually you can install it and run it on an older release ({{FedoraVersion|long|current}}) just fine. If that doesn't work, you will need to install {{FedoraVersion|long|next}} first: | ||
{{#tag:pre| | |||
yum install livecd-tools | yum install livecd-tools --releasever={{FedoraVersion|number|next}} | ||
}} | |||
</li> | </li> | ||
<li>Download the kickstart script used by {{FedoraVersion|long|next}} by using the <code>f{{FedoraVersion|number|next}}</code> git branch: | <li>Download the kickstart script used by {{FedoraVersion|long|next}} by using the <code>f{{FedoraVersion|number|next}}</code> git branch: | ||
{{#tag:pre|git clone 'git://git.fedorahosted.org/spin-kickstarts.git' -b f{{FedoraVersion|number|next}}}} | {{#tag:pre| | ||
yum install git | |||
git clone 'git://git.fedorahosted.org/spin-kickstarts.git' -b f{{FedoraVersion|number|next}} | |||
}} | |||
or if you have done it in the past, just update it: | or if you have done it in the past, just update it: | ||
{{#tag:pre|cd spin-kickstarts; git checkout f{{FedoraVersion|number|next}}; git pull; cd ..}} | {{#tag:pre|cd spin-kickstarts; git checkout f{{FedoraVersion|number|next}}; git pull; cd ..}} |
Revision as of 16:25, 18 March 2013
Creating a Test Day Live Image
The following steps outline how to create a Fedora live image based on current Fedora Branched packages for use during Test Days. This is mainly intended for Fedora QA team and teams that host a Test Day. Of course these teams can also use a nightly compose image, but special Test Day images bring additional benefits - easy access to test day channels (web, chat), smaller size and customizability.
How to build a Test Day Live image:
- Install
livecd-tools
from the same or higher release that you intend to build the image for. If you want to build a Fedora 42 live image, you need to install the.fc42
package or later. Usually you can install it and run it on an older release (Fedora 41) just fine. If that doesn't work, you will need to install Fedora 42 first:yum install livecd-tools --releasever=42
- Download the kickstart script used by Fedora 42 by using the
f42
git branch:yum install git git clone 'git://git.fedorahosted.org/spin-kickstarts.git' -b f42
or if you have done it in the past, just update it:
cd spin-kickstarts; git checkout f42; git pull; cd ..
- OPTIONAL: Create your custom kickstart file my-test-day.ks, if you need some changes from the default configuration:
%include spin-kickstarts/custom/qa-test-day.ks # Redefine repos as you need (e.g. point it to local mirror with --baseurl, etc) #repo --name=fedora --baseurl=file:/mnt/globalsync/fedora/linux/development/$releasever/$basearch/os/ #repo --name=updates --baseurl=file:/mnt/globalsync/fedora/linux/updates/$releasever/$basearch/ # You can also enable updates-testing if you need. Use --baseurl to point to a particular mirror, see above. #repo --name=updates-testing --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-testing-f$releasever&arch=$basearch %packages # Provide list of packages to be added or removed - dependencies are handled #packageYouWant #wildcardedPackagesYouWant* #@GroupYouWant #-packageYouDontWant %end %post # Put any shell commands here, they will be executed in a chrooted environment %end
More kickstart documentation is available at Anaconda/Kickstart.
- Create the live image:
livecd-creator -c spin-kickstarts/custom/qa-test-day.ks --releasever 42 --cache /var/cache/live -f testday-YYYY-MM-DD
(of course replace spin-kickstarts/custom/qa-test-day.ks with my-test-day.ks if you have created your custom kickstart file)
Solving problems
Anaconda dependencies broken
Sometimes the image can't be built because of broken package dependencies. You may solve the problem by removing anaconda
package. Anaconda requires a lot of dependencies and it may very often be the culprit. To remove anaconda you just put -anaconda
line in the %packages
section.
SELinux complaints
For building Test Days LiveCD you must have SELinux installed and enabled. Ideally it should be in the enforcing mode and everything should run fine. In case you have problems with that, you may switch the mode temporarily into permissive mode with this command run as root:
setenforce 0
If that doesn't help, you may also modify your my-test-day.ks kickstart file and after %include
line add a directive
selinux --permissive
(Note: Due to RHBZ #547152 you may also need to add /usr/sbin/lokkit
inside %packages
.)
Now the build should run fine.