New uefivars project leverages 9-year-old efibootmgr work

Finnbarr P. Murphy (fpmurphy) posted on his blog yesterday about his new project, uefivars, to retrieve and display information about UEFI variables. UEFI is the new firmware standard, replacing legacy BIOS over time, which is present on Dell 11G PowerEdge servers today. fpmurphy’s work is based largely on my own efibootmgr project which I started back in 2001 when first working on EFI for the Itanium processor. I’m glad to see renewed interest in this work as more people get exposed to UEFI on new systems. Perhaps it’s time, 9 years later, for bits of efibootmgr to turn into a library for use by applications like uefivars.

Fedora mailing list procmail recipe

In honor of Fedora moving its mailing lists this weekend, here’s a little procmail recipe to file each incoming mailing list stream into its own folder.  Fedora lists get a folder prefix of ‘fedora-’, while all other mailman-handled lists simply get the list name, with whitespace and the @domain part stripped off.

:0 H
* ^X-BeenThere:
{
BEENTHERE=`formail -xX-BeenThere: | sed -e 's/@.*//;s/^[ \t]*//'`
:0 H
* ^X-BeenThere: .*lists.fedoraproject.org
$HOME/Mail/fedora-$BEENTHERE
:0 E
$HOME/Mail/$BEENTHERE
}

Fedora Elections – get your last-minute votes in!

Fedora- I Voted

Fedora- I Voted

The Fedora Elections for two Board seats, four Engineering Steering Committee seats, and all seven Ambassadors Steering Committee seats has just a few hours left (ends 2009-12-16 UTC 2359). I’m excited that we have such a great slate of candidate volunteers for these important positions of leadership in our community – it really speaks to our ability to incorporate new contributors and help stretch the Project in new directions.

I’ve been pleased to be a member of the Board for 3.5 years now, and hope you would consider re-electing me.

If you haven’t already voted, please take a few minutes to do so. If you have already voted, thank you.

I’d also like to thank John Rose for stepping in as Election Coordinator – a mostly-thankless yet critical task that ensures a smooth election process. Also special thanks to Thorsten Leemhuis for coordinating the election questionnaire (for the last time!). Informally I asked several attendees at FUDCon Toronto if they felt that the questionnaire was helpful to them, and universally I heard that it was indeed helpful. It takes a fair bit of time to gather the questions, sort for “really good” questions, gather the results, and of course, for candidates to answer. I’m glad it provides benefit proportional to the effort, and remind community members that next election cycle (Spring 2010), someone else will need to take on this task that Thorsten has done for several cycles now.

FUDConF13: Toronto Videos

I’ve just posted 2 videos shot at FUDConF13 Toronto last week.  I’m afraid I haven’t done justice though…

  1. Moksha, by Luke Macken.  My camera cut out after the first 10 minutes, so that’s all we’ve got.
  2. The last 20 minutes of the Fedora Infrastructure: Sysadmins  vs. Developers love-in, taken by Adam Williamson.

If anyone else has video or audio from this or other Fedora events you’d care to share, please contact me and I’ll help you get it into proper ogg format, tagged, and posted to Fedora Infrastructure servers for distribution.

Fedora Election Town Halls

Late notice via this blog, but John had sent the announcement earlier, so I don’t feel so bad…

Fedora Election Town Halls are scheduled, including a Board Town Hall tonight at 9pm Central time, and another at 9am Central Wednesday.  See the Elections page for full schedule and details how to join the fun on IRC.

I’m standing for re-election to the Fedora Project Board.  After 3.5 years, I just can’t give it up. :-)

Upcoming Fedora Elections

Yes, it’s that time of year again.  Rain is falling, another Fedora release is about to conquer the known world, and volunteers everywhere are busy preparing their ideal Fedora Mission Statements to captivate the electorate.  Fedora’s Winter Election is upon us.

