fedora-olpc meeting notes and transcript, 8/15

Greg Dekoenigsberg gdk at redhat.com
Fri Aug 15 18:31:24 UTC 2008


First, the summary:

We spent the hour trying to figure out the goals of "Fedora on XO," and 
how to get there.

The problem: Fedora does not yet boot directly on the XO without 
siginificant modification to kernel and initramfs.

The proposal: Have as many people as possible working on creating a small 
bootable Fedora, and then have dsd continue his excellent work on a tool 
that takes such an image and hacks it into something that will boot on an 
XO.

The downsides:

* Possibly discourages OLPC folks from pushing stuff upsteam into Fedora.

* Tools to create Fedora spins are not necessarily the best possible tool.

* Concerns that a standard Fedora desktop for the XO weakens the case for 
Sugar.

* Will not integrate with Sugar-based filesystem at this time.

The upsides:

* Can take the repetitive work of cranking through package profiles and 
place it on the shoulders of Fedora folks (like Sebastian and others)

* Lowest risk approach to getting something working quickly

* Once dsd's conversion script works, should make it trivial for anyone in 
Fedora-land to create and maintain their own XO-compatible image

A lively and interesting meeting.  :)  Full transcript follows.

* * *

<gregdek> All righty, then.
  Shall we start with the Fedora-on-XO stuff?
<jg> sure.
<gregdek> Do we have an XO booting Fedora yet?
  All spin-cutting questions aside?
--> ke4qqq (n=ke4qqq at 64.89.94.194.nw.nuvox.net) has joined #fedora-olpc
<m_stone> gregdek: I saw one, though I didn't look too closely.
<rnorwood> gregdek: well, we had TODOs from last mtg, but they were mostly 
jeremy.
<gregdek> rnorwood: Are those tracked on wiki yet?
<m_stone> (based on dsd's install-OLPC's-kernel+initramfs script)
<gregdek> m_stone: Someone at 1cc was booting one?
<rnorwood> gregdek: Nope.  Good idea, tho.  Some of the subtasks are/were:
<rnorwood> ** TODO: jeremy to build table of sugar activities and other 
packaging
    work items on the Fedora wiki
  ** TODO: Various people to take items from that list and package them
  ** TODO: jeremy to go to 1cc, revisit next week.
  ** TODO: rnorwood to track down the squeek/etoys licensing issues
  ** TODO: gavin to track down the squeek binary blob issue
  ** TODO: rnorwood to send out minutes
<jg> jeremy visited.
<rnorwood> gregdek: first one is done: 
http://fedoraproject.org/wiki/PackageMaintainers/WishList#Activities
<m_stone> gregdek: 
https://www.redhat.com/archives/fedora-olpc-list/2008-August/msg00063.html
<rnorwood> gregdek: Jeremy is waiting on resolving a technical spec file 
issue before the 2nd TODO gets more work.
<jg> dsd  & bobby did an install onto a 4 gig SD card; you've seen the 
mail.
<gregdek> Right.
<jg> I (my house) got struck by lightning last Friday, which has wasted 
immense amounts of my time.
<gregdek> OK, so to the Fedora image from dsd:
--- gavin_lunch is now known as gavin__
<gregdek> Should we be focusing on testing that on various XOs?
  Jeremy has 10 in his hands now.
  Should all 10 of those be allocated to people using dsd's spin?
<jg> gregdek: not a spin, a conventional install of fedora kludged to 
work.
<gregdek> OK.
  So how do we join the kludge to the real Fedora spin process, is perhaps 
the question.
<rnorwood> gregdek: all the packages need to be hosted in Fedora to make 
an official spin, IIRC.
<gregdek> The package manifest is fun to play with, but figuring out how 
we get a sustainable install process is the question.
<m_stone> rnorwood: yes.
<rnorwood> gregdek: and IIRC, the kernel is the biggest sticking point 
here.
<gregdek> I don't really care if it's "official", per se.
  We've got the same class of problems with customized ccrma kernels, for 
