As of last Monday, the road racing season is completely over for me for the year. As I did last year, I went back to Jamestown, RI to race in the Jamestown Classic. This year the weather was a lot better than last year and I felt a lot more confident having had some races under my belt. The pace was a little faster but I felt a lot more comfortable hanging in with the pack, but unfortunately, didn't manage to turn it into any results as I fell back a little bit on the final climb and didn't manage to make up the few seconds rounding the corner. Thus, I ended up finishing seven seconds back. But was still a good finish basically with the front of the pack.
That down, I sent in my request to move up to a Cat4 for next season which was approved. And while I'm looking forward to next season and races that start a little bit later in the day, I'm also glad that it's now to sort of the down time. Over the weekend, I rode with Quad on Saturday and did a bit of sweeping and just taking it easy. Then, on Sunday I went out with some of the MIT team to catch some of the 'cross race in Canton and also to just get some riding in. Both days, I rode without my heart rate monitor and just had fun. Especially when we climbed to the weather observatory in Blue Hills 😉
Probably will do a few more weeks of just taking it easy and just making sure I have fun. And then, I'll probably be starting to do some actual base training and get a reasonable overall training plan to maximize how well I do next season, especially given how early the collegiate season starts.
As has probably been obvious, things have been a bit busy for me of late. For some reason, my classes this semester have seemed to be quite a bit more work than either of the spring or summer. I'm not sure how much of that is psychological and how much of it is real. But the nice thing is that after this semester, I'll only have a couple of required courses left and can pick and choose some interesting electives without having to worry much about conflicts with required courses.
This week is the business trip for this semester and it's good to have (mostly) everyone around on campus. And it's also nice to have lots of meals provided 🙂 Unlike the prior business trips, in some ways, this one is fairly sparsely populated. On the other hand, that's likely due to the fact that it's also the week of what used to be the alumni conference and is now the Systems Thinking Conference. In any case, Monday didn't have much going on out of the ordinary although I spent the day on campus instead of my usual day in Westford. Yesterday we had a lunch and then in the evening was the final information session for the year for those interested in applying for SDM. I again helped out by mingling with some of the prospective students to answer questions and then being on the panel as well. One of the really interesting things to me about being on the panel and answering questions is the differences in questions between groups of prospective students; while there are some common themes, each night seems to have its own sort of theme or direction. Also, it's fairly obvious that some people come in and are comfortable asking a bunch of questions in front of a group while others are not so comfortable. But even those who don't ask questions during the panel tend to have them in the smaller mingling around time. What that says, I'm not entirely sure.
Today was the SDM Open House for students that have been accepted to start in January of 2009. So lunch was spent trying to talk with a few of them and helping to answer any lingering questions they had about the program as well as making sure that they have the appropriate level of respect for January and the amount of time that it requires. This afternoon, I had intended to spend some time trying to get at least some of the basics of the OLPC power management code merged into a Fedora kernel, but I instead ended up spending it spread between email and finishing up my project management homework. And there's enough meat on the subject of project management and some of the tools from the class for another post at another time, so I'll leave that out there for now
This evening was a “networking event”, organized by Yoav. As has been the norm there was a pretty good turn-out of SDM08s, the usual cadre of SDM07s and with the alumni conference, some alumni and also some of the SDM09s. Always good to just get a chance to hang out with people and talk about annoyances and good things with classes.
Notable quote of the evening from a discussion that Linda and I were having with Yoav: “there's the class for entrepreneurship and the one for innovation” with regards to the Sloan business law class. But given that they're very overlapping (~60% of the content is probably the same), it's less bad than it sounds. The differences seem to mostly be what the guest speakers are focusing on as opposed to anything more fundamental with regards to the material.
Tomorrow and Friday are the conference and I'm going to make an effort to try to attend a fair bit of it while also trying to get some groundwork laid to do some testing in the evenings/over the weekend.
As an update to my post last week, Snapshot 2 of Fedora 10 should be available via bittorrent now. (I had intended to post this update on Friday, but then my main laptop decided to start randomly and regularly dying on me :-/)
Again if you ensure that you have the latest livecd-iso-to-disk script, there are a few changes and improvements with Snap2
- If you pass –swap-size-mb to the script, you'll get a swap file set up which gets automatically activated on boot. As mentioned by others, having some swap makes a huge difference.
- We set up the inernal nand (flash) to be used for /home. We don't reuse the homedir from the main XO OS but the data is written there so you can update images without losing changes
- Related to that, we now reset the overlay on every boot. This means the only saved bits are the things in /home. But this lets us worry (less) about filling the overlay and causing things to crash.
On the other hand, from my quick reading of mailing lists so far, there may also be some other performance regressions vs Snap1. Testing and details from people appreciated as always.
As the Fedora 10 release cycle moves forward, we are now in the stage where there are regular “snapshot” releases planned for every week. These snapshots are just a 'point in time' test of rawhide and released based on whether they work and if not, then we end up just waiting for the next week. The intent is to keep the required effort level relatively low but still give a basis for testing between the beta and the preview release.
On Friday, the first of these post-beta snapshots was released. This includes a set of live images which can run without modifications on the OLPC. This is nice as it will make me not have to do builds of images and host them on fedorapeople anymore 🙂
With this image plus the updated livecd-iso-to-disk, the performance of the image on the XO is much better. How is this achieved? The single biggest thing that helps is changing to putting the ext3fs on the SD card as opposed to the squashfs. This means we're not paying the penalty of decompression. The downside is that this requires a 4 GB (or more) SD card as opposed to a 2 GB one.
A second thing which helps (significantly) is not using a RAM based overlay and instead putting the overlay on the SD card. There are some upsides and some downsides to doing this, but at this point, the upsides seem to outweigh the downsides. This will even more be the case for this week's snapshot with a few of the things I'm planning to have ready for that (more details below…).
So that said, what is the invocation of livecd-iso-to-disk that I'm using (and thus would recommend to testers)? Presently, it's
~/src/fedora/livecd-tools/tools/livecd-iso-to-disk.sh –force –xo –overlay-size-mb 512 – ~/Desktop/Live/F10-Snap1-i686-Live.iso /dev/mmcblk0p1
This sets up a 512 MB (persistent) overlay on the SD card and with –xo, we set up a boot/olpc.fth as well as moving over the embedded ext3fs instead of the squashfs.
So the obvious question is what's next/on my plate to make sure is in better shape for this week's snapshot?
- Fix up handling so that we can easily set up having some swap on the SD card. This again feels like a situation where we're better off doing than not. Most of the mechanism should be present in Snap1, but for some reason, I'm not seeing /mnt/live being properly mounted from the live initscript. This should be a pretty straight-forward thing if someone wanted to take a look and send me a patch 🙂 The live initscript itself lives in the spin-kickstarts repo
- Non-persistent, disk-based overlay. The “persistence” is kind of kludgey in that it can pretty easily fill up and cause problems. Unfortunately, with dm-snapshot, there's not a lot we can do about that. Hopefully we'll get some form of unionfs in the future, but that definitely won't land for F10. This should just be a matter of changing the initrd to recognize a flag and recreate the snapshot store on the SD card when requested. The initrd is created from mkliveinitrd in the mkinitrd package.
- Persistent /home on the internal nand (mtd0). Again, this should be mostly ready to go with Snap1, but was acting weird the end of last week for me. Should get mounted within the live initscript
- Start making a dent in some of the reported bugs
- Investigate the question which was asked of just sticking the ext3fs on the SD card directly and not doing the “normal” live image bits for the overlay. While this is interesting to explore, I have a sinking suspicion that it's not something that's really doable in the timeframe of Fedora 10, although it is certainly one that bears looking at more for Fedora 11.
Took a long weekend from pretty much everything work related (although I had to do some school work) and then got back this evening and spent way too much time on some homework for System Architecture. This process was made more frustrating by OpenOffice deciding to crash and corrupt its own backup file in the process. I'm so glad that office software really hasn't improved :-/
So if you've sent an email and expected to see a response from me, hopefully I'll get to it tomorrow. Direct mail looks quiet, but I see there are some 800 messages on various Fedora related lists for me to get through…
For those chomping at the bit about Fedora on OLPC, the new snapshot images that went up on Friday should work better on the XO and integrate everything that's needed without requiring a special OLPC build. You'll also want the updated <a href="http://katzj.fedorapeople.org/olpc/livecd-iso-to-disklivecd-iso-to-disk which copies the uncompressed ext3fs.img onto your SD card rather than the squashfs. You'll definitely need a 4 GB SD card instead of a 2 GB one for that and there are also some corner cases like running out of disk space that I haven't fixed up in the script, hence why it's not in git yet. And if none of that makes sense, I'm intending to get a more verbose update up tomorrow.
But right now, it's after midnight and I was up before 5 am to head down to a bike race and so I'm exhausted and going to go crash into bed for a few hours so that I can wake up in the morning and maybe even make it to class on time…
So, you just got your XO to do some testing of Fedora on OLPC. You update the software that was on there, get a developer key, wait a day, and then get all ready to boot your Fedora image off of the SD card ….
And it boots. But it's slow. Very very slow. Some slowness is to be expected… this isn't a fast machine. But it should probably be a little bit speedier than it is. So want to try out a few experiments to try to help pin down the cause of the slowness? Then read on, pick a case and leave comments about your results.
- Try using a persistent overlay instead of the in-memory one. Add –overlay-size-mb to your livecd-iso-to-disk invocation. Amount should be relative to the size of your SD card.
- See if/how much having swap available helps. You can create a file on the SD card with dd, run mkswap against the file and then enable it on the XO. The best test for this would probably be to boot the XO single-user and run swapon from there and then do telinit 5.
- Try disabling some services from the live image. Again boot to single-user, chkconfig some services and then telinit 5
- … your idea here. Hopefully other people have some ideas of things to try as well. Try them out and let us know how it goes.
Both days of this weekend had a skills clinic for the MIT racing team and I went to both. Again, the clinics were held down at the Wells Ave office park. I think at this point, I have the way from MIT to that part of Newton etched into my memory. Which also means I can get from MIT to various points around Brookline and Allston with relative ease.
Yesterday's clinic was focused on improving cornering skills. This is something which, especially after going through it, is incredibly useful and an area where I really had no clue what I was doing technique-wise. Sure, you can turn the bike and go around a corner, but being able to do so in a way that's both fast and safe is an entirely different story. There's quite a bit of technique to it. But it's cool to have a better idea of how the pros manage to severely tilt their bikes when going through corners of a crit at speed. It's an area where I'll want to spend some time practicing the technique to really get it down to where I don't have to think about it. After that, we followed up with another rousing game of Death Bike. Which was, again, a good time.
Today was focused on sprinting and riding in a pack. Again, a little bit of being told a “good” way of doing things seems like it will go a long way. But sprinting form feels like it's going to be a lot more difficult for me to get “right” just due to having to break bad habits. Luckily, sprint intervals are a pretty easy thing to do and a good way to work on the form. For riding in a pack, there was a bit of focus on moving up and how to do so quickly and efficiently. The fact that we were doing this at Wells Ave was interesting; I've raced there enough times that I know how various things feel and so it was interesting to do things in a different way. In the past I've mostly moved up by going to the outside, applying some power and getting to the front. While this does work, it's pretty inefficient as it ends up meaning I leave the draft. I've now got a much better idea on how to move up through the pack and save energy. Which should end up helping at the end for the sprint. We finished out the day with a game of Bike Capture the Flag which ended up being pretty fun as well.
All in all, a good two days of work. And although my distances were lower than my normal for a weekend, I feel like I got quite a bit out of both days and am pretty tired from both as well. This week will be an easy-ish week on the riding side so that I can be in good shape for racing at Jamestown next Monday. But that's okay, as it's a busy week on pretty much every other front. Especially since I didn't do any homework this weekend. So, it'll be a bit of a scramble to get that taken care of, but it doesn't look like it'll be too bad.
Made some more progress today with running Fedora on the XO. Until I manage to go and pick up the right SD card, I figured I'd give performance a little bit of a rest and so instead focused on seeing which bits of the hardware appeared to work (or not). So I booted up into run-level 3 with the image I posted last night and started poking.
- Wireless: First thing to check was the wireless to see if it worked. And it does, the driver gets loaded, we have the firmware and it managed to find the access point at my house and associate without problems. Haven't really looked at mesh at all, and also haven't dived into making sure wpa works, but at least for the basics, it seems okay.
- Camera: From the quick test of “does the driver load” and “does the driver give data”, this looks okay too. Doing cat < /dev/video0 as a user turns on the LED for the camera and prints garbage to the screen.
- Sound: Driver loads and the mixer shows elements, but playing sound isn't looking like it's working. Needs more investigation
- Internal Flash (NAND): Driver seems to load and with a couple of pointers from dwmw2, is mountable without having to do any more module loads. Went ahead and did the next obvious step and changed things so that we can use that for the persistent /home.
- Special keys: Most of the keys on the keyboard seem to be appropriately mapped, but there are some that will need mapping via hal. Should be straight-forward to sit down and do as it's just writing some fdi file bits (hint: if someone wants to volunteer to do this, I can point you in the right direction 🙂
- Power management: Suspend to RAM isn't showing up as available at all right now. I suspect some kernel bits that haven't been upstreamed need to be pulled out. Will probably look closer at this tomorrow
And now, I think it is time to go watch some tv
A new image for testing Fedora on the XO is now available. This image runs quite a bit slower than the previous one in X and I haven't gotten to why yet, so if you try it, I recommend quite a bit of patience. But I wanted to get something up in the near-term so that people would see some sort of progress 🙂
Changes and improvements in this image…:
- Updated packages to match those that are included in the Fedora 10 beta that was released yesterday
- Slightly newer kernel (the one that davej built last night) which has debugging disabled. Sadly, this wasn't the help I hoped it would be.
Booting to runlevel 3 is okay for at least some testing, though. So be sure to add –extra-kernel-args 3 to your invocation of livecd-iso-to-disk in addition to passing –xo. And hopefully we'll have a new image up shortly that fixes some of the slowness and makes things more reasonable for general use “soon”
This was the last weekend of summer and on Saturday, it actually felt a bit like fall was already here. I went out with the MIT cycling club on their ride to Dover (MA). Was a nice route and largely in areas that I had never been before, which was good. Relaxed pace and a good opportunity to talk with and start to get to know some of the other people riding. Was glad that I had picked up some knee warmers, though, as they were pretty much the perfect extra layer. Yesterday, though, felt more like summer again as I went out on the Quad ride. Again a beautiful day, though, and nice to get some more good riding in.
Today brought the actual beginning of autumn and waking up to it being kind of dull, gray and cool was not the way I had hoped to start the morning. But I dragged myself out of bed and headed to the office for a day that I had somewhat booked already with meetings.
Between them, managed to get the serial cable hooked up to the OLPC in the office and started with trying to track down kernel things again. And finally started getting somewhere. After a week (plus) of dead ends, I happened upon the right avenue and was able to confirm that the problem was OpenFirmware loading the initrd into RAM where it shouldn't have been. Wrote up a good description of what was going wrong, sent it off, and Mitch Bradley (aka OFW Ninja) had me a fix in about an hour. I didn't see it for a while longer due to other meetings, but it was in my inbox.
So, after getting home and having dinner, I tried it out and was greeted with success. So modulo fixing some more “normal” kernel problems, it looks like we should be well on our way to having the XO able to boot with the regular Fedora kernel. And this means that having an XO run just any old Fedora live image is now a very big step closer to reality…