CINXE.COM
Automated Build System For Remixes Without Koji :: Fedora Docs
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Automated Build System For Remixes Without Koji :: Fedora Docs</title> <link rel="canonical" href="https://docs.fedoraproject.org/en-US/remix-building/remix-ci/"> <meta name="generator" content="Antora 3.1.4"> <link rel="stylesheet" href="../../_/css/site.css"> <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.3/css/all.css" integrity="sha384-UHRtZLI+pbxtHCWp1t77Bi1L4ZtiqrqD80Kn4Z8NTSRyMA2Fd33n5dQ8lWUE00s/" crossorigin="anonymous"> <link rel="stylesheet" href="../../_/css/vendor/tabs.css"> <meta property="og:type" content="website"> <meta property="og:site_name" content="Fedora Docs"> <meta property="og:title" content="Automated Build System For Remixes Without Koji"> <meta property="og:description" content="Learn more about Fedora Linux, the Fedora Project & the Fedora Community."> <meta property="og:image" content="https://docs.fedoraproject.org/en-US/_/img/docs_logo.png"> <script>if (localStorage.darkmode === 'true' || (!('darkmode' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches)) { document.documentElement.classList.add('dark');} else {document.documentElement.classList.remove('dark');}</script> </head> <body class="article dark:bg-fp-blue-darkest text-black dark:text-white"> <!-- Add any HTML code to show at the top of each page — like a banner to a survey, some announcement, etc. Leave this file empty to not show anything--> <header class="header" role="banner"> <nav class="fixed z-50 top-0 w-full bg-gradient-to-l from-fp-blue to-fp-blue-light dark:bg-none dark:bg-fp-blue-dark" style=""> <div class="mx-auto px-2 sm:px-6 lg:px-8"> <div class="relative flex h-14 items-center justify-between"> <div class="flex flex-1 items-center justify-center sm:items-stretch sm:justify-start" > <div class="flex flex-shrink-0 items-center"> <a href="https://docs.fedoraproject.org/en-US"> <img class="h-6 z-10 w-auto" src="../../_/img/docs_logo_white.png"> </a> </div> <div class="hidden sm:ml-auto sm:block"> <div class="flex space-x-4"> <div id="search-field" class="relative inline-flex cursor-pointer items-center rounded px-4 text-xs text-gray-500 dark:text-gray-200"> <svg class="absolute left-6 fill-gray-400 dark:fill-gray-400 h-3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352c79.5 0 144-64.5 144-144s-64.5-144-144-144S64 128.5 64 208s64.5 144 144 144z"/></svg> <input id="search-input" class="pl-6 pr-28 h-8 w-64 rounded-xl dark:bg-black" type="text" placeholder="Search Docs"> <label class="ml-2 absolute right-6 filter checkbox border-l border-gray-500 pl-2"> <input type="checkbox" class="appearance-none h-3 w-3 border border-gray-500 rounded bg-white dark:bg-black checked:bg-fp-blue-light checked:border-fp-blue-light dark:checked:bg-fp-blue dark:checked:border-fp-blue focus:outline-none transition duration-200 cursor-pointer my-0.5 mr-1 float-left" data-facet-filter="component:remix-building"> In this section </label> </div> </div> </div> <button type="button" id="themeSwitch" class="hidden sm:block stroke-white fill-white "> <span class="dark:hidden"> <svg viewBox="0 0 24 24" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="w-6 h-6"> <path d="M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z"></path> <path d="M12 4v1M17.66 6.344l-.828.828M20.005 12.004h-1M17.66 17.664l-.828-.828M12 20.01V19M6.34 17.664l.835-.836M3.995 12.004h1.01M6 6l.835.836"></path> </svg> </span> <span class="hidden dark:inline"> <svg viewBox="0 0 512 512" class="w-4 h-4"> <path d="M421.6 379.9c-.6641 0-1.35 .0625-2.049 .1953c-11.24 2.143-22.37 3.17-33.32 3.17c-94.81 0-174.1-77.14-174.1-175.5c0-63.19 33.79-121.3 88.73-152.6c8.467-4.812 6.339-17.66-3.279-19.44c-11.2-2.078-29.53-3.746-40.9-3.746C132.3 31.1 32 132.2 32 256c0 123.6 100.1 224 223.8 224c69.04 0 132.1-31.45 173.8-82.93C435.3 389.1 429.1 379.9 421.6 379.9zM255.8 432C158.9 432 80 353 80 256c0-76.32 48.77-141.4 116.7-165.8C175.2 125 163.2 165.6 163.2 207.8c0 99.44 65.13 183.9 154.9 212.8C298.5 428.1 277.4 432 255.8 432z"/> </svg> </span> </button> </div> </div> </div> </nav> </header> <div class="body"> <div class="nav-container dark:text-gray-300 bg-fp-gray-lightest dark:bg-fp-blue-darker dark:border-r dark:border-gray-800" data-component="remix-building" data-version=""> <aside class="nav"> <div class="panels"> <div class="nav-panel-menu is-active" data-panel="menu"> <nav class="nav-menu"> <h3 class="title text-fp-blue-dark dark:text-fp-blue font-bold"><a href="./">Remix Docs</a></h3> <ul class="nav-list"> <li class="nav-item" data-depth="0"> <ul class="nav-list"> <li class="nav-item is-current-page" data-depth="1"> <a class="nav-link" href="./">Automated Build System For Remixes Without Koji</a> </li> </ul> </li> </ul> </nav> </div> <div class="nav-panel-explore bg-gray-50 dark:bg-fp-blue-darkest" data-panel="explore"> <div class="context dark:border-t dark:border-gray-800"> <span class="title">Remix Docs</span> <span class="version"></span> </div> <ul class="components bg-gray-100 dark:bg-fp-blue-darkest"> <li class="component"> <a class="title" href="../../arm-sbc/">ARM Single Board Computers</a> </li> <li class="component"> <a class="title" href="../../ask-fedora-sops/">Ask Fedora SOPs</a> </li> <li class="component"> <a class="title" href="../../community/">Community Architecture (CommArch)</a> </li> <li class="component"> <a class="title" href="../../cle/">Community Linux Engineering</a> </li> <li class="component"> <a class="title" href="../../defensive-coding/">Defensive Coding Guide</a> </li> <li class="component"> <a class="title" href="../../emerging/">Emerging Fedora Desktops</a> </li> <li class="component"> <a class="title" href="../../engineering/">Engineering Teams</a> </li> <li class="component"> <a class="title" href="../../epel/">EPEL</a> </li> <li class="component"> <a class="title" href="../../a11y/">Fedora Accessibility (a11y) WG</a> </li> <li class="component"> <a class="title" href="../../fedora-accounts/">Fedora Accounts</a> </li> <li class="component"> <a class="title" href="../../fedora-asahi-remix/">Fedora Asahi Remix</a> </li> <li class="component"> <a class="title" href="../../badges/">Fedora Badges</a> </li> <li class="component"> <a class="title" href="../../ci/">Fedora CI</a> </li> <li class="component"> <a class="title" href="../../commops/">Fedora Community Ops</a> </li> <li class="component"> <a class="title" href="../../containers/">Fedora Container Docs</a> </li> <li class="component"> <a class="title" href="../../fedora-coreos/">Fedora CoreOS</a> </li> <li class="component"> <a class="title" href="../../design/">Fedora Design Team</a> </li> <li class="component"> <a class="title" href="../../dei/">Fedora Diversity, Equity, and Inclusion (DEI)</a> </li> <li class="component"> <a class="title" href="../../fedora-docs/">Fedora Docs Team</a> </li> <li class="component"> <a class="title" href="../../eln/">Fedora ELN</a> </li> <li class="component"> <a class="title" href="../../gaming/">Fedora Gaming</a> </li> <li class="component"> <a class="title" href="../../i3/">Fedora i3 S.I.G.</a> </li> <li class="component"> <a class="title" href="../../infra/">Fedora Infrastructure & Release Engineering</a> </li> <li class="component"> <a class="title" href="../../iot/">Fedora Internet Of Things</a> </li> <li class="component"> <a class="title" href="../../iot-wg/">Fedora IoT Working Group</a> </li> <li class="component"> <a class="title" href="../../fedora-join/">Fedora Join SIG</a> </li> <li class="component"> <a class="title" href="../../fedora-kinoite/">Fedora Kinoite</a> </li> <li class="component"> <a class="title" href="../../legal/">Fedora Legal</a> </li> <li class="component"> <a class="title" href="../../releases/">Fedora Linux Releases</a> </li> <li class="component"> <a class="title" href="../../localization/">Fedora Localization Team</a> </li> <li class="component"> <a class="title" href="../../fedora-magazine/">Fedora Magazine</a> </li> <li class="component"> <a class="title" href="../../marketing/">Fedora Marketing Team</a> </li> <li class="component"> <a class="title" href="../../mentored-projects/">Fedora Mentored Projects</a> </li> <li class="component"> <a class="title" href="../../mindshare-committee/">Fedora Mindshare Committee</a> </li> <li class="component"> <a class="title" href="../../program_management/">Fedora Program Management</a> </li> <li class="component"> <a class="title" href="../../project/">Fedora projektet</a> </li> <li class="component"> <a class="title" href="../../qa-docs/">Fedora Quality Docs</a> </li> <li class="component"> <a class="title" href="../../rawhide-gating/">Fedora Rawhide Gating</a> </li> <li class="component"> <a class="title" href="../../robotics-sig/">Fedora Robotics SIG</a> </li> <li class="component"> <a class="title" href="../../fedora-server/">Fedora Server Documentation</a> </li> <li class="component"> <a class="title" href="../../server-working-group/">Fedora Server Working Group</a> </li> <li class="component"> <a class="title" href="../../fedora-silverblue/">Fedora Silverblue</a> </li> <li class="component"> <a class="title" href="../../spins-labs/">Fedora Spins & Labs</a> </li> <li class="component"> <a class="title" href="../../fedora-sericea/">Fedora Sway Atomic</a> </li> <li class="component"> <a class="title" href="../../teleirc-sig/">Fedora TeleIRC SIG</a> </li> <li class="component"> <a class="title" href="../../tools/">Fedora Tools</a> </li> <li class="component"> <a class="title" href="../../websites/">Fedora Websites & Apps</a> </li> <li class="component"> <a class="title" href="../../workstation-docs/">Fedora Workstation Documentation</a> </li> <li class="component"> <a class="title" href="../../workstation-working-group/">Fedora Workstation Working Group</a> </li> <li class="component"> <a class="title" href="../../bootc/">Fedora/CentOS bootc</a> </li> <li class="component"> <a class="title" href="../../docs/">Fedoradokumentation</a> </li> <li class="component"> <a class="title" href="../../council/">Fedorarådet</a> </li> <li class="component"> <a class="title" href="../../fedora/latest/">Fedoras användardokumentation</a> <ul class="versions"> <li class="version"> <a href="../../fedora/rawhide/">rawhide</a> </li> <li class="version is-latest"> <a href="../../fedora/latest/">f41</a> </li> <li class="version"> <a href="../../fedora/f40/">f40</a> </li> <li class="version"> <a href="../../fedora/f39/">f39</a> </li> <li class="version"> <a href="../../fedora/f38/">f38</a> </li> <li class="version"> <a href="../../fedora/f37/">f37</a> </li> <li class="version"> <a href="../../fedora/f36/">f36</a> </li> <li class="version"> <a href="../../fedora/f35/">f35</a> </li> <li class="version"> <a href="../../fedora/f34/">f34</a> </li> <li class="version"> <a href="../../fedora/f33/">f33</a> </li> <li class="version"> <a href="../../fedora/f32/">f32</a> </li> <li class="version"> <a href="../../fedora/f31/">f31</a> </li> <li class="version"> <a href="../../fedora/f30/">f30</a> </li> <li class="version"> <a href="../../fedora/f29/">f29</a> </li> <li class="version"> <a href="../../fedora/f28/">f28</a> </li> <li class="version"> <a href="../../fedora/f27/">f27</a> </li> <li class="version"> <a href="../../fedora/f26/">f26</a> </li> </ul> </li> <li class="component"> <a class="title" href="../../fesco/">FESCo</a> </li> <li class="component"> <a class="title" href="../../flatpak/">Flatpak</a> </li> <li class="component"> <a class="title" href="../../java-packaging-howto/">Java Packaging HOWTO</a> </li> <li class="component"> <a class="title" href="../../docs-l10n/">Localization help and stats</a> </li> <li class="component"> <a class="title" href="../../mindshare/">Mindshare Teams</a> </li> <li class="component"> <a class="title" href="../../minimization/">Minimization</a> </li> <li class="component"> <a class="title" href="../../modularity/">Modularity</a> </li> <li class="component"> <a class="title" href="../../neurofedora/overview/">NeuroFedora User Documentation</a> </li> <li class="component"> <a class="title" href="../../package-maintainers/">Package Maintainers</a> </li> <li class="component"> <a class="title" href="../../packaging-guidelines/">Packaging Guidelines</a> </li> <li class="component"> <a class="title" href="../../quick-docs/">Quick Docs</a> </li> <li class="component is-current"> <a class="title" href="./">Remix Docs</a> </li> <li class="component"> <a class="title" href="../../reproducible-builds/">Reproducible Builds</a> </li> </ul> </div> </div> </aside> </div> <main class="article"> <div class="toolbar bg-fp-gray-lightest dark:bg-fp-blue-darkest dark:text-gray-300 dark:border-b dark:border-gray-800" role="navigation"> <button class="toolbar-icon nav-toggle"></button> <a href="../../docs/" class="toolbar-icon home-link"></a> <nav class="crumbs" role="navigation" aria-label="breadcrumbs"> <ul> <li class="after:text-gray-800 dark:after:text-gray-400"><a href="./">Remix Docs</a></li> <li class="after:text-gray-800 dark:after:text-gray-400"><a href="./">Automated Build System For Remixes Without Koji</a></li> </ul> </nav> <div class="page-languages"> <button class="languages-menu-toggle" title="Show other languages of the site"> sv </button> <div class="languages-menu"> <a class="language" href="../../../en-US/remix-building/remix-ci/">en-US</a> <a class="language" href="../../../ar/remix-building/remix-ci/">ar</a> <a class="language" href="../../../ast/remix-building/remix-ci/">ast</a> <a class="language" href="../../../az/remix-building/remix-ci/">az</a> <a class="language" href="../../../be/remix-building/remix-ci/">be</a> <a class="language" href="../../../bg/remix-building/remix-ci/">bg</a> <a class="language" href="../../../bn/remix-building/remix-ci/">bn</a> <a class="language" href="../../../ca/remix-building/remix-ci/">ca</a> <a class="language" href="../../../cs/remix-building/remix-ci/">cs</a> <a class="language" href="../../../de/remix-building/remix-ci/">de</a> <a class="language" href="../../../el/remix-building/remix-ci/">el</a> <a class="language" href="../../../es/remix-building/remix-ci/">es</a> <a class="language" href="../../../es_419/remix-building/remix-ci/">es_419</a> <a class="language" href="../../../fa/remix-building/remix-ci/">fa</a> <a class="language" href="../../../fi/remix-building/remix-ci/">fi</a> <a class="language" href="../../../fil/remix-building/remix-ci/">fil</a> <a class="language" href="../../../fr/remix-building/remix-ci/">fr</a> <a class="language" href="../../../fur/remix-building/remix-ci/">fur</a> <a class="language" href="../../../ga/remix-building/remix-ci/">ga</a> <a class="language" href="../../../he/remix-building/remix-ci/">he</a> <a class="language" href="../../../hi/remix-building/remix-ci/">hi</a> <a class="language" href="../../../hr/remix-building/remix-ci/">hr</a> <a class="language" href="../../../hu/remix-building/remix-ci/">hu</a> <a class="language" href="../../../id/remix-building/remix-ci/">id</a> <a class="language" href="../../../it/remix-building/remix-ci/">it</a> <a class="language" href="../../../ja/remix-building/remix-ci/">ja</a> <a class="language" href="../../../jp/remix-building/remix-ci/">jp</a> <a class="language" href="../../../ka/remix-building/remix-ci/">ka</a> <a class="language" href="../../../kab/remix-building/remix-ci/">kab</a> <a class="language" href="../../../ko/remix-building/remix-ci/">ko</a> <a class="language" href="../../../mr/remix-building/remix-ci/">mr</a> <a class="language" href="../../../ms/remix-building/remix-ci/">ms</a> <a class="language" href="../../../my/remix-building/remix-ci/">my</a> <a class="language" href="../../../nb_NO/remix-building/remix-ci/">nb_NO</a> <a class="language" href="../../../ne/remix-building/remix-ci/">ne</a> <a class="language" href="../../../nl/remix-building/remix-ci/">nl</a> <a class="language" href="../../../nn/remix-building/remix-ci/">nn</a> <a class="language" href="../../../or/remix-building/remix-ci/">or</a> <a class="language" href="../../../pl/remix-building/remix-ci/">pl</a> <a class="language" href="../../../pt/remix-building/remix-ci/">pt</a> <a class="language" href="../../../pt_BR/remix-building/remix-ci/">pt_BR</a> <a class="language" href="../../../pt_PT/remix-building/remix-ci/">pt_PT</a> <a class="language" href="../../../ro/remix-building/remix-ci/">ro</a> <a class="language" href="../../../ru/remix-building/remix-ci/">ru</a> <a class="language" href="../../../si/remix-building/remix-ci/">si</a> <a class="language" href="../../../sk/remix-building/remix-ci/">sk</a> <a class="language" href="../../../sq/remix-building/remix-ci/">sq</a> <a class="language" href="../../../sv/remix-building/remix-ci/">sv</a> <a class="language" href="../../../sw/remix-building/remix-ci/">sw</a> <a class="language" href="../../../te/remix-building/remix-ci/">te</a> <a class="language" href="../../../tr/remix-building/remix-ci/">tr</a> <a class="language" href="../../../tzm/remix-building/remix-ci/">tzm</a> <a class="language" href="../../../uk/remix-building/remix-ci/">uk</a> <a class="language" href="../../../ur/remix-building/remix-ci/">ur</a> <a class="language" href="../../../ur_PK/remix-building/remix-ci/">ur_PK</a> <a class="language" href="../../../uz/remix-building/remix-ci/">uz</a> <a class="language" href="../../../zh_CN/remix-building/remix-ci/">zh_CN</a> <a class="language" href="../../../zh_Hans/remix-building/remix-ci/">zh_Hans</a> <a class="language" href="../../../zh_Hant/remix-building/remix-ci/">zh_Hant</a> <a class="language" href="../../../zh_TW/remix-building/remix-ci/">zh_TW</a> </div> </div> </div> <div class="content"> <aside class="toc sidebar dark:text-fp-gray-light" data-title="Contents" data-levels="2"> <div class="toc-content"> <div class="toc-menu"></div> <div class="pt-6"> </div> </div> </aside> <article class="doc dark:text-gray-100"> <h1 class="page mt-8 mb-1">Automated Build System For Remixes Without Koji</h1> <div class="is-before-toc text-xs text-gray-400 border-b border-gray-300 mb-6 pb-1"> </div> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>This document outlines the process of creating an automated RPM and ISO building infrastructure for smaller <a href="https://fedoraproject.org/wiki/Remix">Fedora Remix</a> projects that do not make use of Fedora’s Koji ecosystem.</p> </div> </div> </div> <div class="sect1"> <h2 id="basic-setup"><a class="anchor" href="#basic-setup"></a>Basic Setup</h2> <div class="sectionbody"> <div class="paragraph"> <p>It is best practice to keep the web server and builder separate.</p> </div> <div class="paragraph"> <p>The web server is a CentOS system. It’s main purpose is to host the public ISO downloads and package repository. The <a href="../_attachments/playbook-builder.yml">playbook-mirror.yml</a> Ansible playbook located in this repository automates the provisioning of the web server. The choice of CentOS was to maximize support time and stay within the RHEL family. It could just as easily be a Debian server though the playbook would need to be adjusted.</p> </div> <div class="paragraph"> <p>The builder is a Fedora system provisioned using the <a href="../_attachments/playbook-mirror.yml">playbook-builder.yml</a> Ansible playbook. The builder is a Jenkins CI server which rebuilds RPMs when changes are made in the version control. The automation should be configured in Jenkins to trigger on a push to <code>master</code> for each repo housing package sources.</p> </div> </div> </div> <div class="sect1"> <h2 id="RPMs"><a class="anchor" href="#RPMs"></a>RPMs</h2> <div class="sectionbody"> <div class="paragraph"> <p>The series of commands shown below illustrates the process of building RPM packages with Jenkins.</p> </div> <div class="literalblock"> <div class="content"> <pre>sudo rm -rf /home/$USER/to-sign/ mkdir -p /home/$USER/to-sign/ copr-rpmbuild scm --clone-url [URL of git repo with package source] --chroot \ fedora-$(lsb_release -a | grep Release | cut -f2)-x86_64 sudo cp /var/lib/copr-rpmbuild/results/*.rpm /home/$USER/to-sign rm -rf /var/lib/copr-rpmbuild/results</pre> </div> </div> <div class="paragraph"> <p>Once the RPM build finishes, a responsible team member then needs to connect to the build server via SSH in order to sign the completed RPM package using:</p> </div> <div class="paragraph"> <p><code>sudo rpmsign --addsign /path/to/to-sign/directory/*rpm</code></p> </div> <div class="paragraph"> <p>A tool such as <code>rsync</code> should then be used to push the new packages to the mirror. After verifying the permissions are correct, run:</p> </div> <div class="paragraph"> <p><code>sudo createrepo_c --update /path/to/RPMs or SRPMs</code></p> </div> <div class="paragraph"> <p>on the mirror in order to update the proper RPM repository.</p> </div> </div> </div> <div class="sect1"> <h2 id="ISOs"><a class="anchor" href="#ISOs"></a>ISOs</h2> <div class="sectionbody"> <div class="paragraph"> <p>ISOs should be built as needed. In order to build an ISO, you need two prerequisites:</p> </div> <div class="olist arabic"> <ol class="arabic"> <li> <p>A kickstart file to be used by the <a href="https://fedoraproject.org/wiki/Anaconda">Anaconda Installer</a></p> </li> <li> <p>The <code>lorax-lmc-novirt</code> and <code>pykickstart</code> Fedora packages</p> </li> </ol> </div> <div class="sect2"> <h3 id="_initial_iso_building"><a class="anchor" href="#_initial_iso_building"></a>Initial ISO Building</h3> <div class="olist arabic"> <ol class="arabic"> <li> <p>Clone the Fedora Kickstarts repository: <code>git clone <a href="https://pagure.io/fedora-kickstarts.git" class="bare">https://pagure.io/fedora-kickstarts.git</a></code></p> </li> <li> <p>Enter the directory: <code>cd fedora-kickstarts/</code></p> </li> <li> <p>Choose a kickstart to use as a base for your remix</p> </li> <li> <p>Flatten the kickstart: <code>ksflatten --config [name of kickstart].ks -o flat-[name of kickstart].ks --version [fedora version]</code></p> </li> <li> <p>Edit the <code>%packages</code> section of the flat kickstart if you wish to add/remove base packages</p> </li> <li> <p>Set <code>SELinux</code> to permissive with: <code>sudo setenforce 0</code></p> </li> <li> <p>Run <code>livemedia-creator</code>:</p> <div class="literalblock"> <div class="content"> <pre>sudo livemedia-creator --ks /path/to/flat/kickstart/file --no-virt \ --resultdir /var/lmc --project [image name] --make-iso --volid [image name] \ --iso-only --iso-name [image name].iso --releasever [fedora release] \ --title [image name] --macboot</pre> </div> </div> </li> <li> <p>The resulting ISO will be in <code>/var/lib/lmc</code>.</p> </li> <li> <p>Finally, set <code>SELinux</code> back to enforcing: <code>sudo setenforce 1</code></p> </li> </ol> </div> </div> <div class="sect2"> <h3 id="_general_iso_building"><a class="anchor" href="#_general_iso_building"></a>General ISO Building</h3> <div class="paragraph"> <p>After an initial ISO build, a new ISO may be created by running:</p> </div> <div class="literalblock"> <div class="content"> <pre>setenforce 0 livemedia-creator --ks [kickstart-name].ks --no-virt --resultdir /var/lmc \ --project [remix name]-Live --make-iso --volid [remix name] \ --iso-only --iso-name [remix name].iso --releasever $vers \ --title [remix name]-live --macboot setenforce 1</pre> </div> </div> <div class="paragraph"> <p>You may want to consider automating the ISO build with Jenkins.</p> </div> </div> </div> </div> <div id="" class="mt-16"> <p class="contribute px-6 py-3 w-fit bg-gray-100 dark:bg-fp-blue-darker rounded-full">Want to help? <a class="" href="https://docs.fedoraproject.org/en-US/fedora-docs/contributing-docs/">Learn how to contribute to Fedora Docs <span class="ml-2 inline-block text-3xl leading-4 h-max align-top text-black dark:text-white">›</span></a></p> </div> </article> </div> </main> </div> <footer class="flex flex-col bg-fp-gray-lightest dark:bg-fp-blue-darkest dark:text-fp-gray-light text-sm dark:border-t dark:border-gray-800"> <section class="pt-2 pb-6 px-2"> <p class="text-center">All Fedora Documentation content available under <a href="http://creativecommons.org/licenses/by-sa/4.0/legalcode">CC BY-SA 4.0</a> or, when specifically noted, under another <a href="https://fedoraproject.org/wiki/Licensing:Main">accepted</a> free and open content license.</p> <div class="container mx-auto flex flex-col lg:flex-row my-4"> <div class="mx-auto lg:mx-0 lg:basis-3/12"> <img src="../../_/img/fedora-blue.png" alt="Fedora Logo" class="w-36 mb-4 lg:mb-0" /> </div> <ul class="mx-4 flex items-center grow justify-center gap-4 lg:mx-0 lg:gap-12 xl:gap-20 2xl:gap-28 lg:justify-start" > <li class="list-none"> <a href="/en-US/legal/privacy/" class="text-fp-gray-darkest dark:text-fp-gray transition duration-300 ease-in-out hover:text-fp-gray dark:hover:text-fp-gray-light" >Privacy Statement</a > </li> <li class="list-none"> <a href="/en-US/legal/" class="text-fp-gray-darkest transition duration-300 ease-in-out hover:text-fp-gray dark:text-fp-gray dark:hover:text-fp-gray-light" >Legal</a > </li> <li class="list-none"> <a href="/en-US/project/code-of-conduct/" class="text-fp-gray-darkest transition duration-300 ease-in-out hover:text-fp-gray dark:text-fp-gray dark:hover:text-fp-gray-light" >Code of Conduct</a > </li> <li class="list-none"> <a href="https://getfedora.org/en/sponsors/" class="text-fp-gray-darkest transition duration-300 ease-in-out hover:text-fp-gray dark:text-fp-gray dark:hover:text-fp-gray-light" >Sponsors</a > </li> </ul> </div> <p class="text-center text-xs text-fp-gray-dark">Last build: 2025-02-25 23:00:11 UTC </p> </section> <!-- Red Hat Sponsorship Section --> <section class="bg-black py-6 text-center md:text-left px-2"> <div class="container mx-auto flex flex-col lg:flex-row"> <div class="mx-auto items-center lg:mx-0 lg:basis-3/12"> <img src="../../_/img/logo-sponsored-by-red-hat.png" alt="Sponsored by Red Hat Logo" class="mb-4 xl:mb-0" /> </div> <div class="flex items-center justify-center text-center lg:text-left lg:ml-8 xl:-ml-8 2xl:ml-5"> <p class="text-white"> Fedora is sponsored by Red Hat. <a class="block text-fp-gray xl:ml-2 xl:inline" href="https://www.redhat.com/en/technologies/linux-platforms/articles/relationship-between-fedora-and-rhel"> Learn more about the relationship between Red Hat and Fedora. </a> </p> </div> </div> </section> </footer> <script id="site-script" src="../../_/js/site.js" data-ui-root-path="../../_"></script> <script async src="../../_/js/vendor/highlight.js"></script> <script async src="../../_/js/vendor/datatables.js"></script> <script async src="../../_/js/vendor/tabs.js"></script> <script src="../../_/js/vendor/lunr.js"></script> <script src="../../_/js/search-ui.js" id="search-ui-script" data-site-root-path="../.." data-snippet-length="100" data-stylesheet="../../_/css/search.css"></script> <script async src="../../search-index.js"></script> </body> </html>