instance.
<m_stone> gregdek: dsd has provided a script that throws together the 
packages and dumps the correct kernel on top.
<rnorwood> gregdek: ok.  then I'm not sure how much of the fedora spin 
process we can use without being an official spin.
<gregdek> Then maybe that's sufficient for now.
<m_stone> this seems like as maintainable a process as you're going to get 
until all the upstream work is completely finished.
<gregdek> Could be.
  Is he using the ks files that jg+sebastian worked on?
<m_stone> gregdek: furthermore, it doesn't address the initramfs 
questions.
<jg> no.
<gregdek> Perhaps we should figure out how to join that work?
<m_stone> gregdek: challenging because ks is designed for making real 
spins; not for making hacked up stuff like what we've got.
<gregdek> Heh.
<m_stone> gregdek: to put it differently -- I looked at anaconda for the 
XO builds themselves and concluded that it was completely inappropriate 
for my purpose.
<m_stone> now jeremy knows a lot more about anaconda than I do, so there's 
hope.
<gregdek> So... new initramfs?
  Is that the critical path?
<m_stone> depends on your quality goals.
  the XO has a crazy filesystem structure -- for olpc-update.
  these spins that we're making can go in two places:
  on external media or on nand.
<gregdek> Which gives the highest likelihood of user success?
<m_stone> gregdek: they're good for different audiences.
--> dsd__ (n=dsd at gentoo/developer/dsd) has joined #fedora-olpc
--- dsd__ is now known as dsd_
<m_stone> anyway, my point is that the degree of interoperability that you 
get with the existing on-NAND sugar is going to vary greatly depending on 
how much hackery you want to do.
  ...
<gregdek> And who is the target audience for Fedora+XO?
<jg> gregdek: solving the olpc-update path transformation should be pretty 
easy, and orthogonal to making normal spins that install on external 
media.
<m_stone> jg: do you want them to share /home?
<jg> gregdek: g1g1 users who don't want sugar, and hackers.
<m_stone> jg: if so, then they are far from orthogonal.
<jg> m_stone: the fedora user's login can be different than /home/olpc.
<m_stone> jg: I asked a different question. do you want them to share 
/home.
<jg> I think we need to punt on interoperability until we get the upstream 
sugar work done.
<m_stone> there we go.
<gregdek> +1, I think.
  Given the timeframes you're talking about, risk mitigation is the most 
important goal, I think.
<jg> me to.
* m_stone notes, on the political spectrum, that you're increasing the 
quantity of bad press due to 'olpc abandons sugar' rumors.
<jg> m_stone: If possible, I want to include sugar as an alternate 
desktop, for exactly these reasons.
<gregdek> With luck, we can counteract that with strong Sugar work in 
parallel.
<jg> exactly.
<m_stone> gregdek: my point is that we need to plan on _even stronger_ 
sugar boosting if interop is not an immediate goal (which jg said its not)
  gregdek: sugar can't take too many more blows.
<gregdek> I think we can manage the perception issues aggressively with a 
lot of help from a broad community.
<jg> interop is on my 9.1 personal goals.
<m_stone> jg: best state that loud and clearly when discussing this.
<cjb> gregdek: That seems unrealistic; we've been doing stronger Sugar 
work for the last year, but people still think we ditched Sugar for 
Windows.
* m_stone will be quiet now.
<cjb> The fact that we all still have our day jobs and work hard on Sugar 
doesn't seem to get the message across.  :-)
<gregdek> cjb: How much of your time have you dedicated to talking to 
press?
  Shall I answer that question for you?  :)
<m_stone> cjb: we speak at 10 dB and NN speaks at 100 dB. what do you 
expect?
<jg> and NN sends incomplete, confusing messages....
<gregdek> I know this is a difficult thing to ask.  :)
<cjb> Right.  I'm just saying that Greg's suggestion of countering claims 
that we don't care about Sugar by working Sugar has a historically bad 
effectiveness.
<gregdek> But trust me to help you sort those perception issues out.
<cjb> s/working/working on/
<cjb> gregdek: ok!
  gregdek: happily.
<gregdek> I definitely recognize the exposure.
<m_stone> good.
<jg> I want to first deal with the "we're ditching Linux" rumors.... 
Sugar is a 2nd order bit question.
<gregdek> Heh.
  Yes and no
  Anyway.
  Easy to slip down this rathole.  :)
  Can we agree that we're working on a simple Linux-only install that is 
