Packaging a Fedora kernel on a GNOME tablet

Fedora 23

Fedora 23

As Pa Bailey might have put it, it’s deep in the race to want to run GNOME on your tablet. At last year’s Libre Graphics Meeting in Toronto, pippin displayed GNOME on his Lenovo MIIX 3 Bay Trail device. A few months later I was able to pick up an ASUS T100TA with similar specs (if not as elegant) for a good discount. Adam Williamson’s latest Fedlet release was days old at the time, and I installed it.

I’ve been through the Fedlet installation three times, the second and third installs necessitated by some newfound inherent skill at rendering the device unusable. The installation is nerve-wracking on account of some missing or invisible buttons in Anaconda, so I’d rather upgrade than re-install. The processor supports 64-bit Linux with 32-bit UEFI, but at this point I’m happy with the 32-bit kernel. (The experience of local LUG members suggests the Debian multiarch installer will address the 32-bit UEFI while installing a 64-bit system, but a brand new Ubuntu installer will not.)

There’s a Google+ Community dedicated to running Ubuntu on the different varieties of T100. After some weeks of reading about further advances specific to the hardware, I wasn’t satisfied with the Fedlet 4.2 kernel and decided to build a newer one. For ease of installation and removal, Fedora kernel packages are worth the small effort required beyond simply compiling a kernel. The procedure on the wiki page is pretty comprehensive; below are the changes I needed to get mine working. First some notes:

  • ‘dnf upgrade’ on the newly-installed Fedlet led directly to the first from-scratch re-install. Since then I’ve installed specific required packages with dnf using ‘–best –allowerasing’. I’m still running Fedora 23 to prevent the loss of any of the customized packages (other than the kernel) from the Fedlet repo, but hopefully it will become possible (if it’s not already) to do without them. I would experiment, but at this point it’s easier to just avoid the risk.
  • the last re-install was required after I built a kernel that was capable of eating the contents of the eMMC hard drive.
  • sometime between 4.2 and 4.6, a dracut upgrade was required to enable the kernel installation to complete.
  • the 60 GB hard drive needs a hefty percentage of free space to perform the build: I usually delete the contents of BUILD and BUILDROOT from the previous build, and keep my music on the removable SD card.

Asus T100 Ubuntu: progress reports, patches and config file, sound configuration (sound works with kernels older than 4.6-rc* but so far 4.6 breaks it). The About this community panel has a Google Drive link called Asus Files with all the good stuff.

These are the sections I follow from Building a custom kernel. Please consult the original page for the details.

Dependencies for building kernels
Yes.

Skip to…
Building a kernel from the source RPM: Get the Source
I grab the kernel source package from Koji that corresponds to the patches in the Google Drive folder.

Prepare the Kernel Source Tree

rpmbuild -bp --target=$(uname -m) kernel.spec

Use ‘target=i686’ if building on my x86_64 laptop (hypothetical at this point since I haven’t successfully done this).

Copy the Source Tree and Generate a Patch
Skip this section: at this point I apply the patches (from the Google+ page) directly to the linux-* folder. I’ve performed the operation of copying the tree to create a single patch, but haven’t been successful automating it with ApplyPatch in the .spec file.

Configure kernel options
Copy in the config file acquired from the Google+ page.
Step 5 is i686.

Prepare Build Files
Customize the buildid in the .spec file (.mdh in my case).

Build the New Kernel
Use ‘noprep’ to prevent refreshing the source tree and re-applying the Fedora patches.

rpmbuild -bb --noprep --with baseonly --without debuginfo --target=`uname -m` kernel.spec

Use ‘target=i686’ if (someday) building on my x86_64 laptop.
On occasion at this point I need to rename the ~/rpmbuild/BUILD/kernel-*/linux-* folder to include the buildid  and fc23 instead of the version from the source rpm (currently fc25).

I usually do the last step with the power connected, but occasionally carry it to the car and back for the trip to work, so as not to interrupt the build. If it finishes, a full set of packages should appear in ~/rpmbuild/RPMS/i686.

Corrections and recommendations welcome.

Doc sprint at Open Help 2015

Platform53

Platform 53, a remarkable co-working space in Covington, Kentucky (across the river from Cincinnati) was the setting for GNOME’s Open Help doc sprint this week. We spent three intense days updating the GNOME User Help for 3.18. I reviewed and updated the networking pages to reflect a number of changes.

Sprinting

A big part of our mission is to test all of GNOME’s features so we can write accurate help pages, and find out what works. A number of issues were uncovered and reported, and some of the solutions will be implemented in 3.18.1. The Documentation Team is a perfect mix of writers, developers, friends.

