View Full Version : livecd-creator help.
Apple
3rd October 2009, 06:22 AM
Hey everyone. I am trying to create a custom spin of Fedora with the group package "Development Tools" aswell as openoffice. I went into /usr/share/spin-kickstarts/fedora-livecd-desktop.ks and made a duplicate copy to edit. I tried to add gcc by adding the line "@gcc" and also tried to add it by typing "@"Development Tools", none of which worked. I found this tutorial http://fedoraproject.org/wiki/FedoraLiveCD/LiveCDHowTo but it doesn't go far in depth and then i found an ibm article here (http://www.ibm.com/developerworks/library/l-fedora-livecd/index.html) but it seems to be out of date as some of the commands, such as "--package", appear to no longer exist. I am very interested in learning how to make my own custom live spin but am stuck at the biggest problem, adding custom software. I would greatly appreciate it if anyone can either explain to me what I have to do, or point me towards a more modern, in depth article.
Thanks,
Alex
Dangermouse
3rd October 2009, 08:07 AM
Hi, i think it should be like
@office
@development-tools
and for just gcc its
gcc, no @
Apple
3rd October 2009, 06:15 PM
Thanks for the quick reply. I entered "@development" and while building it output "Skipping missing group 'development'" Any ideas?
RahulSundaram
3rd October 2009, 07:28 PM
Hi,
$ yum -v grouplist | grep -i development
Development Libraries (development-libs)
Development Tools (development-tools)
GNOME Software Development (gnome-software-development)
Java Development (java-development)
KDE Software Development (kde-software-development)
Legacy Software Development (legacy-software-development)
Perl Development (perl)
Web Development (web-development)
X Software Development (x-software-development)
XFCE Software Development (xfce-software-development)
So what you really need is @development-tools. For custom repository, let me point to an example
http://omega.dgplug.org/11/Live/i686/Omega-11-i686-Live.ks
You can dump the packages into a folder, run createrepo -d on them and point to them using file:////
Apple
3rd October 2009, 08:56 PM
Thanks for the help. I'll try that and let you know how it goes.
Alex
fedorat01
4th October 2009, 08:16 AM
Hey everyone.
[...] I found this tutorial http://fedoraproject.org/wiki/FedoraLiveCD/LiveCDHowTo but it doesn't go far in depth and then i found an ibm article here (http://www.ibm.com/developerworks/library/l-fedora-livecd/index.html) [...]
or point me towards a more modern, in depth article.
Here's my two cents to save time and effort which I wasted testing the iso's I made:
Don't use KVM and Qemu - they're both very slow in comparison with VirtualBox / VMWare. KVM+Qemu is fast only on hardware that supports virtualization. If your processor / mainboard / computer does not support virtualization Qemu or KVM+Qemu will drive you insane.
Use VitrualBox instead. For Virtualbox go here (http://www.virtualbox.org/wiki/Downloads) and here for old builds (http://www.virtualbox.org/wiki/Download_Old_Builds).
Use the generic VirtualBox installers ( 1 (http://download.virtualbox.org/virtualbox/3.0.4/VirtualBox-3.0.4-50677-Linux_x86.run) 2 (http://download.virtualbox.org/virtualbox/2.2.4/VirtualBox-2.2.4-47978-Linux_x86.run) 3 (http://download.virtualbox.org/virtualbox/2.1.4/VirtualBox-2.1.4-42893-Linux_x86.run) etc etc ) because it works much better than the rpm versions because your system may not have rpm-specific dependencies and packages. To be safe, Don't use the rpm versions or the OSE Tarball (Open Source Edition source code version) unless you are an expert in Fedora (or your favorite distro) . Resolving dependencies can become a headache. Same for the OSE source bundles.
Using the generic VirtualBox-x.y.z-abcde-Linux_x86.run also makes uninstallation easier than if you download one of the rpms, then download many dependency rpms and collect a bunch of confusing package names and version numbers and then it does not work.
You cant easily undo all the mismatched packages and versions.
Details of VirtualBox are very much relevant because you need a decent place to test iso's when you end making 2-3 iso's a day and you don't intend to burn CDs and reboot just to test your incremental custom iso build or spin.
When you are using yum / livecd-creator to build a cache of packages that livecd-creator / kickstart will use to make your custom remaster into an iso, make sure you make a backup copy just in case anything goes wrong, you don't want to re-download everything - just do a "cp -a src dest". it will save you a lot of time in case you delete something by mistake.
Don't do any of this with less than 1GB RAM, and at least 2GB for decent working speed. You will NOT be able to do it one-time and get it the way you want. You will have to download stuff and make at least 3-4 trial iso's before you get the final one that you want to use. If you know all this already, you probably don't need to read this post at all.
Use VMWare only if you are familiar with it. VirtualBox has a default GUI which is much easier to use, hence it is better for people new to this whole remaster / custom livecd business. YMMV.
If there's a blog post or howto, that would really be great because you can't edit the Fedora Wiki without a lengthy registration procedure.
( That's partly why I'm writing all this here :) )
(Joke Alert !) And hope to God that people on #fedora and ##linux on IRC actually answer your questions :) ... even if you're an atheist ;)
fedorat01
19th October 2009, 09:52 AM
This Fedora classroom session on creating live cds using livecd-tools is the single most useful source of information;
http://fedoraproject.org/wiki/Classroom/Creating_Fedora_Remix
And this kickstart file example:
%packages section : https://fedorahosted.org/spin-kickstarts/browser/fedora-livecd-desktop.ks#L12
%post section: https://fedorahosted.org/spin-kickstarts/browser/fedora-livecd-desktop.ks#L97
cat > /etc/rc.d/init.d/fedora-live << EOF
marks the start of the shell script text that must go into the fedora-live (you might find "livesys" mentioned instead of "fedora-live" - same concept) script in the /etc/rc.d/init.d folder of the generated live system when it boots
And this is where your live cd's internal scripts must go before the gnome/kde desktop of your live system starts up.
Whatever you want to happen after GNOME/KDE desktop shows up, should go into the appropriate GNOME application's initialization script, most likely in the home directory of the default user of your live cd (assuming it boots into a GNOME/KDE desktop) typically /home/fedora or so.
For more info on the %post section see this: http://fedoraproject.org/wiki/Classroom/Creating_Fedora_Remix#t21:14
%post --nochroot is interesting.
See this: http://fedoraproject.org/wiki/Classroom/Creating_Fedora_Remix#t21:23
* normally, %post runs "inside" the installed system; the way livecd-tools works (as does revisor) is it creates a filesystem inside a file, then mounts that on say, /var/tmp/livemedia-filesystem 21:23
* %post would "chroot" into /var/tmp/livemedia-filesystem and runs entirely on what is to become the live media 21:23
* a "%post --nochroot" however does not chroot, and runs on the composing system
So here you can copy your custom files from your currently running Fedora system (which is being used to make the kickstart file or to run the livecd-tools program) into the live system via a temporary directory in the /var/tmp directory
Google is always your friend: http://www.google.com/search?q=%25post++nochroot
But see this specifically: http://www.nabble.com/using--post--nochroot-tt14974303.html#a14974746
$INSTALL_ROOT and $LIVE_ROOT are the place where you do the transfer of files from your running system to the livecd's future file-system.
$INSTALL_ROOT is /var/tmp/livecd-creator-NNNNNN/install_root where NNNNNN is a random, generated, alphanumeric string
$LIVE_ROOT is the / directory on created the live cd.
this works fine to copy stuff to the livecd:
%post --nochroot
mkdir $INSTALL_ROOT/transferables
cp /home/username/.../file.txt $INSTALL_ROOT/transferables
cp $INSTALL_ROOT/transferables $LIVE_ROOT ("cp -a" preserves attributes, so you might prefer that _IF_ you want to preserve permissions or username/group etc)
%end
Here are more sample kickstart files: https://fedorahosted.org/spin-kickstarts/browser
Snippets for specific tasks: https://fedorahosted.org/spin-kickstarts/browser/snippets
To build on top of an already created iso file (maybe while making multiple attempts to get the perfect remaster / live cd) use the --base-on option in the livecd-creator program
Apple
19th October 2009, 03:05 PM
Thanks fedorat01. That is very helpful and I cannot wait to try it out. I was actually wondering how to copy files to it and now, thanks to you, I know.
Thanks again,
Alex
vBulletin® v3.8.7, Copyright ©2000-2013, vBulletin Solutions, Inc.