<?xml version="1.0" encoding="UTF-8"?>
<!-- name="generator" content="blosxom/2.0" -->
<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "http://my.netscape.com/publish/formats/rss-0.91.dtd">

<rss version="0.91">
  <channel>
    <title>Steve's blog   </title>
    <link>https://blog.einval.com</link>
    <description>The Words of the Sledge</description>
    <language>en</language>

  <item>
    <title>Mini-Debconf in Cambridge, October 10-13 2024</title>
    <pubDate>Sat, 26 Oct 2024 21:54:00 +0100</pubDate>
    <link>https://blog.einval.com/2024/10/26#Cambridge-2024</link>
    <description>
&lt;p&gt;&lt;a href=&quot;https://photos.einval.com/gallery/2024_miniconf/aan&quot;&gt;&lt;img
alt=&quot;Group photo&quot;
src=&quot;https://photos.einval.com/albums/2024_miniconf/aan.sized.jpg&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Again this year, &lt;a href=&quot;http://www.arm.com/&quot;&gt;Arm&lt;/a&gt; offered to
host us for
a &lt;a href=&quot;https://wiki.debian.org/DebianEvents/gb/2024/MiniDebConfCambridge&quot;&gt;mini-debconf&lt;/a&gt;
in Cambridge. Roughly 60 people turned up on 10-13 October to the Arm
campus, where they made us really welcome. They even had some
Debian-themed treats made to spoil us!&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://photos.einval.com/gallery/2024_miniconf/aak&quot;&gt;&lt;img
alt=&quot;Cakes&quot;
src=&quot;https://photos.einval.com/albums/2024_miniconf/aak.sized.jpg&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Hacking together&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://photos.einval.com/gallery/2024_miniconf/aaa&quot;&gt;&lt;img
alt=&quot;minicamp&quot;
src=&quot;https://photos.einval.com/albums/2024_miniconf/aaa.sized.jpg&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For the first two days, we had a &quot;mini-debcamp&quot; with disparate
group of people working on all sorts of things: Arm support, live
images, browser stuff, package uploads, etc. And (as is traditional)
lots of people doing last-minute work to prepare slides for their
talks.&lt;/p&gt;

&lt;h2&gt;Sessions and talks&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://photos.einval.com/gallery/2024_miniconf/aaj&quot;&gt;&lt;img
alt=&quot;Secure Boot talk&quot;
src=&quot;https://photos.einval.com/albums/2024_miniconf/aaj.sized.jpg&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Saturday and Sunday were two days devoted to more traditional
conference sessions. Our talks covered a typical range of Debian
subjects: a DPL &quot;Bits&quot; talk, an update from the Release Team, live
images. We also had some wider topics: handling your own data, what to
look for in the upcoming Post-Quantum Crypto world, and even me
talking about the ups and downs of Secure Boot. Plus a random set of
lightning talks too! :-)&lt;/p&gt;

&lt;h2&gt;Video team awesomeness&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://photos.einval.com/gallery/2024_miniconf/aam&quot;&gt;&lt;img
alt=&quot;Video team in action&quot;
src=&quot;https://photos.einval.com/albums/2024_miniconf/aam.sized.jpg&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Lots of volunteers from the DebConf video team were on hand too
(both on-site and remotely!), so our talks were both streamed live and
recorded for posterity - see the links from the individual talk pages
in the wiki,
or &lt;a href=&quot;http://meetings-archive.debian.net/pub/debian-meetings/2024/MiniDebConf-Cambridge/&quot;&gt;http://meetings-archive.debian.net/pub/debian-meetings/2024/MiniDebConf-Cambridge/&lt;/a&gt;
for the full set if you'd like to see more.&lt;/p&gt;

&lt;h2&gt;A great time for all&lt;/h2&gt;

&lt;p&gt;Again, the mini-conf went well and feedback from attendees was very
positive. Thanks to all our helpers, and of course to our
sponsor: &lt;a href=&quot;http://www.arm.com/&quot;&gt;Arm&lt;/a&gt; for providing the venue
and infrastructure for the event, and all the food and drink too!&lt;/p&gt;

&lt;p&gt;Photo credits: Andy Simpkins, Mark Brown, Jonathan Wiltshire. Thanks!&lt;/p&gt;</description>
  </item>
  <item>
    <title>Rock 5 ITX</title>
    <pubDate>Fri, 11 Oct 2024 14:53:00 +0100</pubDate>
    <link>https://blog.einval.com/2024/10/11#rock_5_itx</link>
    <description>
&lt;p&gt;It's been a while since I've posted about arm64 hardware. The last
machine I spent my own money on was
a &lt;a href=&quot;https://www.solid-run.com/?s=macchiatobin&quot;&gt;SolidRun
Macchiatobin&lt;/a&gt;, about 7 years ago. It's a small (mini-ITX) board
with a 4-core arm64 SoC (4 * Cortex-A72) on it, along with things like
a DIMM socket for memory, lots of networking, 3 SATA disk interfaces.&lt;/p&gt;

&lt;p&gt;The Macchiatobin was a nice machine compared to many earlier
systems, but it took quite a bit of effort to get it working to my
liking. I replaced the on-board U-Boot firmware binary with an EDK2
build, and that helped. After a few iterations we got a new build
including graphical output on a PCIe graphics card. Now it worked much
more like a &quot;normal&quot; x86 computer.&lt;/p&gt;

&lt;p&gt;I still have that machine running at home, and it's been a
reasonably reliable little build machine for arm development and
testing. It's starting to show its age, though - the onboard USB ports
no longer work, and so it's no longer useful for doing things like
installation testing. :-/&lt;/p&gt;

&lt;p&gt;So...&lt;/p&gt;

&lt;p&gt;I was involved in a conversation in the #debian-arm IRC channel a
few weeks ago, and diederik suggested
the &lt;a href=&quot;https://radxa.com/products/rock5/5itx/&quot;&gt;Radxa Rock 5
ITX&lt;/a&gt;. It's another mini-ITX board, this time using a Rockchip
RK3588 CPU. Things have moved on - the CPU is now an 8-core big.LITTLE
config: 4*Cortex A76 and 4*Cortex A55. The board has NVMe on-board,
4*SATA, built-in Mali graphics from the CPU, soldered-on memory. Just
about everything you need on an SBC for a small low-power desktop, a
NAS or whatever. And for about half the price I paid for the
Macchiatobin. I hit &quot;buy&quot; on one of the listed websites. :-)&lt;/p&gt;

&lt;p&gt;A few days ago, the new board landed. I picked the version with
24GB of RAM and bought the matching heatsink and fan. I set it up in
an existing case borrowed from another old machine and tried the Radxa
&quot;Debian&quot; build. All looked OK, but I clearly wasn't going to stay with
that. Onwards to running a native Debian setup!&lt;/p&gt;

&lt;p&gt;I installed an EDK2 build
from &lt;a href=&quot;https://github.com/edk2-porting/edk2-rk3588&quot;&gt;https://github.com/edk2-porting/edk2-rk3588&lt;/a&gt;
onto the onboard SPI flash, then rebooted with a Debian 12.7
(Bookworm) arm64 installer image on a USB stick. How much trouble
could this be?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I was shocked! It Just Worked (TM)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I'm running a standard Debian arm64 system. The graphical installer
ran just fine. I installed onto the NVMe, adding an Xfce desktop for
some simple tests. &lt;strong&gt;Everything Just Worked.&lt;/strong&gt; After many
years of fighting with a range of different arm machines (from simple
SBCs to desktops and servers), this was without doubt the most
straightforward setup I've ever done. &lt;strong&gt;Wow!&lt;/strong&gt;

&lt;p&gt;It's possible to go and spend a &lt;strong&gt;lot&lt;/strong&gt; of money on
an &lt;a href=&quot;https://amperecomputing.com/en/&quot;&gt;Ampere&lt;/a&gt; machine, and
I've seen them work well too. But for a hobbyist user (or even a
smaller business), the Rock 5 ITX is a lovely option. Total cost to me
for the board with shipping fees, import duty, etc. was just over
£240. That's great value, and I can wholeheartedly recommend this
board!&lt;/p&gt;

&lt;p&gt;The two things that are missing compared to the Macchiatobin? This
is soldered-on memory (but hey, 24G is plenty for me!) It also doesn't
have a PCIe slot, but it has sufficient onboard network, video and
storage interfaces that I think it will cover most people's needs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Where's the catch?&lt;/strong&gt; It seems these are very popular
right now, so it can be difficult to find these machines in stock
online.&lt;/p&gt;

&lt;p&gt;FTAOD, I should also point out: I bought this machine entirely with
my own money, for my own use for development and testing. I've had no
contact with the Radxa or Rockchip folks at all here, I'm
just &lt;strong&gt;so&lt;/strong&gt; happy with this machine that I've felt the
need to shout about it! :-)&lt;/p&gt;

&lt;p&gt;Here's some pictures...&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://www.einval.com/~steve/images/rock5itx_top.jpg&quot;
alt=&quot;Rock 5 ITX top view&quot;&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://www.einval.com/~steve/images/rock5itx_back.jpg&quot;
alt=&quot;Rock 5 ITX back panel view&quot;&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://www.einval.com/~steve/images/rock5itx_EDK2.jpg&quot;
alt=&quot;Rock 5 EDK2 startuo&quot;&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://www.einval.com/~steve/images/rock5itx_login.jpg&quot;
alt=&quot;Rock 5 xfce login&quot;&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://www.einval.com/~steve/images/rock5itx_browser.jpg&quot;
alt=&quot;Rock 5 ITX running Firefox&quot;&gt;&lt;/p&gt;
</description>
  </item>
  <item>
    <title>Party like it's 2024</title>
    <pubDate>Fri, 30 Aug 2024 18:24:00 +0100</pubDate>
    <link>https://blog.einval.com/2024/08/30#2024party</link>
    <description>
&lt;p&gt;It (was) that time of year again - last weekend we hosted a bunch
of nice people at our place in Cambridge for the annual Debian
UK &lt;a href=&quot;http://wiki.earth.li/DebianParty2024&quot;&gt;OMGWTFBBQ!&lt;/a&gt;

&lt;p&gt;&lt;img alt=&quot;can you BBQ gin??&quot;
src=&quot;https://www.einval.com/~steve/photos/omgwtfbbq-2024/bbq-2.jpg&quot;&gt;&lt;/p&gt;