RainDelay

As a team-building exercise, Cincinnati treated us to a Major League Rain Delay, followed by a baseball game. Our productivity was heightened by a prodigious amount of walking around the city and over the river.

FrontRow

Many thanks to Shaun McCance for organizing a sensational event, and Syllogist and Red Hat for sponsoring it. Thanks to the GNOME Foundation for enabling me to attend.

Mercantile

Photo by Petr Kovar.

sponsored-badge-simple

FOSDEM

Here’s an awesome idea… schedule FOSDEM right after a docs hackfest! A hired carload of us accompanied Kat and Dave from Norwich, on the Eurotunnel Shuttle. We brought Mallard balls.

It was a blast working in the GNOME booth on Sunday afternoon, alongside Alexandre, Nathalie, Tobi, Fred, and Baptiste. The enthusiasm of Tobi and Bastian Ilsø was infectious. In the spirit of catching flies with honey, Alexandre and Baptiste used the Mallard balls to good effect promoting Mallard.

Mallard at FOSDEM

Baptiste et Alexandre s’allient afin de donner une démonstration en profondeur après une pêche fructueuse à l’aide d’une balle Mallard.

Hacking docs in Norwich

After his visit in 1848, Charles Dickens wrote of Norwich, “in short, some of the hackfest’s noisiest authorities insisted on its being received in the superlative degree of comparison only.” (He would famously reuse the line in part one of an upcoming serialization.) It was Robbie Burns, however, who wrote in the song “Highland Mary” the words about it that Norwich would one day adopt as its motto: “A Fine City.” For those of us who were there, it was so much more.

The walks were long and invigorating, the weather was marked by a distinct lack of snow and sub-zero temperatures, the architecture was positively mediæval, the space at the university was ideal, the tea was abundant and varied, the hospitality was wonderful. It was the best.

UEA campus

Sunshine over the University of East Anglia.

Some Lessons Learnt:

  • Elementary Chicken Care
  • Proper Use of British Power Tools
  • Distinguishing Crisps from Chips
  • Tea Brewing for Coffee Drinkers
  • Looking the Wrong Way First When Crossing
Debugging Baobab

A particularly tricky Baobab debugging session ChezKatDave.

It was fascinating to observe and participate in the processes at this hackfest: the redesign of Yelp, brainstorming the developer docs, planning the future of desktop help. It was an event of instant gratification: bug fixes and feature requests courtesy of Fred and Shaun, bug annihilation by André and Dave, system issues dispatched by Dave and Ryan, decisions on terminology. Julita colourfully plotted the downfall of the Evolution index page.

The D'Arcy Thompson Room

Round table discussion at the university (photo courtesy of Baptiste Mille-Mathias)

For my part, it meant working with Phil again to rewrite and update the System Monitor docs for Kat to review; a final review of Bijiben help after work by Shobha and Aruna; assessing the gaps in Boxes pages with Zeeshan; updating the application help inventory with Kat (with the ability to verify everything in GNOME Continuous); and occasionally unleashing a brood of chickens on an unsuspecting garden.

The D'Arcy Thompson Room

Hacking at the venue.

Many thanks to the GNOME Foundation for the travel sponsorship, and to the University of East Anglia’s School of Computing Sciences for hosting us. I can’t thank Kat and Dave enough for putting us up in their home and showing us their little corner of England in spectacular fashion… proper English fish and chips, real English pub fare, full English breakfast, cream tea, Fawlty Towers. Hopefully Shobha and Aruna can get visas next time.

On his visit to Cambridge in 2012, Richard Schwarting said, “GNOME 3 makes me happy.” Working passionately on GNOME has not only made me happy, it has made me good friends who are passionate about working on GNOME.

sponsored-badge-simple

GNOME Continuous in Boxes

When writing documentation for GNOME, it’s essential to be running the latest version. GNOME Continuous provides a ready-to-boot virtual machine image containing much of the GNOME stack straight from git. As a bonus, Boxes will open and run the image as soon as it’s downloaded. (In Fedora 20 it’s necessary to sidestep this bug but Colin’s installation instructions reflect this.)

When the image is up and running in Boxes, you can use jhbuild to install additional apps, as documented by Andreas… I use this procedure to add Yelp. You can also try setting it up for external network connections as detailed in Ben Kahn’s blog entry.

In the end, a book!

courtyard