essentially independent from the Sugarized file system?
<jg> for now, yes.
<gregdek> That's one.
  Do I have more?
<m_stone> gregdek: yes so long as we also agree to competently explain why 
this isn't sugar's death-knell
<gregdek> m_stone: I promise you.
  Pinky swear.
<m_stone> :)
* gregdek crosses his heart and hopes to die.
<cjb> Okay, works for me too.
<gregdek> All right.
  So what does that choice imply for our current critical path?
<jg> the critical path is getting a cut down spin to boot.
<m_stone> jg: where by 'spin', you mean a genuine Fedora Spin, right?
<jg> I'd be trying to work on that if I weren't in meetings all this week 
I've not been playing sysadmin to fix all the lightning damange....
<gregdek> So we've got the boot issues involving initramfs and kernel on 
one side...
<jg> m_stone: yes.
<m_stone> jg: i.e. no external packages.
<gregdek> ...and the Fedora spin work on the other side.
  How do we join these efforts sanely?
<jg> m_stone: includes packages from us.
  but only a few.
<gregdek> So to be clear:
  This is not a "Fedora spin".
  It can't and shouldn't be.
<jg> for the moment, yes.
<gregdek> It is a "based on Fedora" environment using the best tools 
available to make it sustainable to maintain.
<m_stone> jg: what? that seems to me to contract what you just said.
<jg> but my hope is it minimizes the number of changes.
<m_stone> *contradict
  jg: I explicitly asked you "Fedora Spin" -- no package divergence -- and 
you said "yes". was that a mistake? a future goal?
<jg> m_stone: marco claims to be about to work on fedora sugar 
packages....  I know you have some questions on whether he will find it 
hard to succeed.
<gregdek> To me, a spin is nothing more than "an internally consistent set 
of software packages".
<jg> yup.
<gregdek> And a Fedora spin is that, plus "only containing packages in the 
Fedora universe."
  We are talking about the former, *not* the latter.
<jg> yup.
  until/unless everything we need is upstream.
<gregdek> The livecd tools are able to create package manifests from 
multiple repos, I believe.
<jg> that's what I've called "nirvana".
  gregde.k: yes
<gregdek> Now, are we talking about a process that looks like:
  1. Build a "minimal OLPC/Fedora hybrod spin";
  2. Hack in initramfs changes;
  3. Slap it into an image;
--> nteon (n=nteon at dhcp-47-122.media.mit.edu) has joined #fedora-olpc
<gregdek> 4. Profit?
<jg> roughly.
  the closer it is to fedora, the easier it will be for us all to support 
it....
<gregdek> Right.
  Can we limit the unique packages to kernel and initramfs to start?
<jg> that's what sebastian tried to build last night.
<gregdek> How did it go?
<jg> the build seems to have failed, and I've not seen him on line today.
<gregdek> Please pardon my out-of-the-loopness...
  Hm!
* gregdek wonders if jeremy has had time to play with this.
<gregdek> When's the deadline to have something working?
  Do we have a clear one?
<jg> I was about to try to test the previous spin, with a manual hack of 
the kernel and initrd.
<gregdek> Carry on.  ;)
<jg> gregdek: the SD card dsd just put together is probably enough to keep 
the hounds at bay.
* m_stone is extremely confused about the goals of this whole endeavor and 
fears that some effort will be required if his non-confusion is important.
<jg> gregdek: but the sooner, the better.
<gregdek> Very good.  dsd_, thanks for buying us some time.
  m_stone: feel free to explain.
<m_stone> gregdek: I view the underlying goal here as procedural and 
communal. we're looking for increasingly powerful degrees of 'easy to 
maintain', 'accessible to both the OLPC and fedora communities', etc.
<gregdek> Right.
  And you feel like we're conflicting with that?
<m_stone> well, I view the current approach and intense focus on getting 
various filesystem trees to boot on the OLPC as rather counterproductive 
to that.
  for a couple of reasons.
<jg> how so?
* gregdek listens.
<m_stone> first, most of what jg has been asking for has been various 
degrees of easy installation.
  i.e. 'a completely isolated SD card that boots fedora on the OLPC'
