Catching up

About this time last week, I came to the realization that I had a ton of pending work to get done. Luckily, I'm now starting to feel more like I'm on track and not behind. But it was less than fun, so I'm definitely going to try to be better about staying on top of things, especially the system architecture “opportunity sets” for the rest of the semester. Otherwise, classes are going good. Given the amount of time getting sucked up, I decided to not actually be a listener for the Software Systems Engineering course, which is too bad. But this way, I should have some time to just to a few more random talks around MIT. Which is probably going to be more interesting and helpful.

On other fronts, the Fedora on OLPC and Sugar on Fedora efforts are picking up steam a bit. Hopefully we'll have some more useful milestones for both in the next week or so. But due to work there, I haven't had much time to spend on getting a SIG for other smaller form factor machines (including netbooks, the XO and more) underway. Luckily, Peter Robinson has volunteered on fedora-devel-list to help get this off the ground, so hopefully we can get that going to.

Never a dull day…

Fedora on an XO

As I mentioned before, one thing that I've been spending some time on is getting a “stock” Fedora to run on the OLPC XO hardware. Obviously there's not a CD drive, but there is a USB port and there is also an SD card slot. Which given the support in our live images for running off of such things, there seemed to be a bit of an obvious matchup.

There's just one (large-ish) problem. The XO is a Geode, so an i586 processor with cmov. So the stock i686 kernel on the live images definitely doesn't boot there. Unfortunately, neither does the i586 kernel. I'm working on tracking down what the relevant configuration difference is so that it can be fixed — interestingly enough, if you don't load an initrd, a Fedora i586 kernel can boot fine. So there's definitely something a little odd going on. If you have experience in debugging early boot of an XO and have any tips, leave a comment or catch me on IRC or send me mail :)

So, instead I've done a modified version of the main OLPC kernel with the help of sdziallas that includes squashfs and also turns on things like dm-snapshot which we need for live images.

That plus a pretty straight-forward image config and we can build a live image that boots into the GNOME desktop on the XO off of either an SD card or a USB stick. There are definitely still things to be fixed, though. To try to help some of that, I've created a tracking bug that can be used by those who have an XO and try running a Fedora live image on it.

Do you have an XO and are interested in trying it out? If so, first be sure that you have a developer key for your system. Then, you can download an image based on today's rawhide (debranded) from here. I've basically tested that it boots, logs in to the desktop and associates to my access point. Then gpk-update-icon fires up and we run out of memory for things. If you kill it quick enough, then you can fire up firefox and slowly do a little bit of other stuff.

Some things that are continuing to be worked on:

  • Having somewhere to swap would help a lot
  • Using the SD card/USB stick for your persistence instead of eating up valuable RAM
  • Persistent /home on the internal NAND (jffs2)
  • Looking at high memory usage things and helping to make them better
  • Fixing the standard kernel so that we can boot it on the XO
  • And if we do the last one then we can boot the standard live images, any of them, on the XO

Any help appreciated! Any bugs you find, please be sure to make them block the tracker so that we can keep up with them accordingly.

As for the questions about what the end goal is here — ultimately, I'd like to have any Fedora spin working on the XO just like it works on lots of other hardware. For Fedora 10, this may be a stretch (although I'm going to land any small changes that can be identified in that timeframe even though it's not a feature and we're at feature/beta freeze). But for Fedora 11, it should certainly be doable.

What have I been up to?

Things have quieted down on the livecd-tools front — it is mostly to a point where it's pretty stable and works fairly well. Also, I did not run for election to either the Board or FESCo this time around. Instead, I've tried to free up my time a bit so that I can spend more time looking into some “new and different” things, while still managing to spend most of my time on Fedora.

And after some time looking, it's mostly ending up being spending time helping to get Fedora working better on various “small” form-factor x86 machines. I sent out a message to fedora-devel-list about two weeks ago now seeing who else was interested and got a bit of a gamut of responses. Some were right along the lines of what I'm thinking with things such as Netbooks, UMPCs, MIDs and the XO. Others were more things like the OpenMoko. And while the latter is perhaps interesting to Fedora in the longer-term, it's not really a space that we're well equipped to work in at present.

So basically, I'm hoping to spend time in the lead-up to Fedora 10 helping to make Fedora work as well as possible on some of this hardware. Luckily, a lot of the drivers for these devices have made it into Linus's tree for 2.6.27, so this will be a lot less painful than it would have been previously.

I'm also spending some time with the OLPC people to help reconcile some of the forks which have occurred. I've spent some time over the past couple of days helping to get a live image which is bootable using the stock livecd-creator and booting into the “normal” Fedora environment. I also started a little while ago on helping to get more Sugar activities packaged up so that they can be built and installed as normal packages within Fedora.