On Friday we got to see (at least on screen), the fruit of our labour: the Introduction to Mallard book. Print copies will follow. This week’s book sprint was a remarkable collaborative writing experience, and I can’t wait to recommend it to other projects I know.

It’s been terrific working with Aruna, Sindhu, Kat and Dave, as well as honourary team members Heidi and Amanda. Thanks to our Google Open Source hosts Mary, Stephanie, Carol and Cat for getting us here, keeping an eye on us and stuffing us with abundant and frequent delicious food. Thanks again to Allen Gunn for inspiring us and to Adam Hyde for getting a book out of us and to Google for Doc Camp.

It was great to visit Amphitheatre Parkway again, now Google’s main campus. I was last here nearly 14 years ago when it was Silicon Graphics, the birthplace of my first home computer. I didn’t stop to look for waterfowl on my last trip, but this time couldn’t help noticing.

waterfowl

Montreal and Mountain View

I had the privilege of traveling to and touring around Montreal (an off-map adventure) with Zeeshan and attending the first day of the summit. Thanks to James, Tristan and Savoir-faire Linux for hosting us, and to Ryan for organizing, and Hubert for sharing his extensive knowledge of Montreal and maple syrup. Thanks also for the hospitality of a new friend who put me up for Saturday night before an early flight to…

Google Doc Camp, where five members of the Docs Team will spend an
intensive 4+ days under the coaching of Allen Gunn and FLOSS Manuals’
Adam Hyde creating a book about Mallard. The first day was an amazing
“unconference” where we got input from the two other teams (and gave
them ours) to distill the goals of our week’s effort.

StressBall

Docs Hackfest at Open Help 2013

The Open Help Conference organized each year in Cincinnati by Shaun McCance is a terrific environment for a docs hackfest. It’s always a great opportunity to hear and discuss ideas in help and documentation tools, and, thus inspired, write docs.

The conference. Standout presentations for me included an entertaining talk about Ask Ubuntu by Jorge Castro, Red Hat’s Rich Bowen on knowing your audience, and Mozilla’s Janet Swisher with tips for making doc sprints successful. Warren Block showcased FreeBSD documentation tools, and Steve Gordon demonstrated web-based procedures used at Red Hat. Shaun exposed the machinations responsible for making the Getting Started videos translatable.

The events. On opening night, Shaun hosted a winning reception at Via Vite on Fountain Square, complete with a live concert as a backdrop and the sounds of fireworks on the river. To add to the festive atmosphere, the Reds arranged a homestand. Monday brought bourbon tasting, a fascinating history lesson at Japp’s in historic Over-the-Rhine. This was followed by a 7-km march into Kentucky and back (crossing the Ohio River on two different bridges) for a dish called chili in some precincts.

reception

The city. The local cuisine dazzled us with its variety as we experienced Nada (Mexican), The Rookwood (steak dinner inside a pottery kiln), Tom + Chee (grilled cheese with anything), Izzy’s Deli, and a delicious last-morning coffee at Aquarius Star aka the Om Café (who also catered the fabulous organic conference lunches). We went for seconds of ice cream and chili; at Skyline the intrepid among us wore bibs for the photographs.

aquarius

The sprint. Ryan Lortie embarked on a new strategy, HowDoI?, a daring DIY documentation departure for developers – here’s the page for GtkApplication. The rest of us brainstormed and wrote content for the devel-docs module with Shaun leading the process, giving the Platform page another facelift and tweaking the code. We built on work done earlier this year by the DX team in Brussels and the docs team in Brno, as well as previous years’ work by Phil, Tiffany and a small army of OPW interns. (My earliest experience of GNOME3-era devel docs was Johannes and Germán cranking out pages in Toronto). It will be great to see a combined effort at GUADEC.

hackfest

The highlights. We organized an evening of discussion, laptop resuscitation and pizza around Dave & Kat’s wonderful gift of Kentish ale. Jim and I caught a couple of periods of Stanley Cup hockey as his team tangled with Boston in a rare Original Six final. Best of all was getting my son Gord involved with GNOME, as he got a chance to learn the ropes, and filled in for the absent interns.

Thanks to Shaun McCance and Syllogist for organizing a sensational conference, and sponsors Mozilla, WordPress, GitHub and Red Hat. Thank you also to the Foundation for sponsoring my travel and accommodation.

sponsored-badge-simple

Open Help Doc Sprint

Join us in Cincinnati in June for the Open Help Conference, incorporating a GNOME doc sprint. We’ll be focusing on developer docs, and building on the work done at two earlier hackfests this year.
Open Help Conference & Sprints