&lt;p&gt;Lots of friends, lots of good food and drink. Of course lots of
geeky discussions about Debian, networking, random computer languages
and... &lt;i&gt;screws&lt;/i&gt;? And of course some card games to keep us
laughing into each night!&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;beer anyone?&quot;
src=&quot;https://www.einval.com/~steve/photos/omgwtfbbq-2024/bbq-1.jpg&quot;&gt;&lt;/p&gt;

&lt;p&gt;Many thanks to a number of awesome friendly people for again
sponsoring the important refreshments for the weekend. It's
hungry/thirsty work celebrating like this!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.codethink.co.uk/&quot;&gt;Codethink&lt;/a&gt;
&lt;li&gt;&lt;a href=&quot;https://www.mythic-beasts.com/&quot;&gt;Mythic Beasts&lt;/a&gt;
&lt;/ul&gt;
</description>
  </item>
  <item>
    <title>A birthday gift to remember!</title>
    <pubDate>Fri, 30 Aug 2024 01:46:00 +0100</pubDate>
    <link>https://blog.einval.com/2024/08/30#birthday-butcher</link>
    <description>
&lt;p&gt;&lt;i&gt;Warning: If you're not into meat, you might want to skip the
rest of this...&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;This year, I turned 50. Wow. Lots of friends and family turned up
to help me celebrate, with a BBQ (of course!). I was very grateful for
a lovely set of gifts from those awesome people, and I have a number
of driving experiences to book in the next year or so. I'm going to
have so much fun driving silly cars on and off road!&lt;/p&gt;

&lt;p&gt;However, the most surprising gift was
something &lt;strong&gt;totally&lt;/strong&gt; different - a full-day course of
&lt;b&gt;hands-on pork butchery&lt;/b&gt;. I was utterly bemused - I've never
considered doing anything like this at all, and I'd certainly never
talked to friends about anything like it either. I was shocked, but in
a good way!&lt;/p&gt;

&lt;p&gt;So, two weekends back Jo and I went over
to &lt;a href=&quot;https://www.empirefarm.co.uk/butchery-courses/&quot;&gt;Empire
Farm&lt;/a&gt; in Somerset. We stayed nearby so we could be ready on-site
early on Sunday morning, and then we joined three other people doing
the course. Jo was there to observe, i.e. to watch and take (lots of!)
pictures.&lt;/p&gt;

&lt;p&gt;I can genuinely say that this was the most fun surprise gift I've
ever received! David Coldman, the master butcher working with us, has
been in the industry for many years. He was an excellent teacher,
showing us everything we needed to know and being very patient with us
when we needed it. It was great to hear his philosophy too - he only
uses the very best locally-sourced meat and focuses on quality over
quantity. He showed us all the different cuts of pork that a butcher
will make, and we were encouraged to take &lt;b&gt;everything&lt;/b&gt; home - no
waste here!&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;half a pig&quot;
src=&quot;https://www.einval.com/~steve/photos/half-pig.jpg&quot;&gt;&lt;/p&gt;

&lt;p&gt;At the beginning of the day, we each started with half a pig. Over
the next several hours, we steadily worked our way through a series of
cuts with knife and saw, making the remaining pig smaller and smaller
as we went.&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;saw&quot; src=&quot;https://www.einval.com/~steve/photos/saw-pig.jpg&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&quot;knife&quot; src=&quot;https://www.einval.com/~steve/photos/cut-pig.jpg&quot;&gt;&lt;/p&gt;

&lt;p&gt;We finished the day with three sets of meat. First, a stack of
vacuum-packed joints, chops and steaks ready for cooking and eating at
home. Second: a box of off-cuts that we minced and made into sausages
at the end of the day. Finally: a bag of skin and bones. Our friend's
dog got some of the bones, and Jo turned a lot of the skin into
crackling that we shared with friends at the OMGWTFBBQ the next
weekend.&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;sausages&quot; src=&quot;https://www.einval.com/~steve/photos/sausages.jpg&quot;&gt;&lt;/p&gt;

&lt;p&gt;This was an amazing day. Massive thanks to my good friend Chris
Walker for suggesting this gift. As I told David on the day: this was
the most fun surprise gift I've ever received. Good hands-on teaching
in a new craft is an incredible thing to experience, and I can't
recommend this course highly enough.&lt;/p&gt;
</description>
  </item>
  <item>
    <title>We're back!</title>
    <pubDate>Sun, 27 Aug 2023 14:03:00 +0100</pubDate>
    <link>https://blog.einval.com/2023/08/27#2023party</link>
    <description>
&lt;p&gt;It's August Bank Holiday Weekend, we're in Cambridge. It must be
the Debian
UK &lt;a href=&quot;http://wiki.earth.li/DebianParty2019&quot;&gt;OMGWTFBBQ!&lt;/a&gt;.

&lt;p&gt;We're about halfway through, and we've already polished off lots
and lots of good food and beer. Lars is making pancakes as I write
this, :-) We had an awesome game of Mao last night. People are having
fun!&lt;/p&gt;

&lt;p&gt;Many thanks to a number of awesome friendly people for again
sponsoring the important refreshments for the weekend. It's
hungry/thirsty work celebrating like this!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.collabora.com/&quot;&gt;Collabora&lt;/a&gt;
&lt;li&gt;&lt;a href=&quot;http://www.codethink.co.uk/&quot;&gt;Codethink&lt;/a&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.koipond.org.uk/&quot;&gt;Andy Simpkins&lt;/a&gt;
&lt;/ul&gt;
</description>
  </item>
  <item>
    <title>Firmware vote result - the people have spoken!</title>
    <pubDate>Sun, 02 Oct 2022 15:15:00 +0100</pubDate>
    <link>https://blog.einval.com/2022/10/02#firmware-vote-result</link>
    <description>
&lt;p&gt;It's time for another update on Debian's firmware GR. I wrote about
the
problem &lt;a href=&quot;https://blog.einval.com/2022/04/19#firmware-what-do-we-do&quot;&gt;back
in April&lt;/a&gt; and about the vote
itself &lt;a href=&quot;https://blog.einval.com/2022/09/27#firmware-vote&quot;&gt;a
few days back&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Voting closed last night and we have
a &lt;a href=&quot;https://lists.debian.org/debian-vote/2022/10/msg00000.html&quot;&gt;result&lt;/a&gt;!
This is &lt;strong&gt;unofficial&lt;/strong&gt; so far - the official result will
follow shortly when the Project Secretary sends a signed mail to
confirm it. But that's normally just a formality at this point.&lt;/p&gt;

&lt;h2&gt;A Result!&lt;/h2&gt;

