Boot-Probleme mittels efibootmgr lösen

Vor vier Monaten habe ich mir einen Intel N100-Rechner als neuen Homeserver gegönnt. Das vorinstallierte Windows 11 musste natürlich einem SUSE Linux Enterprise 15 weichen. Die Installation vom USB-Stick verlief problemlos, ich habe einfach alle Partitionen mit Ausnahme des EFI gelöscht. Secure Boot wurde automatisch eingerichtet, doch nach dem ersten Kernel-Update war der Server plötzlich nicht mehr übers Netzwerk erreichbar. Mein eilig angeschlossener Monitor zeigte mir das Problem: Statt Linux wurde Windows gebootet, was aber mangels Partitionen nicht funktionieren konnte. Immerhin konnte ich vom Bluescreen in das UEFI gehen und dort die Bootreihenfolge ändern, damit wieder SLES gebootet wurde.

Damit sich das Problem wiederholt, bedurfte es noch eines manuellen Eingriffs: Zwar wird bei der SLES-Installation die Boot-Reihenfolge auf grub geändert, allerdings ist das – genau wie meine Änderung im EFI-BIOS nicht wirklich dauerhaft. Was wirklich konfiguriert ist, sieht man mit efibootmgr:

# efibootmgr
BootCurrent: 0001
Timeout: 1 seconds
BootOrder: 0000,0001,0002
Boot0000* Windows Boot Manager
Boot0001* sles-secureboot
Boot0002* UEFI OS

Windows ist also Standard. Um das zu ändern, muss man die Boot-Reihenfolge ändern:

# efibootmgr --bootorder 0001,0002

Da ich kein Windows mehr habe, lösche ich stattdessen einfach den Eintrag Boot0000:

# efibootmgr -b 0000 --delete-bootnum

Kontrollieren, ob alles geklappt hat:

# efibootmgr
BootCurrent: 0001
Timeout: 1 seconds
BootOrder: 0001,0002
Boot0001* sles-secureboot
Boot0002* UEFI OS

Sieht gut aus. sles-secureboot ist automatisch an die erste Stelle gerückt, das Problem sollte also nicht mehr auftauchen. Jetzt kann man auch den Windows Bootloader von der EFI-Partition löschen:

# rm -rf /boot/efi/EFI/Microsoft/

Wieder was gelernt.

Neuer Homeserver

Zehn Jahre lang hat mir ein Banana Pi treue Dienste als Homeserver geleistet. Mit seinem 1 GHz Dual-Core Arm-Prozessor, 1 GB RAM und einer 2 TB SATA-SSD war er für NFS und DLNA zwar völlig ausreichend, aber für Anwendungen wie Nextcloud nicht wirklich zu gebrauchen. Vor allem die Performance beim Kopieren von Dateien auf dem Server war unterirdisch. Was nützt einem Gigabit-Ethernet, wenn der Rechner die Daten nicht schnell genug wegschreiben kann? 2014 war der Banana Pi eine gute Wahl und hat den Ende 2012 erschienenen Raspberry Pi deklassiert, aber jetzt war es Zeit für etwas Neues.

Da ich keine Lust auf Hard- und Software-Frickelei habe und einen möglichst sparsamen Rechner suche, fiel meine Wahl auf einen Intel N100. Bei Heise habe ich einen Test des Ninkear N100 gefunden. Ein China-Rechner wie viele andere und sicher nicht der beste Mini-PC, aber mit Rabattcode für 148 € zu haben. Es gibt – auch in dieser Größe – potentere Rechner, aber ich brauche nicht mehr und will einen leisen und vor allem sparsamen Server.

Die Lieferung aus Europa hat nur drei Tage gedauert und der Rechner ist genauso, wie im Test beschrieben. Einziges Manko ist der Formfaktor der SSD: Es lassen sich nur „halbe“ M.2-SSDs einbauen (2242 und nicht 2282). Ein Austausch der verbauten 512 GB No-Name-SSD ist damit von Tisch. Mehr als 1 TB sind als 2242 nicht erhältlich und selbst die sind schon unbezahlbar. Wer mehr Kapazität braucht, muss sie extern über USB anschließen. Ich wollte zwar ohnehin meine 2 TB SATA-SSD vom Banana PI weiterverwenden, aber langfristig wäre eine Aufrüstoption nett gewesen.