<jg> yes, that's to be able to get it into g1g1 hands, without requiring 
an SD card.
<m_stone> uh, _with_ requiring an sd card you mean?
  maybe jg is talking about a second tier of 'easy installation'; the 
ability to blow away the existing filesystem and use a stock fedora-like 
filesystem?
<jg> yes, easy installation.
<gregdek> To be clear:
<m_stone> and then finally some degree of interop -- the ability to boot 
either fedora or sugar off either NAND or SD and have them share data 
perhaps by having sugar as an alternate desktop
<gregdek> (sorry, go ahead)
<m_stone> gregdek: so what does this have to do with any of the procedural 
and communal maintenance bit?
<jg> m_stone: I don't expect data sharing until we've dealt with sugar's 
journal issue upstream.
<m_stone> jg: why? we've already got copy-to-journal and 
copy-from-journal. plus, the filenames are stable, so clever symlinking 
hacks are possible
<gregdek> It's a tactical goal that some folks in the Fedora community can 
help with.
<m_stone> jg: and we have external metadata in 8.2.0; easily backportable.
<m_stone> gregdek: fine, but why is it any better than 'olpc-update 
fedora-big' ?
<jg> m_stone: I'm trying to bound the "requirements" to the minimum.  If 
we get more, I'll be yet happier.
  underpromise, overdeliver.
<gregdek> m_stone: Maybe it's not.
<jg> m_stone: olpc-update fedora-big is my goal for installation.
<gregdek> I'm just looking for the approach that minimizes our short-term 
risk and allows Fedora folk to help.
<jg> just like debian, but with a fully usable environment ootb.
<m_stone> jg: I can't tell that from the way you're going about it.
<m_stone> gregdek: right.
<jg> m_stone: ergo the use of the live-cd-tools.
<gregdek> Listen, gentlemen, I'm a simple man.  :)
<jg> we can build an image, using standard tools, that can fit.
  that's what sebastian has proven.
<gregdek> Right.  That's my goal.
  I know it may be an imperfect goal.
  But it's something that many people have experience with: building their 
own Fedora spin.
<jg> exactly.
<gregdek> And it's a place where people can (a) use the tools they know, 
and (b) familiarize themselves with an environment that they do *not* know 
in the process.
<jg> and all dependencies are satisfied, so yum install xxxx will "just 
work".
<m_stone> jg: yum install working has nothing at all to do with the use of 
anaconda or of livecd-tools.
  and anaconda is not adapted for using nonstandard kernels or initramfsen 
which is _critical_ to the way olpc-update works.
  which is why everyone who has worked on XO software builds has used one 
of three alternatives.
  pilgrim, puritan, of manual image creation.
  *or
<gregdek> pilgrim is the ancestor of livecd-tools, you know.
<m_stone> gregdek: yes. I've spent quite a bit of time with both. (I 
helped debug livecdtools on the XS where it also at best marginally 
appropriate)
<gregdek> Which makes me wonder where the two have diverged, and why.
<m_stone> gregdek: and livecdtools made some design choices which 
_conflict_ with the easiest way to get distributions installed on the XO.
<gregdek> Are they similar enough to allow people to use ks.cfg files?
<m_stone> now you might have another goal, which is not to use olpc-update 
-- to simply rely on SD cards or on copy-nand.
<m_stone> gregdek: no, they're wholly different.
  gregdek: pilgrim is a big shell script which makes a chroot, installs 
some packages into, and wraps up the result.
<gregdek> My goal is to find the tools with the most common usage, so that 
you can leverage as much knowledge as possible.
<m_stone> gregdek: right, I understand that.
  gregdek: and I'm saying that jg is doing something different.
<gregdek> All right.
* gregdek takes a step back.
<m_stone> gregdek: anaconda and mkinitrd is going to require _surgery_ in 
order to be compatible w/ olpc-update. so you shouldn't expect that.
<gregdek> Why should we care about compatibility with olpc-update for the 
Linux-only side?
<m_stone> which means that you're either interested in SD-only or in 
copy-nand solutions.
<jg> m_stone: all we've done to date is to prove we can build, using 
live-cd-tools, and image small enough that it could coexist on nand with 
our image, which would make it possible for olpc-update to function.
<jg> gregdek: because then we can do an install without external media.
<gregdek> :)
<m_stone> or you want to rely on something like dsd's script to make the 
necessary changes to the filesystem churned out by anaconda.
  those are your three options.