&lt;p&gt;The headline result is: Choice 5 / Proposal E
won: &lt;em&gt;&lt;a href=&quot;https://www.debian.org/vote/2022/vote_003#texte&quot;&gt;Change
SC for non-free firmware in installer, one installer&lt;/a&gt;&lt;/em&gt;. I'm
happy with this - it's the option that I voted highest, after
all. &lt;strong&gt;More importantly&lt;/strong&gt;, however, it's a clear choice
of direction, as I was hoping for. Of the 366 Debian Developers who
voted, 289 of them voted this option above NOTA and 63 below, so it
also meets the 3:1 super-majority requirement for amending a Debian
Foundation Document (Constitution
section &lt;a href=&quot;https://www.debian.org/devel/constitution#item-4&quot;&gt;4.1.3&lt;/a&gt;).&lt;/p&gt;

&lt;h2&gt;So, what happens next?&lt;/h2&gt;

&lt;p&gt;We have quite a few things to do now, ideally before the freeze for
Debian 12 (bookworm),
due &lt;a href=&quot;https://lists.debian.org/debian-devel/2022/03/msg00251.html&quot;&gt;January
2023&lt;/a&gt;. This list of work items is almost
definitely &lt;strong&gt;not&lt;/strong&gt; complete, and Cyril and I are aiming
to get together this week and do more detailed planning for the d-i
pieces. Off the top of my head I can think of the following:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Update the SC with the new text, update the website.&lt;/li&gt;
  &lt;li&gt;Check/add support for the non-free-firmware section in various places:&lt;/li&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;tt&gt;d-i&lt;/tt&gt; build&lt;/li&gt;
    &lt;li&gt;&lt;tt&gt;debian-cd&lt;/tt&gt;&lt;/li&gt;
    &lt;li&gt;&lt;tt&gt;debmirror&lt;/tt&gt; (?)&lt;/li&gt;
    &lt;li&gt;&lt;tt&gt;ftpsync&lt;/tt&gt; (?)&lt;/li&gt;
    &lt;li&gt;Any others?
  &lt;/ul&gt;
  &lt;li&gt;Uploads of firmware packages targeting non-free-firmware.&lt;/li&gt;
  &lt;li&gt;Extra &lt;tt&gt;d-i&lt;/tt&gt; code to inform users about what firmware
    blobs have been loaded and the matching non-free-firmware
    packages. Plus information about the hardware involved. Maybe a
    new d-i module / udeb for this? Exact details here still
    TBD. Probably the biggest individual piece of work here.&lt;/li&gt;
  &lt;li&gt;Tweaks to add the non-free-firmware section in
    the &lt;tt&gt;apt-setup&lt;/tt&gt; module if desired/needed.&lt;/li&gt;
  &lt;li&gt;An extra boot option (a debconf variable) to disable loading
    extra firmware automatically, then exposed as an extra option
    through the isolinux and GRUB menus. d-i &quot;expert mode&quot; can also be
    used to tweak this behaviour later, except (obviously) for things
    like audio firmware that &lt;strong&gt;must&lt;/strong&gt; be loaded early if
    they're going to be useful at all.&lt;/li&gt;
  &lt;li&gt;Update the image build scripts to include the n-f-f packages,
    only build one type of image. I'll do my best to keep config and
    support around too for images &lt;strong&gt;without&lt;/strong&gt; n-f-f
    included, to make it easier to still build those for people who
    still want them.&lt;/li&gt;
  &lt;li&gt;Matching updates to docs, website, wiki etc.&lt;/li&gt;
  &lt;li&gt;...&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you think I've missed anything here, please let me and Cyril
know - the best place would be the mailing list
(&lt;a href=&quot;mailto:debian-boot@lists.debian.org&quot;&gt;debian-boot@lists.debian.org&lt;/a&gt;). If
you'd like to help implement any of these changes, that would be
lovely too!&lt;/p&gt;</description>
  </item>
  <item>
    <title>Firmware again - updates, how I'm voting and why!</title>
    <pubDate>Tue, 27 Sep 2022 18:46:00 +0100</pubDate>
    <link>https://blog.einval.com/2022/09/27#firmware-vote</link>
    <description>
&lt;h2&gt;Updates&lt;/h2&gt;

&lt;p&gt;Back in April I wrote about
&lt;a href=&quot;https://blog.einval.com/2022/04/19#firmware-what-do-we-do&quot;&gt;issues&lt;/a&gt;
with how we handle firmware in Debian, and I also spoke about it at
&lt;a href=&quot;https://debconf22.debconf.org/talks/43-fixing-the-firmware-mess/&quot;&gt;DebConf&lt;/a&gt;
in July. Since then, we've started the General Resolution process -
this led to a lot of discussion on the
the &lt;a href=&quot;https://lists.debian.org/debian-vote/2022/08/msg00001.html&quot;&gt;debian-vote
&lt;/a&gt;mailing list and we're now into the second week of
the &lt;a href=&quot;https://www.debian.org/vote/2022/vote_003&quot;&gt;voting
phase&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The discussion has caught the interest of a few news sites along
the way:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://lwn.net/Articles/906380/&quot;&gt;&lt;em&gt;Debian to vote on
  its firmware path&lt;/em&gt;&lt;/a&gt; in Linux Weekly News
  &lt;li&gt;&lt;a href=&quot;https://www.phoronix.com/news/Debian-Non-Free-Firmware-GR&quot;&gt;&lt;em&gt;Debian
  Begins A General Resolution To Decide What To Do With Non-Free
  Firmware&lt;/em&gt;&lt;/a&gt; in Phoronix
  &lt;li&gt;&lt;a href=&quot;https://itwire.com/open-source/
debian-set-to-start-vote-on-including-non-free-packages-in-install-media.html&quot;&gt;&lt;em&gt;Debian set to start vote on including non-free packages in install media&lt;/em&gt;&lt;/a&gt;
    in ITWire
  &lt;li&gt;&lt;a href=&quot;https://www.makeuseof.com/why-debian-might-include-non-free-firmware/&quot;&gt;&lt;em&gt;Why
  Debian Might Include Non-Free Firmware in Future Releases&lt;/em&gt;&lt;/a&gt; in
  MakeUseOf
&lt;/ul&gt;

&lt;h2&gt;My vote&lt;/h2&gt;

&lt;p&gt;I've also had several people ask me how I'm voting myself, as I
started this GR in the first place. I'm happy to oblige! Here's my
vote, sorted into preference order:&lt;/p&gt;

&lt;p&gt;
&lt;pre&gt;
  [1] Choice 5: Change SC for non-free firmware in installer, one installer
  [2] Choice 1: Only one installer, including non-free firmware
  [3] Choice 6: Change SC for non-free firmware in installer, keep both installers
  [4] Choice 2: Recommend installer containing non-free firmware
  [5] Choice 3: Allow presenting non-free installers alongside the free one
  [6] Choice 7: None Of The Above
  [7] Choice 4: Installer with non-free software is not part of Debian
&lt;/pre&gt;
&lt;/p&gt;

&lt;h2&gt;Why have I voted this way?&lt;/h2&gt;

&lt;p&gt;Fundamentally, my motivation for starting this vote was to ask the
project for clear positive direction on a sensible way forward with
non-free firmware support. Thus, I've voted &lt;strong&gt;all&lt;/strong&gt; of
the options that do that above NOTA. On those terms, I don't like
Choice 4 here - IMHO it leaves us in the same unclear situation as
before.&lt;/p&gt;

&lt;p&gt;I'd be happy for us to update the Social Contract for clarity, and
I know some people would be much more comfortable if we do that
explicitly here. Choice 1 was my initial personal preference as we
started the GR, but since then I've been convinced that also updating
the SC would be a good idea, hence Choice 5.&lt;/p&gt;

&lt;p&gt;I'd also rather have a single image / set of images produced, for
the two reasons I've outlined before. It's less work for our images
team to build and test all the options. But, &lt;strong&gt;much&lt;/strong&gt;
more importantly: I believe it's less likely to confuse new users.&lt;/p&gt;

&lt;p&gt;I appreciate that not everybody agrees with me here, and this is
part of the reason why we're voting!&lt;/p&gt;

&lt;p&gt;Other Debian people have also blogged about their voting choices
(&lt;a href=&quot;https://gwolf.org/2022/09/6237415.html&quot;&gt;Gunnar Wolf&lt;/a&gt; and
&lt;a href=&quot;https://diziet.dreamwidth.org/12581.html&quot;&gt;Ian Jackson&lt;/a&gt; so
far), and I thank them for sharing their reasoning too.&lt;/p&gt;

&lt;p&gt;For the avoidance of doubt: my goal for this vote was simply to get
a clear direction on how to proceed here. Although I proposed Choice 1
(&lt;em&gt;Only one installer, including non-free firmware&lt;/em&gt;), I also
seconded several of the other ballot options. Of course I will accept
the will of the project when the result is announced - I'm not going
to do anything silly like throw a tantrum or quit the project over
this!&lt;/p&gt;

&lt;h2&gt;Finally&lt;/h2&gt;

&lt;p&gt;If you're a DD and you haven't voted already, please do so - this
is an important choice for the Debian project.&lt;/p&gt;</description>
  </item>
  <item>
    <title>Firmware - what are we going to do about it?</title>
    <pubDate>Tue, 19 Apr 2022 01:24:00 +0100</pubDate>
    <link>https://blog.einval.com/2022/04/19#firmware-what-do-we-do</link>
    <description>
&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;: firmware support in Debian sucks, and we need to change
this. See the &quot;My preference, and rationale&quot; Section below.&lt;/p&gt;

&lt;p&gt;In my opinion, the way we deal with (non-free) firmware in Debian is a
mess, and this is hurting many of our users daily. For a long time
we've been pretending that supporting and including (non-free)
firmware on Debian systems is not necessary. We don't &lt;em&gt;want&lt;/em&gt; to have
to provide (non-free) firmware to our users, and in an ideal world we
wouldn't need to. However, it's very clearly no longer a sensible path
when trying to support lots of common current hardware.&lt;/p&gt;

&lt;h2&gt;Background - why has (non-free) firmware become an issue?&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Firmware&lt;/strong&gt; is the low-level software that's designed to make
hardware devices work. Firmware is tightly coupled to the hardware,
exposing its features, providing higher-level functionality and
interfaces for other software to use. For a variety of reasons, it's
typically &lt;strong&gt;not&lt;/strong&gt; Free Software.&lt;/p&gt;

&lt;p&gt;For Debian's purposes, we typically separate &lt;strong&gt;firmware&lt;/strong&gt; from
&lt;strong&gt;software&lt;/strong&gt; by considering where the code executes (does it run on a
separate processor? Is it visible to the host OS?) but it can be
difficult to define a single reliable dividing line here. Consider the
Intel/AMD CPU microcode packages, or the U-Boot firmware packages as
examples.&lt;/p&gt;

&lt;p&gt;In times past, all necessary firmware would normally be included
directly in devices / expansion cards by their vendors. Over time,
however, it has become more and more attractive (and therefore more
common) for device manufacturers to &lt;strong&gt;not&lt;/strong&gt; include complete firmware
on all devices. Instead, some devices just embed a very &lt;strong&gt;simple&lt;/strong&gt; set
of firmware that allows for upload of a more complete firmware &quot;blob&quot;
into memory. Device drivers are then expected to provide that blob
during device initialisation.&lt;/p&gt;

&lt;p&gt;There are a couple of key drivers for this change:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Cost: it's typically cheaper to fit smaller flash memory (or no
flash at all) onto a device. The cost difference may seem small in
many cases, but reducing the bill of materials (BOM) even by a few
cents can make a substantial difference to the economics of a
product. For most vendors, they will have to implement device
drivers &lt;em&gt;anyway&lt;/em&gt; and it's not difficult to include firmware in that
driver.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Flexibility: it's much easier to change the behaviour of a device by
simply changing to a different blob. This can potentially cover lots
of different use cases:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;separating deadlines for hardware and software in manufacturing
(drivers and firmware can be written and shipped later);&lt;/li&gt;
&lt;li&gt;bug fixes and security updates (e.g. CPU microcode changes);&lt;/li&gt;
&lt;li&gt;changing configuration of a device for different users or products
(e.g. potentially different firmware to enable different
frequencies on a radio product);&lt;/li&gt;
&lt;li&gt;changing fundamental device operation (e.g. switching between RAID
and JBOD functionality on a disk controller).&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Due to these reasons, more and more devices in a typical computer now
need firmware to be uploaded at runtime for them to function
correctly. This has grown:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Going back 10 years or so, most computers only needed firmware
uploads to make WiFi hardware work.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A growing number of wired network adapters now demand firmware
uploads. Some will work in a limited way but depend on extra
firmware to allow advanced features like TCP segmentation offload
(TSO). Others will refuse to work at all without a firmware upload.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;More and more graphics adapters now also want firmware uploads to
provide any non-basic functions. A simple basic (S)VGA-compatible
framebuffer is not enough for most users these days; modern desktops
expect 3D acceleration, and a lot of current hardware will not
provide that without extra firmware.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Current generations of common Intel-based laptops also need firmware
uploads to make audio work (see the firmware-sof-signed package).&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At the beginning of this timeline, a typical Debian user would be able
to use almost all of their computer's hardware without needing any
firmware blobs. It might have been inconvenient to not be able to use
the WiFi, but most laptops had wired ethernet anyway. The WiFi could
always be enabled and configured after installation.&lt;/p&gt;

&lt;p&gt;Today, a user with a new laptop from &lt;strong&gt;most&lt;/strong&gt; vendors will struggle to
use it at all with our firmware-free Debian installation media. Modern
laptops normally don't come with wired ethernet now. There won't be
any usable graphics on the laptop's screen. A visually-impaired user
won't get any audio prompts. These experiences are not acceptable, by
any measure. There &lt;strong&gt;are&lt;/strong&gt; new computers still available for purchase
today which don't need firmware to be uploaded, but they are growing
less and less common.&lt;/p&gt;

&lt;h2&gt;Current state of firmware in Debian&lt;/h2&gt;

