Creating Fedora Remix (2008-11-09 classroom)

From FedoraProject

Jump to: navigation, search

Fedora Classroom - Fedora Remix - Jeroen van Meeuwen - Sunday, November 9, 2008

IRC Log of the Class

-!- nirik changed the topic of #fedora-classroom to: Fedora Classrom - Jeroen van Meeuwen - Creating a Fedora Remix with your teacher kanarip - See for more info 21:01
thomasj kanarip, of course :) 21:01
fengshaun thanks nirik 21:01
@nirik thanks everyone. 21:01
kanarip thanks nirik ;-) 21:01
kanarip so, welcome to the Creating A Fedora Remix session 21:01
fengshaun remix ftw 21:01
kanarip first i wanted to talk about what a remix is, and then we'll continue with how you can create one of your own 21:02
kanarip we'll probably have some time left to continue with Q&A after that 21:02
kanarip so, what is a Remix? 21:02
kanarip a remix is your own set of selected packages and your own set of settings, distilled from Fedora 21:03
kanarip it can be anything from installation media you would normally use to install a system 21:03
kanarip or live media such as you probably know from the Fedora Project 21:04
kanarip live media is extremely cool because it's a complete system and it just boots and shows you what Fedora looks like, right? 21:04
kanarip installation media on the other hand you can only use to install Fedora on a system; no sneak preview whatsoever ;-) 21:04
kanarip since Fedora 8 or so, we support installations from live media, so i guess everyone here is interested in creating their own Fedora Live CD, DVD or USB thumb drive, is that correct? 21:05
thomasj live yeah ;P 21:05
GnuBoi yes 21:05
domg472_ yes 21:05
fengshaun yup! :D 21:05
kanarip that's what i figured ;-) 21:06
kanarip so let's get to it 21:06
kanarip first, what do you use to create live media? 21:06
kanarip there's two commonly used utilities, livecd-tools and revisor 21:06
kanarip the Fedora Project uses livecd-tools, and unless you want something specific (like a GUI or whatnot), that's what you should use as well; just a general advice 21:07
kanarip if you use livecd-tools, the command to create a remix is to launch "livecd-creator" with root privileges; you use "-c" to point it to a *kickstart configuration file* 21:08
kanarip this is how that kickstart is going to be used; 21:08
kanarip a kickstart normally contains the answers to questions in the installation procedure; and then some more answers to questions that aren't even in the installation procedure 21:08
kanarip one of the biggest questions in the installation procedure is what packages should be installed 21:09
kanarip we all remember that one time we browsed through the categories, groups and optional packages looking for the packages we wanted to have installed on our systems, don't we? ;-) 21:09
fengshaun oh god 21:10
fengshaun I do :S 21:10
GnuBoi yup 21:10
thomasj yep 21:10
domg472_ yes 21:10
* erinlea80 nods 21:10
kanarip so, that's a big, big question 21:10
Abd4llA yea, and we couldn't find it :) 21:10
kanarip and you should chose your answer carefully ;-) 21:10
kanarip s/chose/choose/ pardon me 21:10
kanarip so, you select the packages in your kickstart configuration file, provide some of the answers to installation procedure questions, and you're all good... 21:11
kanarip that is like the minimal requirement to a kickstart configuration file 21:11
kanarip now i hear you wonder... how am i gonna create that kickstart configuration file? 21:11
* GnuBoi yes 21:11
kanarip fear not 21:11
fengshaun exactly! 21:11
* kanarip introduces system-config-kickstart 21:11
kanarip it lets you click through most of the questions and lets you specify the answers and then save it as a kickstart file you can then use with livecd-creator 21:12
kanarip but wait... there's more! 21:12
kanarip if you're only providing answers to certain questions... and you are selecting packages... isn't that like a default, boring live cd you're going to end up with! 21:13
kanarip anyone? 21:14
* erinlea80 does not like boredom! 21:14
fengshaun kind of! 21:14
domg472_ does kickstart resolve dependencies 21:14
thomasj artwork? 21:14
kanarip it's kinda like a next, next, finish install... boring! 21:14
Abd4llA yea it is, can't we add stuff from a repo ?? 21:14
GnuBoi is there way to change login screen 21:14
fengshaun how about another repo? 21:14
* nuonguy was going to do something boring but is now to ashamed to admit it 21:14
kanarip you would want to fully tweak and customize the desktop on that live usb stick right? 21:14
SSlater Pick more from repositories? 21:14
* kanarip introduces *THE COOL STUFF* 21:14
kanarip here they come... %post scripts 21:15
kanarip scripts... are a pain in the ass to figure out 21:15
kanarip but here's why it's important; 21:15
kanarip the live media is an installed system you can run anywhere; but you can only install it once 21:15
kanarip after that, there's not much tweaking you can do to it like installing additional packages or entirely tweaking the desktop looks and feel 21:16
kanarip remember if you're running off a live cd; you can't write to that cd anymore 21:16
kanarip so, these scripts are your first chance to configure what you want to configure 21:16
kanarip and they might be your last chance, if you're going to run off a small USB stick or some unwriteable media like CD or DVD 21:17
kanarip so, here's what i'm talking about if i say %post script: 21:17
fengshaun ohhh 21:18
kanarip as you can see, it runs several commands that further configure the live cd we all know as Fedora-Live-$arch.iso, in this case the Fedora 10 version of it 21:18
duli kanarip: so, basically we can do anything we want in the %post area, the only difference is that it will affect the live image being created, but the commands are just the same we would issue on my present desktop? 21:18
kanarip it makes the "liveuser" login automatically, disables the screensaver from requiring a password to unlock, etc. 21:18
kanarip duli, yes 21:19
duli nice! 21:19
GnuBoi can that live cd be used to install fedora 21:19
kanarip duli, the *big* difference being you need to use a command in %post, and you cannot just pop up the System > Personal > Look and Feel GUI dialog 21:19
kanarip GnuBoi, definitely 21:19
zcat echo 'Welcome!' > /home/liveuser/Desktop/MyDistroReadme.txt 21:19
duli ok, so everything *must* be cli'ed 21:20
kanarip duli, yes 21:20
kanarip duli, of course there's a cheating method... 21:20
fengshaun kanarip, sorry, is the link, a ks config file? the whole thing? 21:21
kanarip fengshaun, yes it is 21:21
duli what cheating? 21:21
domg472_ it includes another .ks file 21:21
fengshaun oh ok! 21:21
kanarip duli, you can use the sabayon program to create a user profile and tweak it 21:21
kanarip then in a "%post --nochroot", you can copy the user profile directory created by sabayon (or your own home directory?) onto the live media 21:21
kanarip fengshaun, there's a bunch at 21:22
duli what is the difference of --nochroot? I didn't get that yet 21:22
kanarip i recommend everyone interested bookmarks that URL 21:22
fengshaun kanarip, thanks! 21:22
fengshaun kanarip, so can we just manipulate them? 21:23
kanarip duli, 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
kanarip duli, %post would "chroot" into /var/tmp/livemedia-filesystem and runs entirely on what is to become the live media 21:23
duli kanarip: hum, got it 21:24
kanarip duli, a "%post --nochroot" however does not chroot, and does runs on the composing system 21:24
duli so it could be dangerous the --nochroot option 21:24
kanarip if you're suicidal, you could destroy your system with a %post --nochroot 21:24
duli ok, got the message 21:24
kanarip ok, so what i was planning to continue with is the kickstarts on 21:25
kanarip these kickstarts are used to compose Fedora with 21:25
kanarip if you would open please? 21:26
kanarip i can then tell you how to add more and more repositories ;-) 21:26
fengshaun yup! 21:26
erinlea80 k 21:26
fengshaun omg 21:26
kanarip take a look at line 20 and onwards 21:26
GnuBoi kanarip, what to do after making ks file 21:26
kanarip GnuBoi, run livecd-creator -c /path/to/ks-file 21:26
kanarip at line 20 and onwards, there's a couple of "repo" configuration directives 21:27
GnuBoi ok 21:27
kanarip you can see how it has --name, and either --mirrorlist or --baseurl 21:27
kanarip so, and I can't really say this but i will anyway, if you wanted to include something not in fedora... 21:27
kanarip you can use a line similar to "repo --name=RPMFusion --baseurl=" 21:28
kanarip does that make sense? 21:28
fengshaun perfectly! 21:28
kanarip awesome 21:28
neverho0d really cool! 21:28
duli kanarip: well, we can include something not in fedora, as long as the created cd is not named fedora, right? 21:28
duli or is that also forbidden? 21:29
GnuBoi kanarip, once we added rpm fusion repo can we write something like vlc 21:29
kanarip duli, the requirement then becomes you do not distribute the remix 21:29
fengshaun oh 21:29
duli kanarip, hum, ok 21:29
fengshaun ok 21:29
kanarip here's a sneak peak on the trademark guidelines i'll refer you to later 21:29
duli ok 21:29
GnuBoi kanarip, how to add other programs like vlc i mean where to write in ks file 21:29
kanarip either all the packages are in fedora, and you can call it a fedora remix (there's secondary trademarks for that purpose) 21:30
domg472_ Gnuboi in the %packages section but the package must be local available i think 21:30
kanarip or you include something not in fedora, and you need to remove *all* fedora trademarks 21:30
kanarip that is, if you choose to distribute your spin 21:30
duli understood 21:30
fengshaun kanarip, what if we want to keep it to ourselves? 21:31
GnuBoi domg472, do we have to write @ 21:31
kanarip for a full reference to how this works, 21:31
domg472_ i think so yes not sure 21:31
fengshaun thanks 21:31
zcat kanarip, what's the alternate art package that removes fedora trademarks and replaces them with "packman"? 21:31
kanarip fengshaun, if you want to keep it to yourself, knock yourself out no-one is going to sue you ;-) 21:31
fengshaun  :D 21:31
kanarip zcat, good call 21:31
delhage GnuBoi: @ is only for package groups, not individual packages 21:31
kanarip if you want to be safe, here's what you do 21:31
kanarip RUN AND HIDE 21:32
kanarip no, really... 21:32
fengshaun kanarip, oh and how can we update the packages in live media? 21:32
* ianweller runs and hides 21:32
GnuBoi delhage, thanks 21:32
* GnuBoi is really impressed with fedora-remix 21:32
kanarip you exclude from the packages: fedora-logos and fedora-release 21:32
kanarip then you include in the packages: generic-logos and generic-release 21:32
kanarip here's how you do so: 21:32
kanarip  %packages 21:32
kanarip -fedora-logos 21:32
kanarip -fedora-release* 21:32
kanarip generic-logos 21:32
kanarip generic-release 21:33
kanarip  %end 21:33
kanarip that's it 21:33
zcat ah. that was it 21:33
fengshaun oh interesting 21:33
delhage that was easier than I imagined 21:33
erinlea80 nice! 21:33
* fengshaun agrees with delhage 21:33
duli really cool 21:33
erinlea80 much easier than imagined and very straight forward! 21:33
fengshaun kanarip, oh and how can we update the packages in live media? 21:33
kanarip fengshaun, livecd-tools has a --base-on command line switch that let's you point it to an ISO image 21:34
kanarip it'll get updated with the changes you specify in the kickstart file you use 21:34
fengshaun so it would be: 21:34
fengshaun livecd-tools --base-on my-iso.iso -c /my/ks/file.ks 21:35
GnuBoi whatif we want to install flash in the remix 21:35
fengshaun  ? 21:35
kanarip fengshaun, yes 21:35
fengshaun kanarip, got it! 21:35
fengshaun kanarip, what if we want to just update the packages to a newer version? 21:35
kanarip GnuBoi, then you add a "repo --name=adobe --baseurl=" in the kickstart, and include "flash*" or whatever the package name is, to the kickstart file you use 21:36
duli fengshaun: i think you should add the updates repo to the kickstart 21:36
GnuBoi kanarip, thanks 21:36
kanarip fengshaun, same procedure, but with the kickstart used to compose the image with 21:36
fengshaun duli, that would make the live media update itself, I think 21:36
fengshaun kanarip, thanks! 21:36
kanarip fengshaun, if i'm not mistaken, that kickstart file is part of the live media you use... but i'm not sure 21:36
neverho0d kanarip: can livecd-creator use url for kickstart? I have cobbler that manage a lot of that work 21:37
kanarip fengshaun, see how the kickstart i referred to on has commented out "repo" configuration directives? 21:37
fengshaun yup 21:37
kanarip neverho0d, yes it should be able to 21:37
neverho0d kanarip: great! 21:38
kanarip neverho0d, it secretly uses the pykickstart routines to pick up the kickstart file 21:38
GnuBoi fengshaun, livecd-tools --base-on my-iso.iso -c /my/ks/file.ks does works | bash: livecd-tools: command not found 21:38
fengshaun kanarip, how can we add persistence? 21:38
neverho0d kanarip: good! nice job! so, how about installation trees? can it take then from cobbler too? 21:38
fengshaun GnuBoi, thanks! 21:39
kanarip fengshaun, persistence is something you specify when you execute 21:39
kanarip neverho0d, it can use those installation trees 21:39
fengshaun kanarip, oh forgot it! lol 21:39
kanarip neverho0d, revisor has a little more cobbler integration if you're interested in that 21:39
neverho0d kanarip: I love it! :) 21:39
GnuBoi kanarip, how to creat a iso file from a ks file 21:39
neverho0d kanarip: Thank you! 21:39
duli kanarip: does revisor use livecd-creator under it? 21:40
kanarip duli, yes 21:40
nuonguy what is persistance? 21:40
kanarip duli, a lot, in fact 21:40
duli ok 21:40
fengshaun nuonguy, you can save your settings in a liveusb :D 21:40
fengshaun nuonguy, it's plain awesome! 21:40
nuonguy nice 21:40
fengshaun nuonguy, look at livecd-iso-to-disk --help 21:41
* erinlea80 hopes it's not usb 1.0 :P 21:41
kanarip nuonguy, persistence is when you are running off of a non-writeable root filesystem which presently is the only way one runs Fedora live media, and you do want to save changes; 21:41
GnuBoi fengshaun, can we make live dvd 21:41
fengshaun GnuBoi, yup! :D 21:41
kanarip i certainly can recommend you get started with the kickstarts at 21:41
GnuBoi then how to calculate beforehand how much size it occupies with this ks file 21:41
fengshaun kanarip, it should be writable, right? 21:41
kanarip with fedora 10, these kickstarts will be in the spin-kickstarts package 21:41
kanarip fengshaun, it is a faked r/w filesystem; it isn't actually writeable 21:42
GnuBoi then how to make iso does livecd-creator -c /path/to/ks-file makes iso 21:42
kanarip get started with tweaking the existing kickstarts as a quickstart ;-) 21:42
kanarip GnuBoi, yes 21:42
fengshaun kanarip, so you can have persistence in a live cd??? 21:42
kanarip GnuBoi, run that with root privileges and enjoy the ride 21:43
GnuBoi ok 21:43
kanarip fengshaun, yes, if you configure a persistence layer on a USB stick, why not? 21:43
fengshaun no, how about a cd? 21:43
kanarip a cd is non-writeable 21:43
fengshaun I've tried persistent usb, it's awesome 21:43
fengshaun yes, so it can't be persistent! 21:44
kanarip or i should say; it can only be written to once ;-) 21:44
GnuBoi kanarip, will there will different ks file for dvd or does the same work 21:44
GnuBoi i mean live dvd 21:44
kanarip GnuBoi, depending on the amount of packages you choose, the resulting iso will either fit on a cd or a dvd 21:44
fengshaun GnuBoi, the same should work! 21:44
GnuBoi oh 21:44
kanarip GnuBoi, but it's the same kickstart file and the same command 21:44
GnuBoi thanks 21:44
neverho0d kanarip: what is in %post script do mount /home from nfs server? seems it would be nice persistence for corporate-livecd 21:45
kanarip that's one reason why i recommended starting with the kickstart examples ;-) 21:45
erinlea80 ooo good question, neverho0d. 21:45
neverho0d *what if is... 21:45
kanarip neverho0d, you would run autofs, and forcibly create a symbolic link from /home to /net/nfs-server/home 21:45
kanarip neverho0d, or, edit /etc/fstab to mount from the nfs-server 21:45
kanarip *edit /etc/fstab in %post, that is 21:46
kanarip it's just that if you use /etc/fstab, the mount may be attempted on boot and time out if the nfs server is unavailable, whereas autofs would not mount at boot 21:47
* GnuBoi fedora remix is really a great option 21:47
kanarip and several other of those considerations ;-) 21:47
kanarip so, i have ten more minutes left... 21:47
kanarip any more questions? 21:47
neverho0d kanarip: Thank you so much! nice story! 21:47
fengshaun so we can make a fluxbox fedora llive cd! 21:47
GnuBoi kanarip, does same way of making remix will work for fedora 10 also 21:47
fengshaun GnuBoi, it should! 21:48
kanarip GnuBoi, yes 21:48
kanarip neverho0d, you may want to check out 21:48
@nirik is there any way of telling how much of your persistent storage is used up when you boot from a live usb ? 21:48
duli kanarip: Is it possible to create a minimal install media of F10 rawhide? What packages would it require? 21:48
neverho0d kanarip: I think it would be product - livecd with only terminal client software 21:48
GnuBoi kanarip, is revisor gui for livd-cd-tools 21:48
duli my idea is install the rest via yum (just what I want) 21:48
kanarip nirik, i know you can specify the size of the persistence layer during live usb creation 21:48
neverho0d kanarip: ok, i'll look at it 21:49
kanarip nirik, i'm not sure you can specify the size *on boot* 21:49
kanarip duli, yes it is! Fedora Unity is going to release a single cd installer 21:49
@nirik no, I mean if you say create one with 512MB persist, use it for a while, can you tell you have used 200MB of that or almost all of it? before it fills up? 21:49
kanarip duli, basically what we have is %packages\n%end, which will just include the @base and @core groups 21:49
* GnuBoi is confused by persistance 21:49
kanarip nirik, i couldn't say, i'm sorry 21:50
duli kanarip: hum, great. 21:50
@nirik no worries, just wondered. 21:50
GnuBoi kanarip, is this official ks of file of fedora livd cd 21:51
kanarip duli, there's a fedora-aos.ks spin for appliance creation purposes which tweaks the package set to the bare minimum as well 21:51
fengshaun nirik, I think the disk management or something like that in App>sys tools> 21:51
duli kanarip: nice 21:51
fengshaun check it out anyway 21:51
kanarip GnuBoi, no, that's the base; is a Live CD 21:51
duli kanarip: is there a way of selecting the groups (@) in revisor? I mean, it only provides the graphical goups, right? 21:51
GnuBoi ok 21:51
kanarip duli, like with livecd-tools, you can hand off a kickstart to revisor (--kickstart) 21:52
GnuBoi kanarip, what is base 21:52
kanarip GnuBoi, that is a group of basic packages for a system 21:52
kanarip GnuBoi, for example, yum might be in that group 21:52
duli kanarip: ok. so I sould first point the groups with @ in the ks and then load it in revisor 21:52
fengshaun kanarip, which groups are absolutely needed for a very very basic livecd? 21:52
kanarip duli, if it's a group, it's in the package selection dialog somewhere 21:53
kanarip fengshaun, 21:53
fengshaun thanks 21:53
GnuBoi kanarip, livecd-creator -c /path/to/ks file of fedora livecd desktop is fine to create fedora livd cd yes 21:53
duli kanarip: ok 21:53
kanarip GnuBoi, yes 21:53
GnuBoi thanks 21:53
GnuBoi kanarip, there is no option like repo 21:54
* nirik wonders if it's possible to make a Everything livecd that fits on blueray. ;) 21:54
GnuBoi sorry 21:54
kanarip GnuBoi, there is ;-) 21:54
fengshaun nirik, LOL 21:54
GnuBoi kanarip, there is no option like repo 21:54
GnuBoi for this i mean 21:54
kanarip nirik, besides some conflicting packages (on the file level), yes it is and i've done it before 21:54
@nirik cool. 21:54
kanarip GnuBoi, it includes fedora-live-base.ks, which has the basic configuration 21:55
fengshaun kanarip, so, for a livecd without unnecessary packages, do we start with fedora-base.ks? 21:55
kanarip GnuBoi, yum --enablerepo=development install spin-kickstarts, the files will be in /usr/share/spin-kickstarts 21:55
fengshaun fedora-live-base.ks* 21:55
GnuBoi ok 21:55
kanarip fengshaun, actually you would not, since we only have desktop spins at this point, fedora-live-base.ks has some extra packages 21:55
GnuBoi and which one is to be livecd-creator -c /path/to/ks-file | base or livecd desktop 21:56
kanarip fengshaun, the absolute minimal livecd is fedora-aos.ks 21:56
neverho0d kanarip: can you explain a little bit "part" instruction in ks? 21:56
fengshaun kanarip, hmmm thanks! 21:56
kanarip GnuBoi, livecd-desktop 21:56
GnuBoi ok 21:56
duli kanarip: is this minimal livecd installable? 21:56
neverho0d seems, it's very important 21:56
duli I mean, will liveinst work? 21:56
kanarip duli, no 21:56
GnuBoi kanarip, is there any documentation available online about these 21:56
kanarip neverho0d, the "part" instruction specifies the size of what is to become the root filesystem of the live media 21:57
duli kanarip: what if I create it as a install media? 21:57
duli usign the aos ks? 21:57
neverho0d kanarip: so it's a upper limit? 21:57
kanarip neverho0d, yes 21:58
neverho0d kanarip: is there way to reduce image after creating? 21:58
kanarip neverho0d, revisor takes this into account and may extend the filesystem if the packages require more space then allocated in the "part" command 21:58
GnuBoi Any documentation for this available, if so please the link 21:58
kanarip neverho0d, not unless you extract it, resize it, and repack it 21:58
kanarip GnuBoi, i'm searching for you 21:58
GnuBoi ok thanks 21:58
kanarip GnuBoi, 21:59
GnuBoi thanks 21:59
neverho0d kanarip: ok. so with revisor it will be lower limit. right? 21:59
kanarip duli, it'll be very, very minimal install media ;-) 21:59
* GnuBoi admires kanarip class... 21:59
duli kanarip: that's the idea 21:59
duli kanarip: I'm getting this when trying to build a install media on revisor: Got an error from /usr/bin/xsltproc (return code 4) 21:59
* GnuBoi and his thankfulness 21:59
kanarip neverho0d, revisor ignores the "part" command if it thinks its too small, but respects it if it's large enough, so lower limit would be the term for it 21:59
* fengshaun thinks this was the most enjoyable class 22:00
kanarip duli, what version would that be? 22:00
* nirik notes we have no class in this next timeslot, so if kanarip wants to keep answering questions he can feel free to do so. :) 22:00
* kanarip sighs for xsltproc 22:00
kanarip thanks nirik ;-) 22:00
duli revisor-2.1.2-2.fc10.noarch 22:00
GnuBoi has class finished 22:00
neverho0d kanarip: i just think it is place for some conflict if i'll be use kickstarts from cobbler 22:00
kanarip duli, can you tell me if you have a /usr/share/revisor/comps-cleanup.xsl file? 22:01
* GnuBoi will need some sleep it's 3:45 AM in Nepal | Just waited whole night for fedora class but really useful and will not go to college tommorrow 22:01
kanarip duli, or whether it's in /usr/share/revisor/comps/comps-cleanup.xsl ? 22:01
kanarip GnuBoi, awesome ;-) 22:01
* thomasj is tired because it's late, but he will not go to bed without thank kanarip for this excellent class! Thank you very much :) 22:01
GnuBoi Bye everybody and KANARIP Thank you again 22:01
GnuBoi yes 22:01
kanarip GnuBoi, i'll be around some more to answer questions 22:01
duli kanarip: The first exists. 22:02
GnuBoi ok 22:02
kanarip GnuBoi, good night ;-) 22:02
fengshaun GnuBoi, oh my god!!! :O 22:02
GnuBoi thanks 22:02
neverho0d seems, thank you! 22:02
kanarip thank you all for attending 22:02
erinlea80 Thanks kanarip!! 22:02
neverho0d kanarip: thank you so much! 22:02
@nirik thanks a bunch kanarip ! 22:02
fengshaun thank you kanarip 22:02
kanarip it's been a very intensive class i feel like *not* typing anything for the next hour or so 22:02
domg472_ thanks 22:02
fengshaun this class made my day!!! 22:02
kanarip later tonight however, i'll have another session on configuration management with puppet 22:02
fengshaun lol 22:03

Generated by 2.7 by Marius Gedminas - find it at!