The first order of business is to find an Election Coordinator.  For the last 2 election cycles I have volunteered for this role, with the able assistance of John Rose (inode0), and Thorsten Leemhuis (thl) and others.  This cycle, I would like someone besides myself from the Fedora community to volunteer as Election Coordinator.  Raise your hand, don’t be shy!  If you have been harboring a secret (or public) list of all my mistakes, here’s your chance to set things right!

As Election Coordinator, you will have the opportunity to:

  • propose, get buy-in, and finalize the schedule
  • schedule forums (traditionally IRC and with FUDCon Toronto, Live)
  • seek forum moderators
  • if desired, gather questions from the electorate, distribute to the candidates, gather and post their answers.
  • coordinate with Infrastructure to be sure the elections app is ready.

Second, a schedule will need to be set.  At the Board meeting this week, we agreed that it would be nice to hold in-person forums at FUDCon Toronto, December 5-7, for those who can attend.  Our election rules require us to complete the election within 30 days of the Fedora 12 release, so must end by December 17.  Per Nigel Jones, author of
our voting system, most of the votes cast were within the first 2-3 days, so running it Dec 8-17 would be sufficient.

Before these, we typically hold nominations for 2 weeks, and a week for IRC Town Halls to be scheduled.  Thorsten also requested after the last election that we have a few days between end of nominations and beginning of the town halls, to allow time for candidates to be given a set of questions, and sufficent time to answer.

Third, we need to be sure of all the committees who are holding an election.  The committee chairs can assist here.  I believe that the Board, FESCo, and Ambassadors are electing members, and that the Fedora 13 naming election will happen too.  Are there any I missed?

Feedback on prior elections, ideas for how to improve this cycle, and volunteers for Election Coordinator all welcome on the fedora-advisory-board list.

Fedora is Self-Hosting

Fedora 12 (Beta available now), is self-hosting.

What does this mean? Simply put, it means that you can use a copy of Fedora 12 to rebuild, from source, all* of Fedora 12 again.

Why is this important? One of the key tenets of Free and Open Source software is that anyone can get a copy of the source code, make modifications to it, built it, an use the modified version. Simply publishing the source code, without also allowing people a way to rebuild and use that code, doesn’t accomplish this goal.

Source code tends to bitrot over time. Libraries that your code uses will change, get updated, add features and bugfixes. Compilers improve and update to later standards. Your code needs to keep up. So, for each Fedora release, we run an “Fails To Build From Source” pass, which rebuilds every package in the distribution, using the packages in the distribution. We started the Fedora 12 development cycle with about 400 packages which couldn’t build (still, less than 5% of the total packages) for various reasons. Over the last few months, members of the Fedora Packager community have been whittling away at these, fixing their packages, sending patches to their respective upstream projects, and therefore improving the quality of the open source ecosystem as a whole.

The result?  You see immediate improvements (smaller package sizes due to new compression methods being used, future-proof security through the use of stronger hashes to guarantee package integrity), and increased flexibility should you wish to remix Fedora for your own purposes.

Thank you packagers!

* Truth in advertising: All in this case means 8448 of the 8485 packages in the Fedora 12 tree. There are 37 problematic packages (0.4%), none critical to a vast majority of users, which still need some love.

Installing Fedora 12 and saving the environment

If you’re like me, chances are you have a system or three with DVD / CD burners in them.  Aside from their use for backups, I have tended to use my burners to create Linux install DVDs, done my install, and then given it to someone else, or (ashamedly) thrown it away.  What a waste.

I also prefer to do network-based installs, where I don’t have to download a whole 4GB DVD image, or even 700MB CD image, and burn it.  Instead, I download the 160MB “netinst” network install ISO, burn that to a CD, boot that CD, and point the installer at a Fedora mirror to grab all the packages.  This works great, but still, I’m left with a netinst CD when I’m done that I may no longer need.

Enter isohybrid, new in Fedora 12 (Beta).  I’ve got a few USB keys of various sizes, most larger than 160MB.  Instead of burning a CD (which I can still do, the process is unchanged), I can write the netinst ISO file directly to a USB key, and boot it.  Amazing!