Das vorinstallierte Windows 11 habe ich durch SLES 15 ersetzt. Die Installation vom USB-Stick verlief problemlos, auch Secure Boot wurde automatisch eingerichtet. Welche Dienste ich auf dem Server laufen lassen werde, überlege ich noch und werde es hier in den konnenden Wochen dokumentieren.

Vienna Calling!

Last weekend I attended Linuxwochen Wien for the first time. I heard a lot about the event, so I totally wanted to go there. Now that I’m back from Vienna, I am a little disappointed – but nevertheless happy I went there.

The Austrian Linuxwochen (Linux Weeks) is a series of events all over the country. It started in Graz, but there is also Eisenstadt, Krems and Vienna. The event in Salzburg is delayed until further notice, Linz was canceled off this year (only the LUG meeting took place) and Klagenfurt seems dead for years. Overall not very encouraging, but we wouldn’t be Fedora if we were not to change that. So we brought 7 people to Vienna which were supported by two locals, Kevin and Volker. Both did an excellent job, even though they are (officially) no ambassadors. Together we submitted 16 talks and workshops. All were accepted, this is roughly one fourth of the 3 day program. I delivered two talks, one on Kolab and one on postscreen. Both went very well and I’m very happy about the feedback I received. Overall the talks and workshops were very interesting and the speakers very competent.

Fedora booth at Linuxwochen Wien
Fedora booth at Linuxwochen Wien

Fedora delivered a good show. We had by far the biggest and most professional stand and lots of goodies. As a special gimmick Miro had brought his 3D printer and as always it attracted a lot of people. The rest of exhibition however was not impressive. That’s a well know problem for events where the focus is on talks, but this one was worse: It was moved to a new building with more space on the hallways, but the number of exhibitors hadn’t really changed. The booths looked quite lost and there were hardly visitors as most people were attending talks. On Friday we had at least some students from the university showing up and hoped for more people over the weekend, but that was wishful thinking. Maybe it was bad promotion, maybe the weather or a combination of both.

Empty hallway at Linuxwochen Wien
Empty hallway at Linuxwochen Wien

The weather in Vienna was bad compared to Berlin, but on Saturday afternoon it changed and the rest of the weekend turned out to be very sunny. As there were not many visitors and we had more than enough people at the booth, later that afternoon I decided to go for some sightseeing. People told me Vienna is beautiful, but I hadn’t seen anything of that beauty. I have been to Vienna before, but usually it was just for transfer at the airport or on my way to Brno. So I went to the historic city center and I have to admit, it really is impressive. There are a lot of buildings from the imperial times of the Austro-Hungarian monarchy and also from the Art Nouveau (or ‚Jugendstil‘ as we call it) era. I love Jugendstil.

Subway station 'Karlsplatz'
The subway station ‚Karlsplatz‘ in Vienna – an icon of the ‚Art Nouveau‘ era.

On Friday we had a social event. It wasn’t really a social event, instead we just went to a Chinese restaurant down the street for an ‚all you can eat‘ buffet. We were around 30 people and I was lucky to sit next to Bernhard. We talked about packaging and he asked me if I could help him with continuous integration of rpm build. It turned out Bernhard is a FreeRDP developer and told him I’m the poor bastard maintainer of remmina in Fedora. Remmina is a GTK-based RDP, SSH, NX and Telepathy client, developed by the FreeRDP project. It’s powerful but in bad shape as FreeRDP is still a young project and constantly moving forward. Unfortunately there haven’t been stable releases for quite a while and backporting fixes is cumbersome. So we agreed that FreeRDP will try to maintain a ‚release‘ branch in git, even if there are no actual releases, and we will help them with continuous integration. If Mads, our FreeRDP maintainer, agrees we will build and host nightly versions of Fedora’s freerdp and matching remmina packages. An interesting project and I’m looking forward to it.