Now, how are these things related you might ask? Well, longer term, I think that it could make a lot of sense to have a spin of Fedora available which is better suited for some of these smaller form-factor, internet always available devices. The idea being that with the resolutions in question, you may well not want to be running a stock GNOME or KDE. Instead, something like Sugar really is nicer, although there are definitely rough edges on Sugar right now. So maybe these new emerging form-factor devices can give a good additional place for Sugar to be deployed and used. And more people using Sugar means more people writing Sugar activities which means more things for the kids :-) But, that's likely Fedora 11 before it becomes a reality.

Well, that was interesting

So when I last left you with a post, it was to note the end of my summer classes and looking forward to at least getting to relax a little bit.

Hah! That mostly certainly didn't happen. Instead, I got thrown into the ultra-fun world of helping to deal with the cleanup for the Fedora infrastructure intrusion. Spent a lot of time reinstalling a lot of servers and doing everything I could do to help get things online as quickly as possible. Not how I intended to spend last week, but you do what needs doing. I will say that the setup for the Fedora Infrastructure is a whole heck of a lot nicer than it used to be. And while editing puppet configs makes my skin crawl, it is pretty effective.

In the middle of that, Kara and I did manage to have some people over now a week and a half ago for a night of games of the carded variety. A good time was had I think by all and the approach of making a theme worked pretty well for avoiding the phenomena of “game of Rock Band” and “everyone else”. So we'll probably have to try to keep going in that vein. Not that there's anything wrong with Rock Band, per se, but it's good to get people interacting in different games as well. We'll probably try to get something else together in a couple of weeks.

Then, over this past weekend, Kara and I headed down to DC for a (very much needed by that point) vacation. Did a lot of sleeping in, touristy things, and eating good food. Which, all in all, was exactly what we were looking for. Went to the Newseum and was actually pretty impressed and see how they can manage to charge for a museum admission and be right next to the Smithsonian. We also hit up some of the exhibits at the Smithsonian, although a different set than the ones I've usually hit in the past.

The only downside of the trip really was that I didn't have a bike with me and so haven't really ridden to speak of in about a week. But that shall be remedied starting tomorrow and I'm pretty certain it's going to involve the round trip commute to the office. Although I should probably be sure to do a few things like plug in the nice light, etc tonight before heading to bed.

This week, I'll hopefully get back on track with what I was hoping to do last week. And maybe get enough done for two weeks in… err.. three days. Seems doubtful, doesn't it? Then a long weekend for Labor Day and then classes start back up. How does that saying go about no rest?

Last week flew by

So yeah, last week kind of flew past me and I didn't do a good job of keeping up with posting. Lots of it was building live images for the Fedora 10 alpha (coming to a mirror near you tomorrow), testing said images, building new images, and doing over and over again. Also a whole ton of mail on various fronts. Today was more of the same, although also a lot of time trying to track down what was going on in a weird livecd-creator bug that has been popping up from time to time forever. Finally figured out the root cause so hopefully we'll get to the bottom of it real soon now.

On the school side, it was the usual level of madness for summer classes. Spent a good chunk of time Tuesday after class finishing up the System Dynamics assignment and then home to work and have dinner. Only a tiny bit longer of that and then I get a few weeks off before fall classes begin. And Kara and I have booked a short trip for in that time period as we have some overlap this time around.

And then to keep things even more busy last week, we had a pretty busy social schedule. Wednesday had a group of the Quad racers getting together at Redbones and so I wandered down there as, hey, why miss a good chance of eating at Redbones. Thursday was then the monthly “Cafe Quad” social, although I really only briefly popped my head in before going home due to the tiring week. Friday night, Kara and I ended up going out with Kate and Jon to drink to a better August, as Kate's July kind of sucked. Saturday was probably the slowest day — Quad ride in the morning, spending a little bit of time between work and looking at school stuff in the afternoon, and then dinner and watching Walk Hard: The Dewey Cox Story which was no better or worse than I expected it to be. It was just the sort of light comedy that I was needing at that point.

And I think that mostly catches up to the present… this week might be a little bit less insane on some fronts, but I'm sure it will make up for it on others.

The “Cambridge” release returns

The results of the voting on the Fedora 10 name were announced today. And I am quite pleased to see that my suggestion, Cambridge, is the winning name. Now, for those who don't know, Cambridge has a special significance as the internal project name for Red Hat Linux 10 (prior to switching it to become Fedora Core 1) was also Cambridge. And thus, we have returned to where we were five years ago completing some form of sick, sick circle.