&lt;p&gt;For clarity: obviously &lt;strong&gt;not&lt;/strong&gt; all devices need extra firmware
uploading like this. There are many devices that depend on firmware
for operation, but we never have to think about them in normal
circumstances. The code is not likely to be Free Software, but it's
not something that we in Debian must spend our time on as we're not
&lt;strong&gt;distributing&lt;/strong&gt; that code ourselves. Our problems come when our user
needs extra firmware to make their computer work, and they need/expect
us to provide it.&lt;/p&gt;

&lt;p&gt;We have a small set of Free firmware binaries included in Debian main,
and these are included on our installation and live media. This is
great - we all love Free Software and this works.&lt;/p&gt;

&lt;p&gt;However, there are many more firmware binaries that are &lt;strong&gt;not&lt;/strong&gt;
Free. If we are legally able to redistribute those binaries, we
package them up and include them in the &lt;strong&gt;non-free&lt;/strong&gt; section of the
archive. As Free Software developers, we don't &lt;strong&gt;like&lt;/strong&gt; providing or
supporting non-free software for our users, but we acknowledge that
it's sometimes a necessary thing for them. This tension is
acknowledged in the Debian Free Software Guidelines.&lt;/p&gt;

&lt;p&gt;This tension extends to our installation and live media. As non-free
is officially &lt;strong&gt;not&lt;/strong&gt; considered part of Debian, our &lt;strong&gt;official&lt;/strong&gt;
media cannot include anything from non-free. This has been a
deliberate policy for many years. Instead, we have for some time been
building a limited parallel set of &quot;unofficial non-free&quot; images which
include non-free firmware. These non-free images are produced by the
same software that we use for the official images, and by the same
team.&lt;/p&gt;

&lt;p&gt;There are a number of issues here that make developers and users
unhappy:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Building, testing and publishing two sets of images takes more
effort.&lt;/li&gt;
&lt;li&gt;We don't really want to be providing non-free images at all, from a
philosophy point of view. So we &lt;strong&gt;mainly&lt;/strong&gt; promote and advertise
the preferred official free images. That can be a cause of
confusion for users. We do link to the non-free images in various
places, but they're not so easy to find.&lt;/li&gt;
&lt;li&gt;Using non-free installation media will cause more installations to
use non-free software by default. That's not a great story for us,
and we may end up with more of our users using non-free software
and believing that it's all part of Debian.&lt;/li&gt;
&lt;li&gt;A number of users and developers complain that we're wasting their
time by publishing official images that are just not useful for a
lot (a majority?) of users.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;We should do better than this.&lt;/p&gt;

&lt;h2&gt;Options&lt;/h2&gt;

&lt;p&gt;The status quo is a &lt;strong&gt;mess&lt;/strong&gt;, and I believe we can and should do
things differently.&lt;/p&gt;