My flight back to Berlin left very early on Sunday morning. I had to get up at 5 am, but it allowed me to be in Berlin at half past eight and enjoy a sunny Sunday after which I was very tired – but happy.

Not sure I will attend Linuxwochen Wien next year, we have other awesome people to run the event. Personally, I learned some important lessons:

  • Talks are getting more professional and so is the target audience. When you give a talk, be professional – but don’t forget the fun!
  • Exhibitions on the other hand receive lesser attention. We need to think of new way to attract people and how to interacting with them. We need something more playful like the Fedora photo booth.
  • Renting an apartment is a good idea: Not only that it’s cheaper than a hotel, but more fun, too.
  • The people who told me Vienna is beautiful didn’t lie.

Thanks everybody for making Linuxwochen a successful event. A special thanks goes out to Sirko for being a perfect event owner. He took care of everything, not just the booth and apartment and he was a good tourist guide.

Don’t use a programming language for configuration

Dear developers,

please don’t use a programming language for configuration files. Seriously. Don’t. Just don’t. You are only making live hard for people.

Here is what my polkit custom desktop policy looked like in Fedora <= 17:

Identity=unix-group:wheel
Action=org.freedesktop.packagekit.package-install;org.freedesktop.packagekit.package-remove;org.freedesktop.packagekit.system-rollback;org.freedesktop.packagekit.system-sources*;org.opensuse.cupspkhelper.mechanism.*;org.libvirt.unix.*;dk.yumex.backend.pkexec.run
ResultAny=no 
ResultInactive=no 
ResultActive=yes

I think this is pretty straight forward, but some people found it confusing and too complex. So David rewrote it.

If you keep complaining about polkit configuration I'll rewrite it in JavascriptNow let’s see how the same looks in Fedora >=18:

polkit.addRule(function(action, subject) {
    if (subject.isInGroup("wheel") && subject.active) {
        polkit.log("action=" + action);
        polkit.log("subject=" + subject);
        if (action.id.indexOf("org.freedesktop.packagekit.package-install") == 0) {
            return polkit.Result.YES;
        }
        if (action.id.indexOf("org.freedesktop.packagekit.package-remove") == 0) {
            return polkit.Result.YES;
        }
        if (action.id.indexOf("org.freedesktop.packagekit.system-rollback") == 0) {
            return polkit.Result.YES;
        }
        if (action.id.indexOf("org.freedesktop.packagekit.system-sources.") == 0) {
            return polkit.Result.YES;
        }
        if (action.id.indexOf("org.opensuse.cupspkhelper.mechanism.") == 0) {
            return polkit.Result.YES;
        }
        if (action.id.indexOf("org.libvirt.unix.") == 0) {
            return polkit.Result.YES;
        }
        if (action.id.indexOf("dk.yumex.backend.pkexec.run") == 0) {
            return polkit.Result.YES;
        }
    }
});

What do we learn from this?

One doe not simply use JavaScript for config files

FUDCon Kuala Lumpur Day 1

I got up a little later than planned because it turns out that I am pretty jet-lagged after traveling for more than 24 hours. Nevertheless I managed to have breakfast before we had to leave. In front of the hotel, a shuttle bus was already waiting and quickly brought  us to the venue at UCTI. Everything is extremely well organized here, thanks to an outstanding job of the Malayan Fedora community.

Shuttle bus from the hotel to FUDCon venue
Shuttle bus from the hotel to FUDCon venue

When we arrived at the university, we quickly registered in order to get the vouchers for lunch and teatime. Because of the high number of registered participants, the vouchers are limited to 50 attendees (plus Fedora contributors and FUDCon volunteers) which are given away first come first served. While I’d love to pay just everything for everybody, it turns out that doing first come first served is very useful: Not later then 8:30 most attendees had shown up and registered, even if the official opening was not before  10:00 pm.