<gregdek> Right.
  Of those...
  I tend to lean to #3.
<m_stone> so far as I can tell, none of them is compatible with making the 
communal process you want.
<gregdek> Maybe that's wrong and hacky.  :)
<m_stone> :)
<gregdek> Well, yes and no.
  There's different work to be done, right?
  One set of work:
  Figuring out a small set of packages that fits well and gives a decent 
experience.
  This is work that *many* can share.
  Second set of work:
<m_stone> gregdek: sure.
<gregdek> Adapting that to the hw realities of the XO.
<m_stone> (puritan is a better tool for that job)
<gregdek> Which is probably not terribly scalable work.
  How many people use/know puritan?
<m_stone> gregdek: more than have succeeded in getting anaconda-built 
software to work on the XO.
<gregdek> And how many is that?
<m_stone> about 2 for puritan and 0 for anaconda.
<jg> and how many are familiar with puritan and anaconda, and have made 
the attempt?
<gregdek> Except, of course, that if you have a simple overlay script that 
massages the livecd output in a predictable way to fix kernel+initramfs, 
which should be a one-time cost operation, that number changes 
dramatically.
<m_stone> a small number are familiar with puritan because it is newer 
than anaconda and much more specialized.
  however, it is quite good at smashing together RPMs (and other package 
formats) into XO-compatible file-systems.
<dsd_> gregdek: thats what i'm scripting
<gregdek> m_stone: It feels like you're pushing to use puritan, and that's 
fine, if that's your choice.  But it'll be more difficult for me to 
deliver knowledgeable community members to your door.
<m_stone> gregdek: I'm pushing you to explain how your choices are going 
to fulfill your goals.
<gregdek> Whereas (livecd/etc.) plus (dsd_script) yields many possible 
contributors.
  Do others understand my viewpoint?
  dsd_?  jg?
<cjb> m_stone: but you're talking to people who don't have as much 
experience with the technology, so what they really need to hear is "I 
suggest doing <foo>, which would gain us <x, y, z>"
<jg> yes.
<dsd_> what purpose would these community members have? to assist the 
build process?
<gregdek> To iterate over packaging issues.
  To fix dependency problems in Fedora, which is your base.
<dsd_> yes, working on the community's home turf makes sense from that 
respect
<gregdek> To lower the bar for their contribution by allowing them to use 
tools they already know.
  Standard gregdek disclaimer: as always, I could be completely wrong.  :)
<jg> heh.  As can I, frequently ;-).
<m_stone> gregdek: so your desired outcome is a script that takes a .ks 
and runs it resulting in XO-compatible media.
<gregdek> Yes.  I think so.
<m_stone> e.g. by performing whatever hacks dsd finds are necessary on top 
of the output from anaconda.
<gregdek> Yes.  I think so.
<m_stone> gregdek: and how are you going to debug that?
<gregdek> It's still a package manifest, in the end.  What's the likely 
scope of changes?
<m_stone> gregdek: also, in a larger community sense -- how does it help 
anyone outside of Fedora/RH land?
  gregdek: hard to predict.
<gregdek> This is one specific goal.  There are many others.
  We also have the Sugar stuff to work through, and we haven't talked about 
it yet, because we've spent an hour debating this.
  What I'm offering is a way to help offload the maintenance of this Fedora 
spin from you guys...
<cjb> m_stone: I find it hard to follow your argument because you're 
pointing out downsides in one approach without mentioning which other 
approach has far fewer downsides and accomplishes the same goals.
<gregdek> ...so you can spend your capacity elsewhere.
<cjb> m_stone: pilgrim's hard to debug, too.  every piece of technology 
for doing this has downsides.  pointing at downsides doesn't tell me what 
we should actually do instead.
<gregdek> Anyway.
  I'm running out of time...
<-- kimquirk_ (n=kimquirk at pool-98-110-153-245.bstnma.fios.verizon.net) has 
left #fedora-olpc
<gregdek> ...so I will make my recommendation, and allow you to do with it 
as you will.
  I think that dsd_'s approach is good, and I'd like to see folks trying it 
