Build Your Own Remix with Fedora: Difference between revisions
m →spin-kickstarts.git: move section down |
|||
| (46 intermediate revisions by the same user not shown) | |||
| Line 7: | Line 7: | ||
: A 8GB USB is a minimum requirement. | : A 8GB USB is a minimum requirement. | ||
: It is usually Cheaper to buy a 120GB or larger external USB Hard Drive and install fedora on it. | : It is usually Cheaper to buy a 120GB or larger external USB Hard Drive and install fedora on it. | ||
''' THIS SHOULD BE LOOKED AT FIRST:http://download.sugarlabs.org/soas/docs/customization-guide''' | ''' THIS SHOULD BE LOOKED AT FIRST:http://download.sugarlabs.org/soas/docs/customization-guide''' | ||
:: NOTE: this content should be used to enhance above link - 08/02/2010 satellit | :: NOTE: this content should be used to enhance above link - 08/02/2010 satellit | ||
'''NOTE: also look at SugarClone:''' | '''NOTE: also look at SugarClone:''' | ||
: (SugarClone duplicates a customized live USB to 2nd USB.) | : (SugarClone duplicates a customized live USB to 2nd USB.) | ||
| Line 20: | Line 18: | ||
single-word command. It would probably serve the targeted-project, | single-word command. It would probably serve the targeted-project, | ||
special-focus case. | special-focus case. | ||
=='''livemedia-creator'''== | |||
*Newer method in f24 | |||
:https://jbwillia.wordpress.com/2014/10/29/how-to-build-updated-fedora-live-iso-for-yourself/ | |||
*Older post | |||
:https://www.brianlane.com/creating-live-isos-with-livemedia-creator.html | |||
*Examples in f24 root terminal: | |||
*Must be done first: | |||
:'''You must be in the same fedora version (f24) first.''' | |||
setenforce 0 | |||
=== ksflatten === | |||
::build works: 05/26/2016 tg | |||
*Link: | |||
:https://pagure.io/fedora-kickstarts/tree/f24 | |||
::<dgilmore> satellit: I suggest that you tell people to git clone the repo and not get each piece manually | |||
:Kickstarts need to flattened before use: | |||
:: hit raw tab and '''save-page-as''' to a local directory (/home/(user)/Downloads/pagure.ks/) | |||
:https://pagure.io/fedora-kickstarts/blob/f24/f/fedora-live-soas.ks | |||
:https://pagure.io/fedora-kickstarts/blob/f24/f/fedora-live-base.ks | |||
:https://pagure.io/fedora-kickstarts/blob/f24/f/fedora-live-minimization.ks | |||
:https://pagure.io/fedora-kickstarts/blob/f24/f/fedora-repo.ks | |||
:https://pagure.io/fedora-kickstarts/blob/f24/f/fedora-repo-not-rawhide.ks | |||
:https://pagure.io/fedora-kickstarts/blob/f24/f/fedora-repo-rawhide.ks | |||
:https://pagure.io/fedora-kickstarts/blob/f24/f/fedora-soas-packages.ks | |||
*switch root terminal to the local directory with the kickstart files (/home/(user)/Downloads/pagure.ks/) | |||
ksflatten -v, --config fedora-live-soas.ks -o flat-fedora-live-soas.ks --version F24 | |||
livemedia-creator --ks /home/(user)/Downloads/pagure.ks/flat-fedora-live-soas.ks --logfile /tmp/lmc-logs/livemedia-out.log --no-virt --resultdir /tmp/lmc --project Fedora-soas-Live --make-iso --volid Fedora-SoaS-flat-live --iso-only --iso-name Fedora-SoaS-flat-live.iso --releasever 24 --title Fedora-SoaS-flat-live --macboot | |||
=== Make a remix === | |||
*edit the bottom of the flat-fedora-live-soas.ks | |||
:in this section | |||
%packages | |||
:add a program (add name) | |||
:'''-''' delete a program ( put - in front) | |||
:put '''#''' in front of listed program to not install it | |||
:Build takes a long time wait for completion | |||
:ends with: | |||
..........clip........ | |||
..........clip........ | |||
2016-05-17 16:16:16,110: Disk Image install successful | |||
2016-05-17 16:16:16,110: working dir is /var/tmp/lmc-work-rilyz2bm | |||
2016-05-17 16:27:38,448: Rebuilding initrds | |||
2016-05-17 16:27:38,448: dracut args = ['--xz', '--add', 'livenet dmsquash-live convertfs pollcdrom qemu qemu-net', '--omit', 'plymouth', '--no-hostonly', '--debug', '--no-early-microcode'] | |||
2016-05-17 16:27:38,449: rebuilding boot/initramfs-4.5.3-300.fc24.x86_64.img | |||
2016-05-17 16:29:15,724: Building boot.iso | |||
2016-05-17 16:29:15,784: running x86.tmpl | |||
2016-05-17 16:29:48,959: Disk image erased | |||
2016-05-17 16:29:49,377: SUMMARY | |||
2016-05-17 16:29:49,377: ------- | |||
2016-05-17 16:29:49,377: Logs are in /tmp/lmc-logs | |||
2016-05-17 16:29:49,377: Results are in /tmp/lmc | |||
===Retrieve finished live.iso=== | |||
"Results are in /tmp/lmc" | |||
*start files application | |||
*click on '''Files system''' | |||
:open temp 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 /tmp | |||
:delete the /tmp directory (cannot run new build unless this is done?) | |||
[root@localhost lmc]# | |||
[root@localhost lmc]# cd .. | |||
[root@localhost tmp]# rm -r lmc | |||
rm: descend into directory 'lmc'? y | |||
rm: remove regular file 'lmc/Fedora-LUCwks-20160524.iso'? y | |||
rm: remove directory 'lmc'? y | |||
[root@localhost tmp]# | |||
== Fedora Remix Info == | |||
:https://fedoraproject.org/wiki/Remix | |||
*Important Info and links | |||
"A Fedora Remix is a combination of Fedora software, with or without third-party software, | |||
that any community member can create at any time..." | |||
''' The following is Modified/Adapted from: https://fedoraproject.org/wiki/Talk:How_to_create_and_use_a_Live_CD''' | ''' The following is Modified/Adapted from: https://fedoraproject.org/wiki/Talk:How_to_create_and_use_a_Live_CD''' | ||
* AND | * AND | ||
'''FedoraQA Creating_a_Test_Day_Live_Image: https://fedoraproject.org/wiki/QA/Test_Days/Live_Image#Creating_a_Test_Day_Live_Image''' | '''FedoraQA Creating_a_Test_Day_Live_Image: https://fedoraproject.org/wiki/QA/Test_Days/Live_Image#Creating_a_Test_Day_Live_Image''' | ||
*Other Important links: | |||
::3/11/2014 | |||
:https://fedoraproject.org/wiki/How_to_create_and_use_a_Live_CD?rd=How_to_create_and_use_Fedora_Live_CD | |||
:https://fedoraproject.org/wiki/How_to_create_a_Fedora_install_ISO_for_testing?rd=How_to_build_a_Rawhide_ISO_image_for_testing#Build_a_boot.iso | |||
== Introduction == | |||
*Complete Reference on Fedora [https://fedoraproject.org/wiki/Anaconda/Kickstart Anaconda Kickstart] | *Complete Reference on Fedora [https://fedoraproject.org/wiki/Anaconda/Kickstart Anaconda Kickstart] | ||
| Line 56: | Line 145: | ||
su -c 'yum install livecd-tools spin-kickstarts' | su -c 'yum install livecd-tools spin-kickstarts' | ||
*'''https://git.fedorahosted.org/git/spin-kickstarts.git''' | |||
:latest spin.ks files | |||
If you are interested in localized live cd files, install also '''l10n-kickstarts'''. | If you are interested in localized live cd files, install also '''l10n-kickstarts'''. | ||
| Line 69: | Line 162: | ||
::f16 0.94.- | ::f16 0.94.- | ||
::f17 0.96.- | ::f17 0.96.- | ||
::f18 0. | ::f18 0.98.- | ||
::f19 0.98.7- | |||
::f20 0.99. - | |||
::f21 0.102.x - | |||
::f22 | |||
::f23 | |||
::f24 0.108.x - | |||
==== Set up your environment ==== | ==== Set up your environment ==== | ||
Now we'll set up the place you'll be building your remix's image file in. We assume you're running a recent version of Fedora. | Now we'll set up the place you'll be building your remix's image file in. We assume you're running a recent version of Fedora. | ||
:We will use the /home/(user*)/ | :We will use the /home/(user*)/ directory to do our builds | ||
:Note: If you use the Kickstart files in the default installed location in /usr/share/spin-kickstarts you will have permission problems editing the files. | :Note: If you use the Kickstart files in the default installed location in /usr/share/spin-kickstarts you will have permission problems editing the files. | ||
*'''Set SELinux in permissive mode:''' | *'''Set SELinux in permissive mode:''' | ||
:: | ::Remix build will fail if this is not done | ||
su -c ‘setenforce 0’ | su -c ‘setenforce 0’ | ||
*Copy the kickstart files you've Downloaded to | *Copy the kickstart files you've Downloaded to a new spin-kickstarts directory: | ||
::As noted above; copying changes the file permissions so it is easier to use them. | |||
:(user*)= your user name | :(user*)= your user name | ||
*In terminal $: | |||
mkdir /home/(user*)/spin-kickstarts | |||
cp /usr/share/spin-kickstarts/*.ks /home/(user*)/spin-kickstarts/ | |||
cd /home/(user*)/spin-kickstarts/ | |||
=====ksflatten===== | |||
*program to convert kickstart files into one file | |||
*install: | |||
dnf install /usr/bin/ksflatten | |||
KSFLATTEN(1) General Commands Manual KSFLATTEN(1) | |||
NAME | |||
ksflatten — flatten a kickstart file | |||
SYNOPSIS | |||
ksflatten [-c | --config INFILE] [-o | --output OUTFILE] [-v | --version VERSION] | |||
DESCRIPTION | |||
ksflatten is a program that takes an input kickstart file potentially containing includes and | |||
generates an output file with all the includes inlined. | |||
EXIT STATUS | |||
ksflatten returns 0 on success, and 1 if INFILE does not exist or there is an error parsing | |||
the kickstart file. | |||
OPTIONS | |||
-c, --config INFILE | |||
The name of the input kickstart file. | |||
-o, --output OUTFILE | |||
Write the flattened kickstart file to OUTFILE, or stdout if no filename is given. | |||
-v, --version VERSION | |||
======Examples====== | |||
# /Downloads/spin-kickstarts | |||
ksflatten -v, --config fedora-livecd-soas.ks -o flat-fedora-livecd-soas.ks --version F21 | |||
=====git spin-kickstarts===== | |||
::Updated 11/09/2014 | |||
:https://git.fedorahosted.org/cgit/spin-kickstarts.git/ | |||
:'''https://git.fedorahosted.org/cgit/spin-kickstarts.git/tree/?h=f21''' | |||
::'''Recommended for most up to date xxx.ks''' | |||
:Latest spin-kickstarts used for composes of live cd's | |||
::Downloaded spin-kickstarts usually are not up to date. | |||
*These are more up to date kickstart files-(used for builds) | |||
:Index: http://git.fedorahosted.org/cgit/spin-kickstarts.git/ | |||
:Unzip latest file | |||
:Use these kick-start files as shown in the above example. | |||
:Be sure to not mix them with the files we added to /spin-kickstarts | |||
*Suggest copying them to /home/(user)*/ to keep them apart. | |||
* Edit one of these .ks files with the '''gedit''' Text Editor | |||
:see (section below for details of what you can do) | :see (section below for details of what you can do) | ||
====Masher .ks files==== | |||
*use the flattened (one file) .ks file for the latest koji builds: | |||
:http://koji.fedoraproject.org/koji/tasks?start=0&state=all&view=flat&method=createLiveCD&order=-id | |||
::Click on the green (successful) build listed on this page and download the xxxx.ks listed below the xxxx.iso link | |||
::Save this to /home/(user)/spin-kickstarts/ | |||
::Link to this after you adjust the xxx.ks for your needs (see below) | |||
====[https://fedoraproject.org/wiki/QA:Testcase_Kickstart_File_Path_Ks_Cfg Add a xxx.ks file in Anaconda]==== | |||
"This test will verify that anaconda can load a kickstart file from a file:// path. This is a typical case for when the kickstart file is located in the initrd.img." | |||
====Example Terminal Command to Build .iso ==== | ====Example Terminal Command to Build .iso ==== | ||
'''You must be connected to a fast Internet connection for this to work''' | '''You must be connected to a fast Internet connection for this to work''' | ||
*In root terminal: | |||
*In root terminal | |||
'''livecd-creator \''' | '''livecd-creator \''' | ||
'''--config=/home/(user) | '''--config=/home/(user)/spin-kickstarts/fedora-livecd-soas.ks \''' | ||
'''--fslabel=Soas-v(2- | '''--fslabel=Soas-v(2-11)-Remix-mmddyr --cache=/var/cache/live --verbose''' | ||
*'''KEY''' | *'''KEY''' | ||
: --fslabel=Soas-v(2- | : --fslabel=Soas-v(2-14)-Remix-mmddyr = (The name you specify for the CD remix) | ||
:: Explanation of format for name: (preliminary layout pending approval by Soas) | :: Explanation of format for name: (preliminary layout pending approval by Soas) | ||
::: v(2- | ::: v(2-11)= the sugar version | ||
:::: v2= Fedora 12 sugar 0.86- | :::: v2= Fedora 12 sugar 0.86- | ||
:::: v3= Fedora 13 sugar 0.88- | :::: v3= Fedora 13 sugar 0.88- | ||
| Line 113: | Line 267: | ||
:::: v6= Fedora 16 sugar 0.94.x | :::: v6= Fedora 16 sugar 0.94.x | ||
:::: v7= Fedora 17 sugar 0.95.x | :::: v7= Fedora 17 sugar 0.95.x | ||
:::: | :::: v8= Fedora 18 sugar 0.98.x | ||
:::: v10=Fedora 20 sugar 0.99.x | |||
:::: v11=Fedora 21 sugar 0102.x | |||
:::: v12=Fedora 22 sugar 0102.x | |||
:::: v13=Fedora 23 sugar 0104.x | |||
:::: v14=Fedora 24 sugar 0106.x | |||
:::: mmddyr= The Creation Date | |||
:: '''Remix is REQUIRED for naming if Soas is used''' | :: '''Remix is REQUIRED for naming if Soas is used''' | ||
: --config=/home/(user*) | : --config=/home/(user*)/spin-kickstarts/ * (path to your spin-kickstarts folder and .ks file) | ||
: the flattened .ks files from koji are preferred kickstarts to use: | |||
::http://koji.fedoraproject.org/koji/tasks?start=0&state=all&view=flat&method=createLiveCD&order=-id | |||
==== Create''/Modify'' the kickstart file ==== | ==== Create''/Modify'' the kickstart file ==== | ||
| Line 228: | Line 392: | ||
Now you can add any app that you want to start every time users log on. | Now you can add any app that you want to start every time users log on. | ||
| Line 257: | Line 420: | ||
:test Digest, Vol 97, Issue 3 Comment (by adamwill) | :test Digest, Vol 97, Issue 3 Comment (by adamwill) | ||
:I can build live images if needed. Actually, you probably could too, it's actually very simple to do. You basically just need a git checkout of spin-kickstarts: | :I can build live images if needed. Actually, you probably could too, it's actually very simple to do. You basically just need a git checkout of spin-kickstarts: | ||
===References/Links=== | ===References/Links=== | ||
| Line 302: | Line 426: | ||
::An alternative approach | ::An alternative approach | ||
* [[Sugar on a Stick/Customization]] | * [[Sugar on a Stick/Customization]] | ||
*http://fedoraproject.org/wiki/Anaconda/Kickstart | *'''http://fedoraproject.org/wiki/Anaconda/Kickstart''' | ||
=====Older Anaconda Kickstart Links===== | =====Older Anaconda Kickstart Links===== | ||
| Line 325: | Line 449: | ||
*http://spins.fedoraunity.org/team-documentation/composing-spins/doing-the-work | *http://spins.fedoraunity.org/team-documentation/composing-spins/doing-the-work | ||
====spin-kickstarts.git==== | ====spin-kickstarts.git==== | ||
*https://pagure.io/fedora-kickstarts/tree/f24 | |||
:New | |||
*http://git.fedorahosted.org/git/?p=spin-kickstarts.git;a=tree;hb=HEAD | *http://git.fedorahosted.org/git/?p=spin-kickstarts.git;a=tree;hb=HEAD | ||
:Older depreciated | |||
===Dextrose XO-1 & XO-1.5=== | ===Dextrose XO-1 & XO-1.5=== | ||
* [[Dextrose/Building]] | * [[Dextrose/Building]] | ||
=== | ===Licensing=== | ||
*http://fedoraproject.org/wiki/Licensing | *http://fedoraproject.org/wiki/Licensing | ||
*http://opensource.org/licenses/lgpl-license | |||
:How to label the license for your VirtualBox exports and Remixed .iso's | |||
===Using KIWI with openSUSE to Customize=== | ===Using KIWI with openSUSE to Customize=== | ||
| Line 345: | Line 474: | ||
===Notes/Links=== | ===Notes/Links=== | ||
http://marcopg.org/2011/06/12/html-activities/ | http://marcopg.org/2011/06/12/html-activities/ | ||
====Building Boot Images==== | ====[https://fedoraproject.org/wiki/User:Bcl#Building_boot_images Building Boot Images]==== | ||
*(Very Advanced) | *(Very Advanced) | ||
:http://66.35.62.162/wiki/Install_and_configure_AutoQA | :http://66.35.62.162/wiki/Install_and_configure_AutoQA | ||