Another busy day

Another busy day today. Started out with Systems Engineering in the morning and Professor Dan Frey talking about the Design of Experiments. Another session where I can easily see where in a physical engineering field, it would have a lot of relevance and could be easily applied. Software, still, not so much. Maybe if you're doing human factors/user interface you could take advantage of some pieces of it but I'm not entirely convinced. And if you're doing things at a lower-level, then almost certainly not. When you're designing a software system at that level, you don't really have knobs and levers to adjust and then see how they change some sort of outcome — instead, your design is focused on functional requirements and just meeting those requirements. And then adjusting as the requirements inevitably change.

Later in the day, I had my final-for-now FESCo meeting. As some may have noticed, I have decided not to run for FESCo this time around. There are a variety of reasons why this is the case and it's really not worth going into all of them. One thing that will be nice will be having one less meeting a week to need to attend. Although I'll probably still chime in frequently enough from the cheap seats.

After that, it was off for a trip to the dentist. Biked there, got there right on time and then got to wait half an hour for the dentist. *sigh* Eventually got things taken care of and was on my way, if a bit later than I had intended.

Then, this evening, we had another SDM Connect event. I tried to organize it more in the fashion that Alyson had started things off in last year — very informal and low-key. And so I asked the inimitable Yoav Shapira to come and talk about his startup/entrepreneur experience and what helped (and didn't help) from his time at SDM. As usual, he gave lots of good information and insight and it was good to see him again. Everyone seemed to enjoy it and I think that the format kind of “clicked” with people to some extent. Or so I'm hoping. A few people had some ideas about future speakers and I told them to let me know and hopefully we can get SDM Connect to happen again on a more regular basis.

Then, home and now it's time to head to bed. Tomorrow, I'm getting FIOS installed… hopefully they've figured out cable cards (as I'm still quite happy with the Series3 Tivo) by this point and it'll be painless. But, I'm going into it expecting basically the worst given that it's a telecom company. We'll see how it goes.

And by popular demand… a plymouth screencast

And by popular (by which, I mean one person) demand, a screencast of plymouth on the live cd.

Screencast

Currently using vesafb to get the pretty graphics instead of modesetting. And there's something slowing down livecd boots the past couple of days, but I haven't gotten around to looking at what it is. But it lets you see the basic idea.

Graphical Boot and Live Images

One of the goals for Fedora 10 is to replace the aging rhgb that has been used for graphical boot since Red Hat Linux 8.0. rhgb is implemented using an X server which started in rc.sysinit relatively early during the boot process and then some feedback is provided to the user. With some of the improvements underway for Fedora 10 we should hopefully have kernel modesetting in place at least for some drivers which will let us set a native resolution graphical mode as opposed to requiring either text-mode, an X driver + server or the use of a framebuffer.

Given this, enter plymouth — a new graphical boot implementation which will be taking advantage of that infrastructure. And since we don't need the X server or anything that's really complicated, we can even include plymouth in the initrd and provide that nice graphical experience earlier in the boot process. The bits landed for the regular initrd a couple of weeks ago and I finally got around to looking at integrating things for the live initrds the end of last week and finished it up yesterday. So now, we should have the new graphical booting hotness for livecds as well. And once the kernel modesetting pieces land in rawhide (I'm looking at you krh :-) , that should be easily hooked up also making things quite nice in time for the Fedora 10 alpha.

Now on to the next thing on my todo list…

The days get shorter

Got out and had a couple of nice, fast rides this weekend. Saturday was a double dinosaur for a metric century and then about fifty miles yesterday. And I'm doing pretty well at getting my speed up while still being able to do some sprinting from there. Should help a bit when racing. My original plan for the weekend had been to do the Wells Ave training race on Sunday, but it ended up being cancelled for various reasons. But, the intense training rides were a good substitute. And then hopefully I'll get down to Wells Ave this Sunday instead.

Otherwise, a pretty uneventful and low key weekend.

Then, spent today in the office taking care of a few things. Ended up spending a lot of time talking with people about various things and made little progress on my attempt to get us down to one set of keyboard data. I think that the quickest route to actually making this happen is going to be to take the Debian ckbcomp perl script and just pre-run it against the xkeyboard-config data into a package for the “primary” keyboard maps. And then if you want to generate your own for an abnormal case, you can. Eventually it would be nice, though, to get ckbcomp written in C and do the xkb -> console keyboard mapping done at boot-time (or even within loadkeys directly). If it's something you're interested in working on, let me know and I can point you in the right direction.