&lt;p&gt;I see several possible options that the images team can choose from
here. However, several of these options could undermine the principles
of Debian. We don't &lt;strong&gt;want&lt;/strong&gt; to make fundamental changes like that
without the clear backing of the wider project. That's why I'm writing
this...&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Keep the existing setup. It's horrible, but maybe it's the best we
can do? (I hope not!)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;We could just stop providing the non-free unofficial images
altogether. That's not really a promising route to follow - we'd be
making it even harder for users to install our software. While
ideologically pure, it's not going to advance the cause of Free
Software.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;We could stop pretending that the non-free images are unofficial,
and maybe move them alongside the normal free images so they're
published together. This would make them easier to find for people
that need them, but is likely to cause users to question why we
still make any images &lt;strong&gt;without&lt;/strong&gt; firmware if they're otherwise
identical.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The images team technically &lt;strong&gt;could&lt;/strong&gt; simply include non-free into
the official images, and add firmware packages to the input lists
for those images. However, that would still leave us with problem 3
from above (non-free generally enabled on most installations).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;We &lt;strong&gt;could&lt;/strong&gt; split out the non-free firmware packages into a new
&lt;strong&gt;non-free-firmware&lt;/strong&gt; component in the archive, and allow a
specific exception &lt;strong&gt;only&lt;/strong&gt; to allow inclusion of those packages on
our official media. We would then generate only one set of official
media, including those non-free firmware packages.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;(We've already seen various suggestions in recent years to split
up the non-free component of the archive like this, for example
into non-free-firmware, non-free-doc, non-free-drivers,
etc. Disagreement (bike-shedding?) about the split caused us to not
make any progress on this. I believe this project should be picked
up and completed. We &lt;strong&gt;don't&lt;/strong&gt; have to make a perfect solution here
immediately, just something that works well enough for our needs
today. We can always tweak and improve the setup incrementally if
that's needed.)&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;These are the most likely possible options, in my opinion. If you have
a better suggestion, please let us know!&lt;/p&gt;

&lt;p&gt;I'd like to take this set of options to a GR, and do it soon. I want
to get a clear decision from the wider Debian project as to how to
organise firmware and installation images. If we do end up changing
how we do things, I want a clear mandate from the project to do that.&lt;/p&gt;

&lt;h2&gt;My preference, and rationale&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Mainly&lt;/strong&gt;, I want to see how the project as a whole feels here - this
is a big issue that we're overdue solving.&lt;/p&gt;

&lt;p&gt;What would &lt;strong&gt;I&lt;/strong&gt; choose to do? My personal preference would be to go
with option 5: split the non-free firmware into a special new
component and include that on official media.&lt;/p&gt;

&lt;p&gt;Does that make me a sellout? I don't &lt;strong&gt;think&lt;/strong&gt; so. I've been
passionately supporting and developing Free Software for more than
half my life. My philosophy here has not changed. However, this is a
complex and nuanced situation. I firmly believe that sharing software
freedom with our users comes with a responsibility to &lt;strong&gt;also&lt;/strong&gt; make
our software useful. If users can't easily install and use Debian,
that helps nobody.&lt;/p&gt;

&lt;p&gt;By splitting things out here, we would enable users to install and use
Debian on their hardware, &lt;strong&gt;without&lt;/strong&gt; promoting/pushing higher-level
non-free software in general. I think that's a reasonable compromise.
This is simply a change to recognise that hardware requirements have
moved on over the years.&lt;/p&gt;

&lt;h2&gt;Further work&lt;/h2&gt;

&lt;p&gt;If we do go with the changes in option 5, there are other things we
could do here for better control of and information about non-free
firmware:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Along with adding non-free firmware onto media, when the installer
(or live image) runs, we should make it clear exactly &lt;strong&gt;which&lt;/strong&gt;
firmware packages have been used/installed to support detected
hardware. We could link to docs about each, and maybe also to
projects working on Free re-implementations.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Add an option at boot to explicitly disable the use of the non-free
firmware packages, so that users can choose to avoid them.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;Acknowledgements&lt;/h2&gt;

&lt;p&gt;Thanks to people who reviewed earlier versions of this document and/or
made suggestions for improvement, in particular:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cyril Brulebois&lt;/li&gt;
&lt;li&gt;Matthew Garrett&lt;/li&gt;
&lt;li&gt;David Leggett&lt;/li&gt;
&lt;li&gt;Martin Michlmayr&lt;/li&gt;
&lt;li&gt;Andy Simpkins&lt;/li&gt;
&lt;li&gt;Neil Williams&lt;/li&gt;
&lt;/ul&gt;</description>
  </item>
  <item>
    <title>Interesting times, and a new job!</title>
    <pubDate>Thu, 04 Jun 2020 18:22:00 +0100</pubDate>
    <link>https://blog.einval.com/2020/06/04#pexip-start</link>
    <description>
&lt;p&gt;It's (yet again!) been a while since I blogged last, sorry...&lt;/p&gt;

&lt;p&gt;It's been over ten years since I started
in &lt;a href=&quot;https://www.arm.com/&quot;&gt;Arm&lt;/a&gt;, and nine since I joined
&lt;a href=&quot;https://www.linaro.org&quot;&gt;Linaro&lt;/a&gt; as an assignee. It was
wonderful working with some excellent people in both companies, but around
the end of last year I started to think that it might be time to look
for something new and different. As is the usual way in Cambridge, I
ended up mentioning this to friends and things happened!&lt;/p&gt;

&lt;p&gt;After discussions with a few companies, I decided to accept an
interesting-looking offer from a Norwegian company called &lt;a
href=&quot;https://www.pexip.com/&quot;&gt;Pexip&lt;/a&gt;. My good friend &lt;a
href=&quot;http://vincentsanders.blogspot.com/&quot;&gt;Vince&lt;/a&gt; had been raving
for a while about how much he enjoyed his job there, which was a very
good sign! He works from his home near Cambridge, and they were very
happy to take me on in a similar way. There will be occasional trips
to the UK office near Reading, or to the Norway HQ in Oslo. But most
of the time I'll be working in my home office with all the home
comforts and occasionally even an office dog!&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://photos.einval.com/gallery/Pepper/acc&quot;&gt;&lt;img
alt=&quot;Pepper and a laptop!&quot;
src=&quot;https://photos.einval.com/albums/Pepper/acc.sized.jpg&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As is common in the UK for senior staff, I had to give 3 months
notice with my resignation. When I told my boss in Arm
&lt;strong&gt;way&lt;/strong&gt; way back in February that I had decided to leave,
I planned for a couple of weeks of down-time in between jobs. Perfect
timing! The third week of May in Cambridge is the summer Beer
Festival, and my birthday is the week after. All was looking good!&lt;/p&gt;

&lt;p&gt;Then the world &lt;em&gt;broke...&lt;/em&gt; :-(&lt;/p&gt;

&lt;p&gt;As the &quot;novel coronavirus&quot; swept the world, countries closed down
and normal life all-but disappeared for many. I acknowledge I'm very
lucky here - I'm employed as a software engineer. I can effectively
work from home, and indeed I was already in the habit of doing that
anyway. Many people are not so fortunate. :-/ In this period, I've
heard of some people in the middle of job moves where their new
company have struggled and the new job has gone away. Thankfully,
Pexip have continued to grow during this time and were still very keen
to have me. I finally started this week!&lt;/p&gt;

&lt;p&gt;So, what does Pexip do? The company develops and supplies a video
conferencing platform, mainly targeting large enterprise customers. We
have some really awesome technology, garnering great reviews from
customers all over the world. See the &lt;a
href=&quot;https://www.pexip.com/&quot;&gt;website&lt;/a&gt; for more information!&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;Pexip logo&quot;
src=&quot;https://www.einval.com/~steve/images/pexip_logo.png&quot;&gt;&lt;/p&gt;

&lt;p&gt;Where do I fit in? Pexip is a relatively small company with a very
flat setup in engineering, so that's a difficult question to answer!
I'll be starting working in the team developing and maintaining PexOS,
the small Linux-based platform on which other things depend. (No
prizes for guessing which distro it's based on!) But there's lots of
scope to get involved in all kinds of other areas as needs and
interests arise. I can't wait to get stuck in!&lt;/p&gt;

&lt;p&gt;Although I'm no longer going to be working on Debian arm port
issues on work time, I'm still planning to help where I can. Let's see
how that works...&lt;/p&gt;</description>
  </item>
  <item>
    <title>What can you preseed when installing Debian?</title>
    <pubDate>Thu, 04 Jun 2020 17:53:00 +0100</pubDate>
    <link>https://blog.einval.com/2020/06/04#what_can_you_preseed</link>
    <description>
&lt;p&gt;Preseeding is a very useful way of installing and pre-configuring a
Debian system in one go. You simply supply lots of the settings that
your new system will need up front, in a &lt;strong&gt;preseed&lt;/strong&gt;
file. The installer will use those settings instead of asking
questions, and it will also pass on any extra settings via the debconf
database so that any further package setup will use them.&lt;/p&gt;

&lt;p&gt;There is documentation about how to do this in the Debian wiki
at &lt;a href=&quot;https://wiki.debian.org/DebianInstaller/Preseed&quot;&gt;https://wiki.debian.org/DebianInstaller/Preseed&lt;/a&gt;,
and an example preseed file for our current stable release (Debian 10,
&quot;buster&quot;) in
the &lt;a href=&quot;https://www.debian.org/releases/buster/amd64/apb.en.html&quot;&gt;release
    notes&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;One complaint I've heard is that it can be difficult to work out
exactly the right data to use in a preseed file, as the format is not
the easiest to work with by hand. It's also difficult to find
exactly &lt;strong&gt;what&lt;/strong&gt; settings can be changed in a
preseed.&lt;/p&gt;

&lt;p&gt;So, I've written a script to parse all the debconf templates in
each release in the Debian archive and dump all the possible settings
in each. I've put the results up online at
my &lt;a href=&quot;https://preseed.debian.net/&quot;&gt;debian-preseed&lt;/a&gt; site in
case it's useful. The data will be updated daily as needed to make
sure it's current.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Updated June 2020&lt;/strong&gt; - changed the URL for the
preseed site now I have a domain set up
at &lt;a href=&quot;https://preseed.debian.net/&quot;&gt;https://preseed.debian.net/&lt;/a&gt;.&lt;/p&gt;</description>
  </item>
  <item>
    <title>Presenting guest lectures at the University of Lincoln, January 2020</title>
    <pubDate>Thu, 30 Jan 2020 02:00:00 +0100</pubDate>
    <link>https://blog.einval.com/2020/01/30#Lincoln2020</link>
    <description>
&lt;p&gt;&lt;a href=&quot;https://staff.lincoln.ac.uk/4311dbb7-1b10-4844-bba9-20f527168e7b&quot;&gt;Dr
Charles Fox&lt;/a&gt; from the University of Lincoln contacted me out of the
blue back in September. He asked me if I would give a couple of guest
lectures to his Computer Science students. I was deeply flattered! I
took him up on his invitation, and on Tuesday 28th Jan I headed up to
visit him and the TSE students.&lt;/p&gt;

&lt;p&gt;My first talk was to provide background on Free and Open Source
Software. I started with the history of software in the 1950s, working
forwards through the events that sparked the FLOSS movement. I spoke
about the philosophical similarities and differences between Free
Software and Open Source, and how FLOSS has grown to a state of
near-ubiquity. Several of the students are already involved in some
existing FLOSS projects, so I was clearly preaching to the choir! I
hope I managed to interest the rest of the audience too; I certainly
had a warm welcome! Slides
are &lt;a href=&quot;https://www.einval.com/~steve/talks/Lincoln-2020-free-software-open-source/&quot;&gt;here&lt;/a&gt;,
for reference.&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;Steve talking about Free Software&quot;
src=&quot;https://www.einval.com/~steve/photos/steve_lincoln_floss.jpg&quot;&gt;&lt;/p&gt;

&lt;p&gt;Next up was my specialist subject: Debian! I gave a brief
introduction to Debian, covering what we do, how we do it, and why we
do it. I covered important things like our Social Contract and the
DFSG, and how Debian's thousands of contributors work together to
package many thousands of disparate software projects into the large,
stable Debian operating system that we all know and love. I was even
brave enough to give a brief demo, showing a simple package update for
a bug I'd prepared earlier! Slides
are &lt;a href=&quot;https://www.einval.com/~steve/talks/Lincoln-2020-debian/&quot;&gt;here&lt;/a&gt;,
for reference.&lt;/p&gt;

&lt;p&gt;In both talks, I was keen to point out the many good reasons for
contributors to get into the FLOSS world, using my own personal
experience as a guide. I've been working in this world for many years,
and it's been a very important part of my life and career.&lt;/p&gt;

&lt;p&gt;After lunch and some fun conversation with Charles and some of his
students, I was given the grand tour of the department. Charles is
working with a large group of people doing research in agricultural
robotics and autonomous vehicles. I got to see lots of interesting
projects and meet lots of cool people from amongst his students and
colleagues. They're doing some amazing work on things that might soon
be key in making agriculture more efficient: autonomous systems to
identify and automatically remove weeds from wheat fields, to robotic
systems designed to help with growing, monitoring and harvesting soft
fruit like strawberries. Totally outside my field, but it was
fascinating stuff!&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;Steve visiting the research group&quot;
src=&quot;https://www.einval.com/~steve/photos/steve_lincoln_research.jpg&quot;&gt;&lt;/p&gt;

&lt;p&gt;I had a fun day in Lincoln, talking to lots of people and hopefully
spreading enthusiasm for FLOSS and Debian in particular. Charles and I
chatted about how his students might get involved in our world. You
might get to meet some of them at upcoming Debian events!&lt;/p&gt;
</description>
  </item>
  <item>
    <title>If you can't stand the heat, get out of the kitchen...</title>
    <pubDate>Wed, 28 Aug 2019 21:17:00 +0100</pubDate>
    <link>https://blog.einval.com/2019/08/28#2019party</link>
    <description>
&lt;p&gt;Wow, we had a hot weekend in Cambridge. About 40 people turned up
to our place in Cambridge for this
year's &lt;a href=&quot;http://wiki.earth.li/DebianParty2019&quot;&gt;OMGWTFBBQ&lt;/a&gt;. Last
year we were huddling under the gazebos for shelter from torrential
rain; this year we again had all the gazebos up, but this time to hide
from the sun instead. We saw temperatures well into the 30s, which is
silly for Cambridge at the end of August.&lt;/p&gt;

&lt;p&gt;I think it's fair to say that everybody enjoyed themselves despite
the ludicrous heat levels. We had folks from all over the UK, and Lars
and Soile travelled all the way from Helsinki in Finland to help him
celebrate his birthday!&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;cake!&quot;
src=&quot;https://www.einval.com/~steve/photos/lars_birthday&quot;&gt;&lt;/p&gt;

&lt;p&gt;We had a selection of beers again from the nice folks at Milton
Brewery:&lt;br&gt;
&lt;img alt=&quot;is 3 firkins enough?&quot;
src=&quot;https://www.einval.com/~steve/photos/2019_beer.jpg&quot;&gt;&lt;/p&gt;

&lt;p&gt;Lars made pancakes, Paul made bread, and people brought lots of
nice food and drink with them too.&lt;/p&gt;

&lt;p&gt;Many thanks to a number of awesome friendly companies for again
sponsoring the important refreshments for the weekend. It's
hungry/thirsty work celebrating like this!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mythic-beasts.com/&quot;&gt;Mythic Beasts&lt;/a&gt; covered
  some of the beer costs
&lt;li&gt;&lt;a href=&quot;http://www.collabora.com/&quot;&gt;Collabora&lt;/a&gt; paid for food
  and drink
&lt;li&gt;&lt;a href=&quot;http://www.codethink.co.uk/&quot;&gt;Codethink&lt;/a&gt; paid for food
  and drink
&lt;/ul&gt;
</description>
  </item>
  <item>
    <title>DebConf in Brazil again!</title>
    <pubDate>Sat, 10 Aug 2019 19:33:00 +0100</pubDate>
    <link>https://blog.einval.com/2019/08/10#debconf19</link>
    <description>
&lt;p&gt;&lt;img src=&quot;https://photos.einval.com/albums/dc19_conf/aac.sized.jpg&quot;
alt=&quot;Highvoltage and me&quot;&gt;&lt;/p&gt;

&lt;p&gt;I was lucky enough to meet up with my extended Debian family again
this year. We went back to Brazil for the first time since 2004, this
time in Curitiba. And this time I didn't lose anybody's clothes!
:-)&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://photos.einval.com/albums/dc19_conf/aaa.sized.jpg&quot;
alt=&quot;Rhonda modelling our diversity T!&quot;&gt;&lt;/p&gt;

&lt;p&gt;I had a very busy time, as usual - lots of sessions to take part
in, and lots of conversations with people from all over. As part of
the Community Team (ex-AH Team), I had a lot of things to catch up on
too, and a sprint report to send. Despite all that, I even managed to
do some technical things too!&lt;p&gt;

&lt;p&gt;I ran sessions about UEFI Secure Boot, the Arm ports and the
Community Team. I was meant to be running a session for the web team
too, but the dreaded DebConf 'flu took me out for a day. It's
traditional - bring hundreds of people together from all over the
world, mix them up with too much alcohol and not enough sleep and many
people get ill... :-( Once I'm back from vacation, I'll be doing my
usual task of sending session summaries to the Debian mailing lists to
describe what happened in my sessions.&lt;/p&gt;

&lt;p&gt;Maddog showed a group of us round the micro-brewery
at &lt;a href=&quot;http://www.hopnroll.com.br/&quot;&gt;Hop'n'Roll&lt;/a&gt; which was
extra fun. I'm sure I wasn't the only experienced guy there, but it's
always nice to listen to geeky people talking about their passion.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://photos.einval.com/albums/dc19_misc/aag.sized.jpg&quot;
alt=&quot;Small group at Hop'n'Roll&quot;&gt;&lt;/p&gt;

&lt;p&gt;Of course, I could't get to all the sessions I wanted to - there's
just too many things going on in DebConf week, and sessions clash at
the best of times. So I have a load of videos on my laptop to watch
while I'm away. Heartfelt thanks to our always-awesome video team for
their efforts to make that possible. And I know that I had at least
one follower at home watching the live streams too!

&lt;p&gt;&lt;img src=&quot;https://photos.einval.com/albums/Pepper/acm.sized.jpg&quot;
alt=&quot;Pepper watching the Arm BoF&quot;&gt;&lt;/p&gt;</description>
  </item>
  <item>
    <title>Debian BSP in Cambridge, 08 - 10 March 2019</title>
    <pubDate>Tue, 12 Mar 2019 03:08:00 +0100</pubDate>
    <link>https://blog.einval.com/2019/03/12#2019_Cambridge</link>
    <description>
&lt;p&gt;Lots of snacks, lots of discusssion, lots of bugs fixed!
YA &lt;a href=&quot;https://wiki.debian.org/BSP/2019/03/gb/Cambridge&quot;&gt;BSP&lt;/a&gt;
at my place.&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;&lt;a
href=&quot;https://photos.einval.com/gallery/2019_cambridge_bsp/aaa&quot;&gt;&lt;img alt
=&quot;BSP&quot;
src=&quot;https://photos.einval.com/albums/2019_cambridge_bsp/aaa.sized.jpg&quot;&gt;&lt;/a&gt;
&lt;/p&gt;
</description>
  </item>
  <item>
    <title>Rebuilding the entire Debian archive twice on arm64 hardware for fun and profit</title>
    <pubDate>Mon, 07 Jan 2019 13:57:00 +0100</pubDate>
    <link>https://blog.einval.com/2019/01/07#rebuilding_on_arm64</link>
    <description>
&lt;p&gt;&lt;i&gt;I've posted this analysis
to &lt;a href=&quot;https://lists.debian.org/debian-arm/2019/01/msg00000.html&quot;&gt;Debian
mailing lists&lt;/a&gt; already, but I'm thinking it's also useful as a blog
post too. I've also fixed a few typos and added a few more details
that people have suggested.&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;This has taken a while in coming, for which I apologise. There's a
lot of work involved in rebuilding the whole Debian archive,
and &lt;strong&gt;many&lt;/strong&gt; days spent analysing the results. You learn
quite a lot, too! :-)&lt;/p&gt;

&lt;p&gt;I promised way back before DebConf 18 last August that I'd publish
the results of the rebuilds that I'd just started. Here they are,
after a few false starts. I've been rebuilding the archive
&lt;strong&gt;specifically&lt;/strong&gt; to check if we would have any problems building
our 32-bit Arm ports (armel and armhf) using 64-bit arm64 hardware. I
might have found other issues too, but that was my goal.&lt;/p&gt;

&lt;p&gt;The logs for all my builds are online at&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&lt;a href=&quot;https://www.einval.com/debian/arm/rebuild-logs/&quot;&gt;https://www.einval.com/debian/arm/rebuild-logs/&lt;/a&gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;for reference. See in particular&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.einval.com/debian/arm/rebuild-logs/armel/FAIL/FAIL.html&quot;&gt;https://www.einval.com/debian/arm/rebuild-logs/armel/FAIL/FAIL.html&lt;/a&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.einval.com/debian/arm/rebuild-logs/armhf/FAIL/FAIL.html&quot;&gt;https://www.einval.com/debian/arm/rebuild-logs/armhf/FAIL/FAIL.html&lt;/a&gt;
&lt;/ul&gt;

&lt;p&gt;for automated analysis of the build logs that I've used as the basis
for the stats below.&lt;/p&gt;

&lt;h2&gt;Executive summary&lt;/h2&gt;

&lt;p&gt;As far as I can see we're basically fine to use arm64 hosts for
building armel and armhf, &lt;strong&gt;so long as&lt;/strong&gt; those hosts
include hardware support for the 32-bit A32 instruction set. As
I've &lt;a href=&quot;https://lists.debian.org/debian-arm/2018/06/msg00062.html&quot;&gt;mentioned
before&lt;/a&gt;, that's not a given on &lt;strong&gt;all&lt;/strong&gt; arm64 machines,
but there are sufficient machine types available that I think we
should be fine. There are a couple of things we need to do in terms of
setup - see &lt;a href=&quot;#machine-configuration&quot;&gt;Machine configuration&lt;/a&gt;
below.&lt;/p&gt;

&lt;h2&gt;Methodology&lt;/h2&gt;

&lt;p&gt;I (naively) just attempted to rebuild all the source packages in
unstable main, at first using pbuilder to control the build process
and then later using sbuild instead. I didn't think to check on the
stated architectures listed for the source packages, which was a
mistake - I would do it differently if redoing this test. That will
have contributed quite a large number of failures in the stats below,
but I believe I have accounted for them in my analysis.&lt;/p&gt;

I built lots of packages, using a range of machines in a small build
farm at home:

&lt;ul&gt;
  &lt;li&gt; Macchiatobin
  &lt;li&gt; Seattle
  &lt;li&gt; Synquacer
  &lt;li&gt; Multiple Mustangs
&lt;/ul&gt;

&lt;p&gt;using my local mirror for improved performance when fetching
build-deps etc. I started off with a fixed list of packages that were
in unstable when I started each rebuild, for the sake of
simplicity. That's one reason why I have two different numbers of
source packages attempted for each arch below. If packages failed due
to no longer being available, I simply re-queued using the latest
version in unstable at that point.&lt;/p&gt;

&lt;p&gt;I then developed a script to scan the logs of failed builds to pick
up on patterns that matched with obvious causes. Once that was done, I
worked through all the failures to (a) verify those patterns, and (b)
identify any other failures. I've classified many of the failures to
make sense of the results. I've also scanned the Debian BTS for
existing bugs matching my failed builds (and linked to them), or filed
new bugs where I could not find matches.&lt;/p&gt;

&lt;p&gt;I did &lt;strong&gt;not&lt;/strong&gt; investigate fully every build
failure. For example, where a package has never been built before on
armel or armhf and failed here I simply noted that fact. Many of those
are probably real bugs, but beyond the scope of my testing.&lt;/p&gt;

&lt;p&gt;For reference, all my scripts and config are in git at&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&lt;a href=&quot;https://git.einval.com/cgi-bin/gitweb.cgi?p=buildd-scripts.git&quot;&gt;https://git.einval.com/cgi-bin/gitweb.cgi?p=buildd-scripts.git&lt;/a&gt;&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;armel results&lt;/h2&gt;

&lt;table&gt;
&lt;tr&gt;
  &lt;td&gt;&lt;b&gt;Total source packages attempted&lt;/b&gt;&lt;/td&gt;
  &lt;td align=&quot;right&quot;&gt;28457&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td&gt;&lt;b&gt;Successfully built&lt;/b&gt;&lt;/td&gt;
  &lt;td align=&quot;right&quot;&gt;25827&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td&gt;&lt;b&gt;Failed&lt;/b&gt;&lt;/td&gt;
  &lt;td align=&quot;right&quot;&gt;2630&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;Almost half of the failed builds were simply due to the lack of a
single desired build dependency
(&lt;a href=&quot;https://tracker.debian.org/nodejs&quot;&lt;/a&gt;nodejs:armel&lt;/a&gt;,
1289). There were a smattering of other notable causes:&lt;/p&gt;

&lt;ul&gt;

  &lt;li&gt;&lt;b&gt;100 log(s) showing build failures (java/javadoc)&lt;/b&gt;&lt;br&gt;

  Java build failures seem particularly opaque (to me!), and in many
  cases I couldn't ascertain if it was a real build problem or just
  maven being flaky. :-(

  &lt;li&gt;&lt;b&gt;15 log(s) showing Go 32-bit integer overflow&lt;/b&gt;&lt;br&gt;

  Quite a number of go packages are blindly assuming sizes for 64-bit
  hosts. That's probably fair, but seems unfortunate.

  &lt;li&gt;&lt;b&gt;8 log(s) showing Sbuild build timeout&lt;/b&gt;&lt;br&gt;

  I was using quite a generous timeout (12h) with sbuild, but still a
  very small number of packages failed. I'd earlier abandoned pbuilder
  for sbuild as I could not get it to behave sensibly with timeouts.

&lt;/ul&gt;

The stats that matter are the arch-specific failures for armel:

&lt;ul&gt;
   &lt;li&gt; 13 log(s) showing Alignment problem
   &lt;li&gt; 5 log(s) showing Segmentation fault
   &lt;li&gt; 1 log showing Illegal instruction
&lt;/ul&gt;

and the new bugs I filed:

&lt;ul&gt;
   &lt;li&gt; 3 bugs for arch misdetection
   &lt;li&gt; 8 bugs for alignment problems
   &lt;li&gt; 4 bugs for arch-specific test failures
   &lt;li&gt; 3 bugs for arch-specific misc failures
&lt;/ul&gt;

&lt;p&gt;Considering the number of package builds here, I think these
numbers are basically &quot;lost in the noise&quot;. I have found so few issues
that we should just go ahead. The vast majority of the failures I
found were either already known in the BTS (260), unrelated to what I
was looking for, or both.&lt;/p&gt;

&lt;p&gt;See &lt;a href=&quot;#machine-configuration&quot;&gt;below&lt;/a&gt; for more details
about build host configuration for armel builds.&lt;/p&gt;

&lt;h2&gt;armhf results&lt;/h2&gt;

&lt;table&gt;
&lt;tr&gt;
  &lt;td&gt;&lt;b&gt;Total source packages attempted&lt;/b&gt;&lt;/td&gt;
  &lt;td align=&quot;right&quot;&gt;28056&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td&gt;&lt;b&gt;Successfully built&lt;/b&gt;&lt;/td&gt;
  &lt;td align=&quot;right&quot;&gt;26772&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td&gt;&lt;b&gt;Failed&lt;/b&gt;&lt;/td&gt;
  &lt;td align=&quot;right&quot;&gt;1284&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;&lt;b&gt;FTAOD&lt;/b&gt;: I attempted fewer package builds for armhf as we
simply had a smaller number of packages when I started that rebuild. A
few weeks later, it seems we had a few hundred more source packages
for the armel rebuild.&lt;/p&gt;

&lt;p&gt;The armhf rebuild showed broadly the same percentage of failures,
if you take into account the nodejs difference - it exists in the
armhf archive, so many hundreds more packages could build using
it.&lt;/p&gt;

&lt;p&gt;In a similar vein for notable failures:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;b&gt;89 log(s) showing build failures (java/javadoc)&lt;/b&gt;&lt;br&gt;

  Similar problems, I guess...

  &lt;li&gt;&lt;b&gt;15 log(s) showing Go 32-bit integer overflow&lt;/b&gt;&lt;br&gt;

  That's the same as for armel, I'm assuming (without checking!) that
  they're the same packages.

  &lt;li&gt;&lt;b&gt;4 log(s) showing Sbuild build timeout&lt;/b&gt;&lt;br&gt;

  Only 4 timeouts compared to the 8 for armel. &lt;strong&gt;Maybe&lt;/strong&gt;
  a sign that armhf will be slightly quicker in build time, so less
  likely to hit a timeout? Total guesswork on small-number stats! :-)
&lt;/ul&gt;

&lt;p&gt;Arch-specific failures found for armhf:&lt;/p&gt;

&lt;ul&gt;
   &lt;li&gt; 11 log(s) showing Alignment problem
   &lt;li&gt; 4 log(s) showing Segmentation fault
   &lt;li&gt; 1 log(s) showing Illegal instruction
&lt;/ul&gt;

&lt;p&gt;and the new bugs I filed:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt; 1 bugs for arch misdetection
  &lt;li&gt; 8 bugs for alignment problems
  &lt;li&gt; 10 bugs for arch-specific test failures
  &lt;li&gt; 3 bugs for arch-specific misc failures
&lt;/ul&gt;

&lt;p&gt;Again, these small numbers tell me that we're fine. I liked to 139
existing bugs in the BTS here.&lt;/p&gt;

&lt;a name=&quot;machine-configuration&quot;&gt;
&lt;h2&gt;Machine configuration&lt;/h2&gt;

&lt;p&gt;To be able to support 32-bit builds on arm64 hardware, there are a
few specific hardware support issues to consider.&lt;/p&gt;

&lt;h3&gt;Alignment&lt;/h3&gt;

&lt;p&gt;Our 32-bit Arm kernels are configured to fix up userspace alignment
faults, which hides lazy programming at the cost of a (sometimes
massive) slowdown in performance when this fixup is triggered. The
arm64 kernel &lt;strong&gt;cannot&lt;/strong&gt; be configured to do this - if a
userspace program triggers an alignment exception, it will simply be
handed a SIGBUS by the kernel. This was one of the main things I was
looking for in my rebuild, common to both armel and armhf. In the end,
I only found a very small number of problems.&lt;/p&gt;

&lt;p&gt;Given that, I think we should &lt;strong&gt;immediately&lt;/strong&gt; turn off
the alignment fixups on our existing 32-bit Arm buildd machines. Let's
flush out any more problems early, and I don't expect to see many.&lt;/p&gt;

&lt;p&gt;To give credit here: &lt;a href=&quot;https://www.ubuntu.com/&quot;&gt;Ubuntu&lt;/a&gt;
have been using arm64 machines for building 32-bit Arm packages for a
while now, and have already been filing bugs with patches which will
have helped reduce this problem. &lt;b&gt;Thanks!&lt;/b&gt;&lt;/p&gt;

&lt;h3&gt;Deprecated / retired instructions&lt;/h3&gt;

&lt;p&gt;In theory(!), alignment is all we should need to worry about for
armhf builds, but our armel software baseline needs two additional
pieces of configuration to make things work, enabling emulation
for&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;SWP&lt;/code&gt; (low-level locking primitive, deprecated since
   ARMv6 AFAIK)
&lt;li&gt;&lt;code&gt;CP15&lt;/code&gt; barriers (low-level barrier primitives,
   deprecated since ARMv7)
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Again, there is quite a performance cost to enabling
emulation support for these instructions but it is at least
possible!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In my initial testing for rebuilding armhf only, I did not enable
either of these emulations. I was then finding &lt;strong&gt;lots&lt;/strong&gt;
of &quot;Illegal Instruction&quot; crashes due to CP15 barrier usage in armhf
Haskell and Mono programs. This suggests that maybe(?) the baseline
architecture in these toolchains is incorrectly set to target ARMv6
rather than ARMv7. That should be fixed and all those packages rebuilt
at some point.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;UPDATES&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;

  &lt;li&gt; &lt;a href=&quot;https://lists.debian.org/debian-arm/2019/01/msg00001.html&quot;&gt;Peter
  Green&lt;/a&gt; pointed out that ghc in Debian armhf is definitely
  configured for ARMv7, so maybe there is a deeper problem.

  &lt;li&gt; &lt;a href=&quot;https://lists.debian.org/debian-arm/2019/01/msg00003.html&quot;&gt;Edmund
  Grimley Evans&lt;/a&gt; suggests that the Haskell problem is coming from
  how it drives LLVM, linking
  to &lt;a href=&quot;https://bugs.debian.org/864847&quot;&gt;#864847&lt;/a&gt; that he
  filed in 2017.

&lt;/ul&gt;

&lt;h2&gt;Bug highlights&lt;/h2&gt;

&lt;p&gt;There are a few things I found that I'd like to highlight:&lt;/p&gt;

&lt;ul&gt;

  &lt;li&gt; In the glibc build, we found an arm64 kernel bug
  (&lt;a href=&quot;https://bugs.debian.org/904385&quot;&gt;#904385&lt;/a&gt;) which has
  since been fixed upstream thanks to Will Deacon at Arm. I've
  backported the fix for the 4.9-stable kernel branch, so the fix will
  be in our Stretch kernels soon.

  &lt;li&gt; There's something really weird happening with Vim
  (&lt;a href=&quot;https://bugs.debian.org/917859&quot;&gt;#917859&lt;/a&gt;). It FTBFS for
  me with an odd test failure for both armel-on-arm64 and
  armhf-on-arm64 &lt;strong&gt;using sbuild&lt;/strong&gt;, but in a porter box
  chroot or directly on my hardware using debuild it works just
  fine. Confusing!

  &lt;li&gt; I've filed quite a number of bugs over the last few weeks. Many
  are generic new FTBFS reports for old packages that haven't been
  rebuilt in a while, and some of them look un-maintained. However,
  quite a few of my bugs are arch-specific ones in better-maintained
  packages and several have already had responses from maintainers or
  have already been fixed. Yay!

  &lt;li&gt; Yesterday, I filed a slew of identical-looking reports for
  packages using MPI and all failing tests. It seems that we have a
  real problem hitting openmpi-based packages across the archive at
  the moment (&lt;a href=&quot;https://bugs.debian.org/918157&quot;&gt;#918157&lt;/a&gt; in
  libpmix2). I'm going to verify that on my systems shortly.

&lt;/ul&gt;

&lt;h2&gt;Other things to think about&lt;/h2&gt;

&lt;h3&gt;Building in VMs&lt;/h3&gt;

&lt;p&gt;So far in Debian, we've tended to run our build machines using
chroots on raw hardware. We have a few builders (x86, arm64)
configured as VMs on larger hosts, but as far as I can see that's the
exception &lt;strong&gt;so far&lt;/strong&gt;. I know that OpenSUSE and Fedora are
both building using VMs, and for our Arm ports now we have more
powerful arm64 hosts available it's probably the way we should go
here.&lt;/p&gt;

&lt;p&gt;In testing using &quot;linux32&quot; chroots on native hardware, I was
explicitly looking to find problems in native architecture support. In
the case of alignment problems, they could be readily &quot;fixed up /
hidden&quot; (delete as appropriate!) by building using 32-bit guest
kernels with fixups enabled. If I'd found &lt;strong&gt;lots&lt;/strong&gt; of
those, that would be a safer way to proceed than instantly filing lots
of release-critical FTBFS bugs. However, given the small number of
problems found I'm not convinced it's worth worrying about.&lt;/p&gt;

&lt;h3&gt;Utilisation of hardware&lt;/h3&gt;

&lt;p&gt;Another related issue is in how we choose to slice up build
machines. Many packages will build very well in parallel, and that's
great if you have something like the Synquacer with many small/slow
cores. However, not all our packages work so well and I found that
many are still resolutely chugging through long build/test processes
in single threads. I experimented a little with my config during the
rebuilds and what seemed to work best for throughput was kicking off
one build per 4 cores on the machines I was using. That seems to match
up with what
the &lt;a href=&quot;https://kojipkgs.fedoraproject.org//packages/purple-facebook/0.9.5/12.9ff9acf9fa14.fc28/data/logs/aarch64/hw_info.log&quot;&gt;Fedora
folks&lt;/a&gt; are doing (thanks to hrw for the link!).&lt;/p&gt;

&lt;h3&gt;Migrating build hardware&lt;/h3&gt;

&lt;p&gt;As I mentioned earlier, to build armel and armhf sanely on arm64
hardware, we need to be using arm64 machines that include native
support for the 32-bit A32 instruction set. While we have lots of
those around at the moment, some newer/bigger arm64 server platforms
that I've seen announced do not include
it. (See &lt;a href=&quot;https://lists.debian.org/debian-arm/2018/06/msg00062.html&quot;&gt;an
older mail from me&lt;/a&gt; for more details. We'll need to be careful
about this going forwards and keep using (at least) some machines with
A32. Maybe we'll migrate arm64-only builds onto newer/bigger A64-only
machines and keep the older machines for armel/armhf if that becomes a
problem?&lt;/p&gt;

&lt;p&gt;At least for the foreseeable future, I'm not worried about losing
A32 support. Arm keeps on designing and licensing ARMv8 cores that
include it...&lt;/p&gt;

&lt;h2&gt;Thanks&lt;/h2&gt;

&lt;p&gt;I've spent a lot of time looking at existing FTBFS bugs over the
last weeks, to compare results against what I've been seeing in my
build logs. Much kudos to people who have been finding and filing
those bugs ahead of me, in particular Adrian Bunk and Matthias Klose
who have filed &lt;strong&gt;many&lt;/strong&gt; such bugs. Also thanks to Helmut
Grohne for his script to pull down a summary of FTBFS bugs from UDD -
that saved many hours of effort!&lt;/p&gt;

&lt;h2&gt;Finally...&lt;/h2&gt;

&lt;p&gt;Please let me know if you think you've found a problem in what I've
done, or how I've analysed the results here. I still have my machines
set up for easy rebuilds, so reproducing things and testing fixes is
quite easy - just ask!&lt;/p&gt;</description>
  </item>
  <item>
    <title>And lo, we sacrificed to the gods of BBQ once more</title>
    <pubDate>Fri, 31 Aug 2018 03:24:00 +0100</pubDate>
    <link>https://blog.einval.com/2018/08/31#2018party</link>
    <description>
&lt;p&gt;As is becoming something of a tradition by now, Jo and I hosted
another &lt;a href=&quot;http://wiki.earth.li/DebianParty2018&quot;&gt;OMGWTFBBQ&lt;/a&gt;
at our place last weekend. People came from far and wide to enjoy
themselves. Considering the summer heatwave we've had this year, we
were a little unlucky with the weather. But with the power of gazebo
technology we kept (mostly!) dry... :-)&lt;/p&gt;

&lt;p&gt;I was too busy cooking and drinking etc. to take any photos myself,
so here are some I sto^Wborrowed from my friends!&lt;/p&gt;

&lt;p&gt;We continued to celebrate Debian getting &lt;strong&gt;old&lt;/strong&gt;:&lt;br&gt;
&lt;img alt=&quot;the cake is not a lie!&quot;
src=&quot;https://www.einval.com/~steve/photos/2018bbq-cake.jpg&quot;&gt;&lt;br&gt;&lt;em&gt;Photo
from Jonathan McDowell&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;We had much beer from the nice folks at Milton Brewery:&lt;br&gt;
&lt;img alt=&quot;is 3 firkins enough?&quot;
src=&quot;https://www.einval.com/~steve/photos/2018bbq-beer.jpg&quot;&gt;&lt;br&gt;&lt;em&gt;Photo
from Rob Kendrick&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Much meat was prepared and cooked:&lt;br&gt;
&lt;img alt=&quot;very professional!&quot;
src=&quot;https://www.einval.com/~steve/photos/2018bbq-cooking.jpg&quot;&gt;&lt;br&gt;&lt;em&gt;Photo
from Stefano Rivera&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;And we had a lot of bread too!&lt;br&gt;
&lt;img alt=&quot;BREAD!&quot;
src=&quot;https://www.einval.com/~steve/photos/2018bbq-bread.jpg&quot;&gt;&lt;br&gt;&lt;em&gt;Photo
from Rob Kendrick&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Finally, many thanks to a number of awesome companies for again
sponsoring the important refreshments for the weekend. It's
hungry/thirsty work celebrating like this!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mythic-beasts.com/&quot;&gt;Mythic Beasts&lt;/a&gt;
&lt;li&gt;&lt;a href=&quot;http://www.collabora.com/&quot;&gt;Collabora&lt;/a&gt;
&lt;li&gt;&lt;a href=&quot;http://www.codethink.co.uk/&quot;&gt;Codethink&lt;/a&gt;
&lt;/ul&gt;
</description>
  </item>
  <item>
    <title>25 years...</title>
    <pubDate>Thu, 16 Aug 2018 22:42:00 +0100</pubDate>
    <link>https://blog.einval.com/2018/08/16#25</link>
    <description>
&lt;p&gt;We had a small gathering in the Haymakers pub tonight to celebrate
25 years since Ian
Murdock &lt;a href=&quot;https://www.debian.org/intro/about#history&quot;&gt;started
the Debian project&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://photos.einval.com/albums/debian_25/aaa.sized.jpg&quot;
	alt=&quot;people in the pub!&quot;&gt;&lt;/p&gt;

&lt;p&gt;We had 3 DPLs, a few other DDs and a few more users and community
members! Good to natter with people and share some history. :-) The
Raspberry Pi people even chipped in for some drinks. Cheers! The
celebrations will continue at
the &lt;a href=&quot;https://wiki.earth.li/DebianParty2018&quot;&gt;big BBQ&lt;/a&gt; at my
place next weekend.&lt;/p&gt;
</description>
  </item>
  <item>
    <title>DebConf in Taiwan!</title>
    <pubDate>Sun, 12 Aug 2018 16:11:00 +0100</pubDate>
    <link>https://blog.einval.com/2018/08/12#debconf18</link>
    <description>
&lt;p&gt;&lt;img src=&quot;https://debconf18.debconf.org/static/img/logo.983966be817c.svg&quot;
alt=&quot;DebConf 18 logo&quot;&gt;&lt;/p&gt;

&lt;p&gt;So I'm slowly recovering from my yearly dose of full-on Debian! :-)
DebConf is always fun, and this year in Hsinchu was no
different. After so many years in the project, and so many DebConfs
(13, I think!) it has become unmissable for me. It's more like a
family gathering than a work meeting. In amongst the great talks and
the fun hacking sessions, I love catching up with people. Whether it's
Bdale telling me about his fun on-track exploits or Stuart sharing
stories of life in an Australian university, it's awesome to meet up
with good friends every year, old and new.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://photos.einval.com/albums/debconf18/aai.sized.jpg&quot;
alt=&quot;DC18 venue&quot;&gt;&lt;/p&gt;

&lt;p&gt;For once, I even managed to find time to work on items from my own
TODO list during DebCamp and DebConf. Of course, I also got totally
distracted helping people hacking on other things too! In no
particular order, stuff I did included:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Working with Holger and Wolfgang to get debian-edu netinst/USB
    images building using normal debian-cd infrastructure;
  &lt;li&gt;Debugging build issues with our buster OpenStack images, fixing
    them and also pushing some fixes to Thomas for
    build-openstack-debian-image;
  &lt;li&gt;Reviewing secure boot patches for Debian's GRUB packages;
  &lt;li&gt;As an AM, helping two DD candidates working their way through NM;
  &lt;li&gt;Monitoring and tweaking an archive rebuild I'm doing, testing
    building all of our packages for armhf using arm64 machines;
  &lt;li&gt;Releasing new upstream and Debian versions of abcde, the CD
    ripping and encoding package;
  &lt;li&gt;Helping to debug UEFI boot problems with Helen and Enrico;
  &lt;li&gt;Hacking on MoinMoin, the wiki engine we use for wiki.debian.org;
  &lt;li&gt;Engaging in lots of discussions about varying things: Arm ports,
    UEFI Secure Boot, Cloud images and more
&lt;/ul&gt;

&lt;p&gt;I was involved in a lot of sessions this year, as normal. Lots of
useful discussion about Ignoring Negativity in Debian, and of course
lots of updates from various of the teams I'm working in: Arm porters,
web team, Secure Boot. And even an impromptu debian-cd workshop.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://photos.einval.com/albums/debconf18/abn.sized.jpg&quot;
alt=&quot;Taipei 101 - datrip venue&quot;&gt;&lt;/p&gt;

&lt;p&gt;I loved my time at the first DebConf in Asia (yay!), and I was yet
again amazed at how well the DebConf volunteers made this big event
work. I loved the &lt;strong&gt;genius&lt;/strong&gt; idea of having a bar in the
noisy hacklab, meaning that lubricated hacking continued into the
evenings too. And (of course!) just about all of the conference was
captured on video by our intrepid video team. That gives me a chance
to catch up on the sessions I couldn't make it to, which is
priceless.&lt;/p&gt;

&lt;p&gt;So, despite all the stuff I got done in the 2 weeks my TODO list
has still grown. But I'm continuing to work on stuff, energised
again. See you
in &lt;a href=&quot;https://debconf19.debconf.org/&quot;&gt;Curitiba&lt;/a&gt; next
year!&lt;/p&gt;
</description>
  </item>
  <item>
    <title>Let's BBQ again, like we did last summer!</title>
    <pubDate>Fri, 25 Aug 2017 03:00:00 +0100</pubDate>
    <link>https://blog.einval.com/2017/08/25#2017party</link>
    <description>
&lt;p&gt;It's that time again! Another year,
another &lt;a href=&quot;http://wiki.earth.li/DebianParty2017&quot;&gt;OMGWTFBBQ&lt;/a&gt;!
We're expecting 50 or so Debian folks at our place in Cambridge this
weekend, ready to natter, geek, socialise and generally have a good
time. Let's hope the weather stays nice, but if not we have gazebo
technology... :-)&lt;/p&gt;

&lt;p&gt;Many thanks to a number of awesome companies and people near and
far who are sponsoring the important refreshments for the weekend:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mythic-beasts.com/&quot;&gt;Mythic Beasts&lt;/a&gt;
&lt;li&gt;&lt;a href=&quot;http://www.collabora.com/&quot;&gt;Collabora&lt;/a&gt;
&lt;li&gt;&lt;a href=&quot;http://www.codethink.co.uk/&quot;&gt;Codethink&lt;/a&gt;
&lt;li&gt;&lt;a href=&quot;http://qvarnlabs.com/&quot;&gt;QvarnLabs&lt;/a&gt;
&lt;li&gt;&lt;a href=&quot;http://bootc.me.uk/&quot;&gt;Chris Boot&lt;/a&gt;
&lt;/ul&gt;

&lt;p&gt;I've even been working on the garden this week to improve it ready
for the event. If you'd like to come and haven't already told us,
please add yourself to the wiki page!&lt;/p&gt;</description>
  </item>
  <item>
    <title>-1, Trolling</title>
    <pubDate>Thu, 22 Jun 2017 22:59:00 +0100</pubDate>
    <link>https://blog.einval.com/2017/06/22#troll</link>
    <description>
&lt;p&gt;Here's a nice comment I received by email this morning. I guess
somebody was upset by
my &lt;a href=&quot;https://blog.einval.com/2017/06/20#stretch_released&quot;&gt;last
post&lt;/a&gt;?&lt;/p&gt;

&lt;p&gt;&lt;pre&gt;
From: Tec Services &amp;lt;tecservices911@gmail.com&amp;gt;
Date: Wed, 21 Jun 2017 22:30:26 -0700
To: steve@einval.com
Subject: its time for you to retire from debian...unbelievable..your
         the quality guy and fucked up the installer!

i cant ever remember in the hostory of computing someone releasing an installer
that does not work!!

wtf!!!

you need to be retired...due to being retarded..

and that this was dedicated to ian...what a
disaster..you should be ashames..he is probably roling in his grave from shame
right now....
&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;It's nice to be appreciated.&lt;/p&gt;</description>
  </item>
  </channel>
</rss>