After a quick introduction and some announcements, I kicked of FUDCon with my keynote. I had mixed feelings because on the one hand I had to jump in for others, on the other hand I am proud to have the opportunity to speak to so many people.

Me giving the keynote
Me giving the keynote about "Leadership in leaderless organizations"

I didn’t want to start with something technical, but instead do something about community. My talk was about „Leadership in leaderless organizations“. Readers of The Starfish and the Spider probably know what I am talking about: Traditional leadership is – ideally – based on authority, elections or knowledge; In a less ideal world, it is based on birth, money or even fear. But none of these concepts work in an open system like FOSS in general and Fedora in particular as they don’t encourage participation. Still we do have leaders, but these people are not leading by any kind of formal authority but by example.

  • They don’t command, they guide.
  • They don’t demand, they encourage.
  • They don’t make rules, they help defining standards that people voluntarily subscribe to.

I finished my talk with a quote from an email Max sent me this morning:

„It may not always be pretty, and it may not always be easy, but
persistence wins.“

However the concept of open, decentralized organizations seemed completely alien to the majority of attendees. Most of them were students and only few have have worked in a FOSS project before. Nevertheless they were fascinated by the idea that something that chaotic can not only exist but be very successful. They had a lot of questions after I finished and we had a vital discussion before we started pitching the barcamp sessions

Pitching the batcamp sessions
Pitching the batcamp sessions

I was skeptic if it makes sense to have barcamps on the first day, but the idea was to not ‚waste‘ talks because Friday was not supposed to be the most productive day anyway. Many people were not be able to attend on Friday and we had a long break after dinner (on Friday after dinner, people here go to the mosque). I still was skeptic when we started pitching, but it seems people were just afraid or ashamed of standing in front of an audience and making a proposal. Turns out I was wrong, and in the end we had so many sessions that we decided to go for slots of only 30 minutes.

FUDCon Barcamp schedule
FUDCon Kuala Lumpur barcamp schedule

I now think that starting the barcamps on the first day right after my keynote was a big win. We not only had a very interesting and productive day, we also had the perfect showcase for an open, autonomous and decentralized system: There was no leader, nobody made rules, yet we had no problems making decisions and respond to the problem of having too many talks. The open system always wins!

AFAICS the first day of FUDCon Kuala Lumpur was a big success. I am grateful to be here and I’d like to thank everybody who helped to make this happen. Stay tuned for more awesomeness from Kuala Lumpur!

Priceless!

Flight to Milan and back:103 EUR

Hotel in Milan: 145 EUR

Hotdog costume on Ebay: 15 EUR

Fun at FUDPub: priceless!

Beefy Miracle live at FUDPub
Beefy Miracle live at FUDPub

Looking back at FrOSCon 2011

Last weekend the 6th FrOSCon took place in St Augustin. Once again it was a nice event, but this time we tried something new: A Fedora Activity Day (FAD) as part of the conference.

I arrived at St Augustin on Friday around 7 p.m.. A lot of people were already there and it was nice to meet a lot of friends and many of the typical suspects again. Unfortunately we could not yet build up the booth as Robert, who had the event box and the banners with him, was stuck in heavy traffic jam. When he finally arrived at half past 8 we quickly prepared the booth before we left for dinner with our friends from Xfce.

We decided to go to Bonn because Christian lives there and he recommended an Ethiopian Restaurant. Of course we were a little skeptic and made bad jokes („Ethiopian? We’ll go home hungry!“ and alike) but Roha Café has completely proven us wrong: Nice atmosphere, friendly people and awesome food that is eaten just with the hands by wrapping it in bread. We were nine people and ordered 3 different plates for 3 people each but we didn’t manage to finish them because we were completely filled up. Each of us had 2 drinks, some also had a delicious Ethiopian coffee after dinner and in the end the bill was ridiculously cheap (less than 14 EUR per person). So if you ever happen to be in Bonn, go to Roha Café.