out.
<ke4qqq> m_stone: Outside of Fedora/RH land people at least have a huge 
body of experience to tap - plenty of documentation to tap - not to 
mention significant community pool who already know how things work - can 
your alternative say the same?
<jg> dsd_'s approach is great, but doesn't result in a small image.
<m_stone> cjb: we should be pushing our patches upstream and fixing 
packaging bugs until we get to the point where Sugar and Fedora are 
completely indistiguishable in that the XO software distribution is a 
fedora install with some on-disk configuration changes.
<gregdek> Can dsd_'s approach be merged with the ongoing ks refinement 
work?
<m_stone> cjb: dennis was taking us in that direction and I continue to 
believe that it's the right way.
<jg> I also don't have insight into what is required to get us to where 
olpc-update can be used to do an installation.
<gregdek> m_stone: I also believe that it's right.  They are not mutually 
exclusive.
<m_stone> cjb: getting more contribution from Fedora folks should occur by 
asking them to install olpc-generated packages on F-9, F-10, etc. and 
fixing bugs. or through emulation, or by sending them XOs.
<cjb> m_stone: the unmentioned downside of that plan is that it doesn't 
get us something in time for G1G1.
  jg: that's a reason to learn more, rather than a reason not to try to 
achieve that.
<jg> cjb: I'm trying to learn; educate me ;-).
<gregdek> At some point...
  ...a wrong decision is better than none.  :)
  How do we move forward?
<m_stone> cjb: what is maintainable about what jg/gregdek are suggesting 
and who does it benefit?
--> jwilliam (n=jwilliam at jwilliam.dsl.xmission.com) has joined 
#fedora-olpc
<gregdek> m_stone: This predicates that the dsd_ scripts are actually any 
good.
  If they are...
<m_stone> gregdek: it's a hack. dsd could certainly maintain it 
indefinitely. hopefully someone directly from fedora-land could do so as 
well.
<gregdek> It's also a short-term solution, right?
<m_stone> gregdek: I'm skeptical of that.
<gregdek> Because the goal is NOT to have bootable Fedora forever.
<m_stone> gregdek: I think it's going to encourage people not to try to 
merge OLPC's changes into Fedora proper.
<gregdek> The goal is to have bootable Sugar on top of stock Fedora.
  Why?
  I have no idea where that assertion comes from.
  People on fedora-olpc-list continue to iterate through that list of 
forked packages to solve those problems.
  Do they not?
<m_stone> gregdek: no, they don't need to here.
  gregdek: they might continue to do so, because they're good people who 
share the same goal.
<dsd_> its a short term solution because in the longer term i hope that 
upstream kernel will boot on XO..
  then we're just left with xorg.conf and boot.fth
<gregdek> Right.
<m_stone> dsd_: and the initramfs
<gregdek> This is trying to get MORE help in solving a SHORT-TERM problem.
<dsd_> if upstream kernel boots on Xo
  then we use fedora's kernel and initramfs
  no need to customize
<gregdek> It does nothing to discourage the ongoing work on the LONG-TERM 
problems.
  They are separate.
  I don't know how to explain myself any more clearly.
<m_stone> gregdek: I don't buy it, but fortunately, I don't have to.
  gregdek: the best I'll give you is that it adds a marginal amount of 
value to jeremy's goal of widespread dependency splitting.
<gregdek> Then why are you arguing?  For the sport?  :)
  Anyway.  I'm out of time, gentlemen.
  dsd_: Is your script available for folks to check out / use?
<m_stone> gregdek: because I think that encouraging people to work really 
hard on getting OLPC to deal with Fedora properly and working really hard 
to modify Fedora procedures that are hard for OLPC to deal with is a far 
better place to expend effort.
<gregdek> m_stone: THEY ARE NOT MUTUALLY EXCLUSIVE.
<dsd_> gregdek: yes but it is totally untested, i havent even run it
<gregdek> It's a long road.
<dsd_> gregdek: going to test and fix it tonight
<gregdek> dsd_: Brilliant.  I look forward to hearing more about it.
  And if it sucks, we figure something else out.  :)
  Because, as always, I could be completely wrong.
  Anyway.
* gregdek bangs the gavel.




More information about the Fedora-olpc-list mailing list