Build Your Own Remix with Fedora
Build Your Own Remix
- Return to Sugar Creation Kit
- Fedora only
CAUTION: DO NOT TRY DOING THIS FROM A SOAS USB STICK. A MINIMUM OF 8GB IS REQUIRED TO BUILD A CUSTOM-REMIX.ISO
- 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.
- A Gnome Desktop install seems to work best. Link: [1]
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: also look at SugarClone:
- (SugarClone duplicates a customized live USB to 2nd USB.)
Sugar Clone, Sugar on a Stick/Sugar Clone, is a short-cut method to customize a SoaS installation that works with a single-word command. It would probably serve the targeted-project, special-focus case.
The following is Modified/Adapted from: https://fedoraproject.org/wiki/Talk:How_to_create_and_use_a_Live_CD
- AND
FedoraQA Creating_a_Test_Day_Live_Image: https://fedoraproject.org/wiki/QA/Test_Days/Live_Image#Creating_a_Test_Day_Live_Image
Introduction
- Complete Reference on Fedora Anaconda Kickstart
- Fedora 18 is shifting to using Anaconda with kickstart files
- Notes on f18 Customization of installs using Anaconda and kickstart files: Fedora#Customize_with_kickstart_files
This page explains how to make a custom-content Remix of Live CD or DVD on Fedora-based systems including derived distributions such as RHEL, CentOS and others.
- NOTE THAT THESE REMIXES ARE NOT SUPPORTED BY FEDORA
- You may find some volunteer support on IRC freenode #sugar however.
- click on this link to join #sugar on IRC Chat
If you simply want to burn a pre-made ISO to a disc, visit http://fedoraproject.org/en/get-fedora to download a LiveCD or LiveDVD, then see the install guide or burning how-to for further instructions.
Instructions
The basic workflow for creating a remix is:
- Create / Modify a kickstart file that specifies the packages you want installed on your remix, along with special settings you want to tweak.
- Run that kickstart file through livecd-creator, which will pull in the packages and compose an .iso, which you can then burn to CD.
...that's it! We will walk you through these steps below.
Install the necessary software
To create a live image, the livecd-creator tool is used. Super user privileges are needed. The tool is more or less self-documenting, use the --help option to see options.
The livecd-creator tool is part of the livecd-tools
package. If it is not installed on your system, add it with:
su -c 'yum install livecd-tools spin-kickstarts'
If you are interested in localized live cd files, install also l10n-kickstarts.
su -c 'yum install l10n-kickstarts'
Note the spin-kickstart files that download are specific for the version of fedora you are using
- The version of sugar will also be different for each version of fedora:
- f12 0.86.-
- f13 0.88.-
- f14 0.90.-
- f15 0.92.-
- f16 0.94.-
- f17 0.96.-
- f18 0.97.- works in Beta TC7
- It is best if your install is all in the / directory (ext4 format) as the temporary files need a lot of room on /
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.
- We will use the /home/(user*)/Desktop 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.
- Set SELinux in permissive mode:
- It will fail if this is not done
su -c ‘setenforce 0’
- Copy the kickstart files you've Downloaded to your Desktop:
- (user*)= your user name
mkdir /home/(user*)/Desktop/spin-kickstarts cp /usr/share/spin-kickstarts/*.ks /home/(user*)/Desktop/spin-kickstarts/ cd /home/(user*)/Desktop/spin-kickstarts/
- Edit one of the .ks files you just copied to your Desktop/spin-kickstarts directory
- see (section below for details of what you can do)
gedit
Example Terminal Command to Build .iso
You must be connected to a fast Internet connection for this to work
- f14(rawhide)build system using fedora-livecd-soas.ks
- (This example also works with a f13 to f17 Build System)
- In root terminal /home/(user)/Desktop:
livecd-creator \ --config=/home/(user)/Desktop/spin-kickstarts/fedora-livecd-soas.ks \ --fslabel=Soas-v(2-3-4-5-6)-yearmmdd-Remix --cache=/var/cache/live --verbose
- KEY
- --fslabel=Soas-v(2-3-4-5-6-7)-yearmmdd-Remix = (The name you specify for the CD remix)
- Explanation of format for name: (preliminary layout pending approval by Soas)
- v(2-3-4-5-6-7)= the sugar version v(2-3-4-5-6-7)
- v2= Fedora 12 sugar 0.86-
- v3= Fedora 13 sugar 0.88-
- v4= Fedora 14 sugar 0.89-0.90
- v5= Fedora 15 sugar 0.92
- v6= Fedora 16 sugar 0.94.x
- v7= Fedora 17 sugar 0.95.x
- year/mm/dd= The Creation Date
- v(2-3-4-5-6-7)= the sugar version v(2-3-4-5-6-7)
- Remix is REQUIRED for naming if Soas is used
- Explanation of format for name: (preliminary layout pending approval by Soas)
- --config=/home/(user*)/Desktop/spin-kickstarts/ * (path to your Desktop/spin-kickstarts folder and .ks file)
Create/Modify the kickstart file
- Open the kickstart file you chose from the spin-kickstart folder you copied to your Desktop in the editor of your choice.:
- Create the package manifest section and add your favorite packages:
# %include spin-kickstarts/(your).ks (See :[2])
#redefine repo to some local mirror (See below and :[3])
%packages
#provide list of packages (normal, wildcarded, @comps) to be added or removed - dependencies are handled
#packageYouWant
#wildcardedPackagesYouWant*
#@CompYouWant
#-packageYouDontWant
%end
%post
#put any shell commands here
%end
More Information and Examples of Usage
- In the worst case you can base the whole livecd on Fedora 12 packages with this definition:
# not really rawhide, overriden with F12 'released' repo
repo --name=rawhide --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-12&arch=$basearch
repo --name=updates --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f12&arch=$basearch
- %packages
- Add and or remove programs
- Any Program with a minus sign (-) will be removed; any program without a minus will be added
- %post
- Manipulate files that have been installed
- %post command are done in cheroot (the commands are only run against the new file system created for the live CD)
- EXAMPLE
- edit the boot parameters
- delete "quiet" and "rhgb"
%post --nochroot
sed -i -e '/ *append / { s/quiet// ; s/rhgb//; }' "${LIVE_ROOT}"/isolinux/isolinux.cfg
- EXAMPLE
- disable screensaver locking
%post
# disable screensaver locking
cat >> /home/liveuser/.xscreensaver << FOE
lock: False
FOE
- EXAMPLE
- Isolinux and most other bootloaders let you edit the boot parameters;
just delete "quiet" and "rhgb" there at boot time. None of the above
is livecd specific.
If you want to make this the default on images you build
then just add the following line in the %post --nochroot section:
sed -i -e '/ *append / { s/quiet// ; s/rhgb//; }' "${LIVE_ROOT}"/isolinux/isolinux.cfg
- EXAMPLE
- Include Documents in Books directory
%post --nochroot
# Mel's Example starts (thanks to Mel Chua)
# pull and include sample content
WD=$PWD
CACHE_DIR=$WD/../cache/books
CONTENT_DIR=$INSTALL_ROOT/home/liveuser/Desktop/books
mkdir -p $CACHE_DIR
mkdir -p $CONTENT_DIR
cd $CONTENT_DIR
PDF="$PDF http://people.sugarlabs.org/Tgillard/ReadMeFirst-How-to-build-a-remix.pdf"
PDF="$PDF http://wiki.sugarlabs.org/go/Sugar_Creation_Kit"
PDF="$PDF http://people.sugarlabs.org/sdz/ForwardPages5-6.pdf"
PDF="$PDF http://people.sugarlabs.org/sdz/Sugar_on_a_Stick-3-Creation_Kit-en-US.pdf"
PDF="$PDF http://people.sugarlabs.org/sdz/Sugar_on_a_Stick-3-Customization_Guide-en-US.pdf"
PDF="$PDF http://en.flossmanuals.net/ActivitiesGuideSugar/FM_25Apr10.pdf"
PDF="$PDF http://en.flossmanuals.net/Sugar/FM_Sugar_28Oct08.pdf"
for pdf in $PDF ; do
remote_file=$(basename $(curl -4 -s -L -w %{url_effective} -I $pdf | tail -1))
file=$CACHE_DIR/$remote_file
if [ ! -f $file ] ; then
curl -s -4 -L $pdf > $file
fi
cp -p $file $CONTENT_DIR
done
%end
- To change repository: (eg: enable rawhide)
- Edit the fedora-live-mini.ks
- Put # in front of repos you do not want to use
- (remove # )from The repos you want to use
- EXAMPLE: repo --name=rawhide --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=$basearch
- Good example of a very complicated remix-Maintained by the Fusion Linux
How to add autostart apps to your Fedora Remix
Posted on February 7, 2012 by valent | Leave a comment
http://fusionlinux.org/2012/02/07/how-to-add-autostart-apps-to-your-fedora-remix/
If you want to add autostart apps to your Fedora remix there is one quick and easy way to do it.
Open your kickstart file and find section that starts with “%post”.
Any command that you issue in %post section run with root privileges in build environment before iso image is created.
Any application that you add to ~/.config/autostart folder start up in GNOME 3 when user logs on. To make this system wide you need to put your application shortcuts in /etc/skel/.config/autostart directory
so here is one example how your kickstart could look like:
# add synapse to autostart directory
mkdir -p /etc/skel/.config/autostart
cp /usr/share/applications/synapse.desktop /etc/skel/.config/autostart/
Now you can add any app that you want to start every time users log on.
- Look at this .ks for usage examples:http://people.sugarlabs.org/Tgillard/Mirabelle-Remix-plain.ks
- Congrats -- you're done!
Build the image
- The build process will take some time, as well as space and bandwidth.
- copy paste the commands to a root terminal:
- In terminal /home/(user)/Desktop:
su
#
cd Desktop
- (This is an Example do not use)
livecd-creator \
--config=/home/(user)/Desktop/spin-kickstarts/fedora-livecd-soas.ks \
--fslabel=Soas-v(2-3-4-5-6)-yearmmdd-Remix --cache=/var/cache/live --verbose
- Success is indicated by message:
- "Setting supported flag to 0"
- your new remix CD.iso is located in your Desktop Folder.
Credits
- Parts of this page were based on Rahul Sundaram's article Roll Out A Fedora Remix. And the References listed below:
Build your own Remix with git
- 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:
- we plan to have a listing of Customized kickstart.files to share on the WIKI
- We will list them here so others can try them out and learn from them.
- Please send e-mail to:
To: soas@lists.sugarlabs.org
Subject: [Custom KS]-{Name of your kickstart file}
*Attach your Custom.ks file*
PLEASE INCLUDE THE FOLLOWING INFORMATION in e-mail:
Sugar Version :
Country / Deployment :
Build system fedora version :
Number of USB's in Deployment :
PC/Netbooks used :
Notes and Any Bug No's submitted :
Name
Kickstart.file
Sugar Version
Country / Deployment
Build system fedora version
Number of USB's in Deployment
Used with PC/Netbooks Types
CD.iso (if available), Notes, Comments, Bug No's submitted.
satellit
Mirabelle-remix [4]
Sugar 0.86.3
USA / Testing
f13
Testing
EeePC900; Acer Aspire One
[5] Works fine, CD, liveinst, zyx-liveinstaller, USBscr,dd, Liveusb-creator all work Read(bug) [6]
satellit
soas-v4-0725-Remix [7]
Sugar 0.89.1
USA /Testing
f14(rawhide)
Testing
EeePC900; Acer Aspire One
[8] Works fine, CD, zyx-liveinstaller, USBscr,dd Liveinst Fails on firstboot cannot log on Read(bug) [9]
satellit
soas-v5-LDXE-Remix
Sugar 0.92.1
USA /Testing
f15 RC3
Testing
Acer Aspire One N450
Autologon to LXDE;has Menu/Education/sugar (sugar-emulator)
satellit
soas-v7 20120206 Remix
sugar 0.95.4
USA /Testing
f 17-GNOME3 3.3.4 (rawhide)
Testing
Acer Aspire One N450
(add liveusb-creator to SoaS live i686 .ks): add these programs: liveusb-creator udisks.i686 0:1.0.4-4.fc17 sg3_utils-libs.i686 0:1.31-2.fc17 smp_utils.i686 0:0.96-2.fc17
–
–
–
–
References/Links
Using the Anaconda Kickstart file
- Modify the Anaconda Installer Kickstart file for a Customized install
- An alternative approach
Older Anaconda Kickstart Links
- http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/sysadmin-guide/s1-kickstart2-howuse.html
- http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/sysadmin-guide/s1-kickstart2-file.html
- http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/sysadmin-guide/s1-kickstart2-options.html
- http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/sysadmin-guide/s1-kickstart2-packageselection.html
- http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/sysadmin-guide/s1-kickstart2-postinstallconfig.html
Fedora
- http://mirrors.ibiblio.org/pub/mirrors/sugar/soas/docs/customization-guide/index.html
- https://fedoraproject.org/wiki/Talk:How_to_create_and_use_a_Live_CD
- https://fedoraproject.org/wiki/How_to_create_and_use_a_Live_CD
- http://www.linuxforu.com/how-to/roll-out-a-fedora-remix/
- http://www.ibm.com/developerworks/linux/library/l-fedora-livecd/
- http://www.ibm.com/developerworks/linux/library/l-fedora-livecd/index.html
- http://forums.fedoraforum.org/showthread.php?t=231281
- http://fedoraproject.org/wiki/FedoraLiveCD
- http://fedoraproject.org/wiki/FedoraLiveCD/USBHowTo#How_to_Make_a_bootable_USB_Drive_to_Install_Fedora_instead_of_using_a_physical_DVD
- http://spins.fedoraunity.org/team-documentation/composing-spins/doing-the-work
spin-kickstarts.git
Dextrose XO-1 & XO-1.5
Fedora Licensing
Using KIWI with openSUSE to Customize
Customizing-Trisquel
DebianCustomCD
Mandriva Custom CD
Notes/Links
Building Boot Images
- (Very Advanced)