Some of us wanted to go wild afterwards and decided to go for more drinks, but as FrOSCon opens doors at 8:15 a.m. on Saturday, most of us decided to go back to the hotel. I went to Cologne with Enrico because I stayed at a friend and commuted to St Augustin.

On Saturday we had a German Translation team leaders of GNOME, Xfce and LXDE. We had Hendrik Richter and Christian Kirbach from GNOME, Fabian Nowak and me from Xfce and me again for LXDE. Even though the meeting was a little short I consider it very successful. Our goal is to have consistent translations throughout the different desktops and it was nice to see we agree on so many things, even on tiny details. There is still a lot of work to do but harmonizing our translation guidelines is a first step in the right direction.

Saturday was the better of the two days: The number of visitors was lower than last year (somebody even said it was all time negative record) and Sunday was even worse than Saturday. I don’t think it was that bad, we had visitors at the Fedora booth most of the time, but Sunday definitely could have been better. Not only the exhibition, but also our FAD.

The FAD began at 10:00. Benedikt gave a talk about his „Fedora Home Server“. The title mimics the „Windows Home Server“ and so does the feature set of the server. Of course you can add more services and the audience came up with interesting ideas. After that Robert delivered a talk about SELinux. It seems SELinux still causes people a lot of headache and thus a lot of people came to Robert’s presentation.

Robert giving his SELinux talk
Not many seats were left when Robert gave his SELinux Talk at FrOSCon 2011

Next up was Anreas with a talk about Func, the Fedora Unified Network Controller. It was perhaps the most entertaining talk because Andreas made a dry topic a lot of fun, especially when he started showing stuff on not on a demo machine but a real production environment.

After a short lunch break I gave two more talks, one about remixing Fedora and the other about RPM packaging. I hardly had the latter prepared, I just used the slides from one of my many previous talks about packaging and we made it more like a workshop. People liked this a lot: It definitely makes a difference if you just go through some slides or if you have a RPM package or a live CD ready at the end of the workshop. The audience was very experienced, most of them already were Fedora users or had at least used it, so we could even address advanced topics.

Having a FAD or a FUDCon as part pf another event is always a difficult decision. On the one hand a lot of people there, both contributors as well as visitors. The contributors don’t need to pay for travel again and you reach an audience that you would not reach with a Fedora-only event. On the other hand people get distracted by the main event. There are many other talks and so much to see. Because all contributors want to attend either the Fedora event or one of the other talks, it’s difficult to have enough booth personnel all the time. So if you you are hacking on something special and you just want to get things done ™ it is maybe better to meet somewhere in the middle of nowhere to not be disturbed.

Nevertheless I think this FAD was worth it: It was not a hack fest but more like a one day mini-FUDCon full of talks and as such it makes perfectly sense to have it at FrOSCon: FrOSCon is famous for it’s talks while the exhibition is secondary. We managed to address a new audience and raised awareness for Fedora.

I’d like to thank all Fedora contributors who helped us to make FrOSCon 2011 a successful event, namely (and in no particular order)

  • Benedikt for his 1st Fedora talk
  • Raphael for doing booth service
  • Dominic for his dry humor and for delivering Fedora swag to Hamburg for Software Freedom Day
  • Christian who also is part of the FrOSCon team and helped us a lot with the organization
  • Sven for doing endless hours of booth service while we held our FAD
  • Jens for coming to St AUgustin and helping out even though his spare time is very rare
  • Sirko for the FAD posters and the Inkscape workshops
  • Gerd for showing up so I finally had the chance to finally meet my sponsoree in person after 2 years
  • Andreas for his brilliant and entertaining talk about Func
  • Robert for bringing all the booth material to St Augustin and delivering his SELinux talk
  • Sandro and Marcus for showing up although they were not officially part of the Fedora team this year
  • Zoltan for sending us flyers and Cheat Cubes

Leonie playing with a Fedora CheatCube
Leonie is playing with a Fedora Cheat Cube. It's never to early to start with Fedora!