Give it a try when you install Fedora 12 Beta, and save one more CD from becoming landfill.

$ wget http://download.fedoraproject.org/pub/fedora/linux/releases/test/12-Beta/Fedora/x86_64/iso/Fedora-12-Beta-x86_64-netinst.iso
$ sudo dd if=Fedora-12-Beta-x86_64-netinst.iso of=/dev/sdc bs=1M
$ eject /dev/sdc

Replace /dev/sdc with the actual device name of your USB key. You will want to unmount any file systems that are mounted on that key before writing to it.

Then boot that USB key, and you’re off to the races. When prompted for which local file system contains your install image, simply click “Back”, select the “URL” install method, and use a URL of your favorite mirror.

Special thanks to H. Peter Anvin for writing isohybrid and including it in syslinux.

MirrorManager automatic local mirror selection

MirrorManager 1.3.2 (plus a hotfix) is now running on all Fedora Infrastructure application servers.  This brings one new interesting feature – automatic mirror detection.  How’s that you say?

As you know, Internet routing uses BGP (Border Gateway Protocol), and Autonomous System Numbers (ASNs) to exchange IP prefixes (aa.bb.cc.dd/nn) and routing tables.  By grabbing a copy of the global BGP table a few times a day, MM can know the ASN of an incoming client request, and Hosts in the MM database have grown two new fields: ASN and “ASN Clients?”.  MM then looks to see if there is a mirror with the same ASN as each client, and offers it up earlier in the list.

I’ve pre-populated the MM database, for public servers only, with ASNs, and set “ASN Clients?” = True, meaning such will offer to serve all clients on the same ASN.  If you have a private server and wish to do likewise (remember, this doesn’t work for home systems or those behind NATs), you can fill in those fields yourself.  The Fedora wiki page on mirroring gives an example on how to look up your ASN.  I recommend this for all schools, research organizations, companies, and ISPs.

The mirrorlist lookup code now goes in preferential order:

  • same netblock
  • same ASN
  • both on Internet2
  • same country
  • same continent
  • global

For ISPs and schools, this should mean that most of the possible Fedora traffic will stay within your network – no transit costs.  And as netblocks change, MM will keep up with them automatically.

To see this in action, try a query as such, and look for the ‘Using ASN ####’ in the result comment line.

$ wget -O – ‘http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-11&arch=i386′

# Using preferred netblock Using ASN XXXX country = US country = MX country = CA
your-local-mirror-here

I hope you enjoy this new feature.

Fedora services IPv6-enabled

As Mike McGrath, Fedora Infrastructure team lead announced last week, several Fedora services are now IPv6-enabled.  Thanks to our good friends at ibiblio.org, who have native IPv6 connectivity, we were able to set up one web server and one DNS name server, with more services to come over time.  The web server in particular means that nearly all Fedora Infrastructure-hosted web pages and web applications are immediately reachable over IPv6.  This week, over 5000 unique IPv6 addresses have been served.

However, this has not come without a cost.  There have been a handful of individuals having difficulty reaching our web pages.  In one case, the user needed to lower the MTU (maximum transmission unit) for his ethernet adapter from the default 1500 to 1472, to accommodate both IPv6 and his PPPoE connection.  For others, particularly those using 6to4 routing (the default method in Fedora if you don’t already have native IPv6 connectivity), some packets are getting dropped elsewhere on the Internet (pings reach our server, responses don’t make it back).  These are the growing pains we’ll have to live through, and which will resolve themselves over time as more network operators deploy native IPv6 to their end users.

If you have troubles reaching Fedora web sites, take a look at the Known Problems section on our IPv6 wiki page for common workarounds, add your own workarounds as you find them, and if all else fails, join us in #fedora-admin on irc.freenode.net for assistance.  There’s not a lot we can do about the wider Internet and its routing, but we’ll help if we can.

If you’d like to help get additional services IPv6-enabled, check out our IPv6 page for tasks we’d like to do, and offer your own ideas.