Wednesday, April 13, 2022

Testing the Gentoo LiveGUI with QEmu

If you want to test the Gentoo LiveGUI, but don't feel like cutting short the precious uptime of your machine, here's a handy bash script for testing the iso files with qemu:


qemu-system-x86_64    -m 4G \
           -enable-kvm \
           -cpu host \
           -smp 4 \
           -name "Gentoo amd64 LiveGUI" \
           --netdev user,id=vmnic,hostname=gentoovm \
           -device e1000,netdev=vmnic \
           -bios /usr/share/edk2-ovmf/OVMF_CODE.fd \
           -device intel-hda -device hda-duplex \
           -usbdevice tablet \
           -vga vmware \
           -cdrom $1

You'll need to be in the kvm group and have kvm configured in your kernel. Also you may want to adapt the memory (now 4Gbyte) and the number of CPUs (now 4) for the virtual machine. Then you can simply start the boot process with

~ $ ./qemu-livegui livegui-amd64-20220412T191925Z.iso &


Monday, April 4, 2022

New Gentoo LiveGUI ISO and artwork / branding contest!

Artist Larry

After a long break, we now have again a weekly LiveGUI ISO image for amd64 available! The 4.7 GB download, suitable for DVD burning or an USB stick, boots directly into KDE Plasma and comes with a ton of up-to-date software. This ranges from office applicactions such as LibreOffice, Inkscape, and Gimp all the way to many system administrator tools.

Now, we need your help! Let’s make this the coolest and most beautiful Linux live image ever. We’re calling for submissions of artwork, themes, actually anything from a desktop background to a boot manager animation, on the topic of Gentoo! The winning entry will be added as default setting to the official LiveGUI images, and also be available for download and installation.

The artwork contest

What are we looking for?

Gentoo-themed artwork and branding material to make our Gentoo LiveGUI the coolest Linux live medium ever.

  • Incorporates the Gentoo logo and maybe other Gentoo design elements (like Larry the Cow)
  • Works for a wide range of screen resolutions etc.
  • Is packaged more or less ready-to-use for our LiveGUI image
  • Provides a coherent experience to the user, i.e., if it consists of different parts, these fit togehter
  • Can be distributed in its entirety under the CC BY-SA 4.0 license

We could for example imagine screen backgrounds, Plasma theming, maybe even a GRUB boot menu animation or a LibreOffice splash screen… Feel free to come up with more ideas.

If you base your work on freely available source material created by others, please keep track of the sources and their licenses in an accompanying readme file.

What are we not looking for?

  • Do not submit anything that infringes on third-party copyrights or trademarks. While a Star Trek-themed Gentoo desktop would be cool, Paramount might object and we wouldn’t be able to distribute it. Same for My Little Pony or the Simpsons.
  • Do not submit artwork falling under the not-safe-for-work (NSFW) category. We will recognize it when we see it, and we won’t be able to distribute it.
  • Do not submit artwork with political or religious statements. No matter how universally acceptable you think that these are, someone will be offended by them.

The artwork should be such that kids or colleagues can walk into your office and you don’t have to quickly cover it up. :) Also, please think of your contribution in terms of the Gentoo Code of Conduct.

How to submit an entry

Package it up
  • Package all the relevant files into a single tar archive and upload it to a webserver of your choice, or publish the files (e.g. on github) as a single git repository.
  • Add a readme file with your name and contact e-mail address, the license of the files, sources and licenses for third-party material, and detailed installation instructions
  • File a bug for the release engineering team, component “LiveCD/DVD”, with the summary starting with “Artwork 2022 contest entry”, and add a link to your file.
  • If you link to a git repository, please mention a tag or commit which we should use.
  • By submitting your entry, you allow Gentoo to download, re-publish, and distribute your files (see also above remark about the license).
  • The contest ends 31/May/2022 at 23:59 UTC.
  • Please keep your files online for at least one more month after that date, so we can review and copy them.

Selection and announcement of the winner

  • The jury consists of the Gentoo Council, the Release Engineering team, the Artwork team, and the Public Relations team (as of beginning of April 2022).
  • The winner will be chosen by vote; depending on the amount and quality of the submissions, we may also pick a runner-up or more.
  • The announcement of the winner or the winners will be made in June.

The LiveGUI image

The LiveGUI image is first and foremost provided to show off Gentoo and give everyone a chance to test a full-fledged Gentoo installation. As such, we have a lot of typical “desktop applications” installed. Additionally, we tried to integrate as many system administration tools as possible, so you can also use it for everything from repartitioning your hard drives to repairing an installation.

Some of the software on the image:

  • KDE Plasma as desktop environment
  • Office productivity: LibreOffice, LyX, TeXstudio, XournalPP, kile
  • Web browsers: Firefox, Chromium
  • IRC and similar: irssi, weechat
  • Editors: Emacs, vim, kate, nano, joe
  • Development and source control: git, subversion, gcc, Python, Perl
  • Graphics: Inkscape, Gimp, Povray, Luminance HDR, Digikam
  • Video: KDEnlive
  • Disk management: hddtemp, testdisk, hdparm, nvme-cli, gparted, partimage, btrfs-progs, ddrescue, dosfstools, e2fsprogs, zfs
  • Network tools and daemons: nmap, tcpdump, traceroute, minicom, pptpclient, bind-tools, cifs-utils, nfs-utils, ftp, chrony, ntp, openssh, rdesktop, openfortivpn, openvpn, tor
  • Backup: mt-st, fsarchiver
  • Benchmarks: bonnie, bonnie++, dbench, iozone, stress, tiobench

The list of targeted packages (corresponding to a world file) can be found in the catalyst specification file; we install the newest stable version in the Gentoo repository.

In addition, since - as in a normal Gentoo installation - compiler and development tools are available, you can temporarily install more software. Just run emerge --sync and then install whatever you need (though it will be kept in memory and be gone after the next reboot).

Feedback and of course bug reports are welcome! Enjoy!

Sunday, April 3, 2022

Gentoo MIPS stages are back!

MIPS logo
After a long break, we finally have up-to-date Gentoo stages for the MIPS architecture available for download again!

The weekly builds cover at the moment for 32-bit mips2 and mips32, for 64-bit mips3 and mips64 in o32, n32, and n64 ABI - and all that for both big and little endian. Should be good as a start for just about every hardware out there.

For more information on MIPS, see the Gentoo MIPS project page (which is as of writing of this blog post still somewhat outdated), the MIPS architecture page on Wikipedia, or the MIPS corporate products page.

The weekly stage builds are possible to a large part due to the excellent work of the qemu developers, which allows us to run all the builds on a single (x86-64, AMD RYZEN) server with a ton of parallel processes. Thank you!

Friday, February 4, 2022

Gentoo "desktop profile" Stage 3 downloads

You may have noticed additional Stage 3 links marked with "desktop profile" on the Gentoo downloads page recently. So what's this about?

The only difference between a "normal" Stage 3 file and a "desktop profile" Stage 3 file is that the latter has a desktop profile selected (surprise!). As example, if a "normal" amd64 (x86-64) systemd stage uses as profile setting default/linux/amd64/17.1/systemd, then the "desktop profile" stage uses
default/linux/amd64/17.1/desktop/systemd. The packages in the @system set are exactly the same, however, in the desktop profile more use-flags are enabled, which means many additional dependencies are merged.

This leads us to the point of the "desktop profile" stages: if you do a desktop installation (for anything from KDE to Gnome or XFCE), these files give you less initial rebuilds and compiles, at the cost of a larger download. And that's all.

Tuesday, September 21, 2021

Experimental binary Gentoo package hosting (amd64)

As an experiment, I've started assembling a simple binary package hosting mechanism for Gentoo. Right now this comes with some serious limitations and should not be used for security or mission critical applications (more on this below). The main purpose of this experiment is to find out how well it works and where we need improvements in Portage's binary package handling.

So what do we have, and how can you use it?

  • The server builds an assortment of stable amd64 packages, with the use-flags as present in an unmodified 17.1/desktop/plasma/systemd profile (the only necessary change is USE=bindist).
  • The packages can be used on all amd64 profiles that differ from desktop/plasma/systemd only by use-flag settings. This includes 17.1, 17.1/desktop/*, 17.1/no-multilib, 17.1/systemd, but not anything containing selinx, hardened, developer, musl, or a different profile version such as 17.0.
  • Right now, the package set includes kde-plasma/plasma-meta, kde-apps/kde-apps-meta, app-office/libreoffice, media-gfx/gimp, media-gfx/inkscape, and of course all their dependencies. More will possibly be added.
  • CFLAGS are chosen such that the packages will be usable on all amd64 (i.e., x86-64) machines. 

To use the packages, I recommend the following steps: First, create a file /etc/portage/binrepos.conf with the following content:

priority = 9999
sync-uri =

You can pick a different mirror according to your preferences (but also see the remarks below). Then, edit /etc/portage/make.conf, and add the following EMERGE_DEFAULT_OPTS (in addition to flags that you might already have there):

EMERGE_DEFAULT_OPTS="--binpkg-respect-use=y --getbinpkg=y"

And that's it. Your next update should download the package index and use binary packages whenever the versions and use-flag settings match. Everything else is compiled as usual.

What is still missing, and what are the limitations and caveats?

  • Obviously, the packages are not optimized for your processor.
  • Right now, the server only carries packages for the use-flag settings in an unmodified 17.1/desktop/plasma/systemd profile. If you use other settings, you will end up compiling part of your packages (which is not really a probem, you just lose the benefit of the binary download). It is technically possible to provide binary packages for different use-flag settings at the same URL, and eventually it will be implemented if this experiment succeeds.
  • At the moment, no cryptographic signing of the binary packages is in place yet. This is the main reason why I'm talking about an experiment. Effectively you trust our mirror admins and the https protocol. Package signing and verification is in preparation, and before the binary package hosting "moves into production", it will be enforced.
That's it. Enjoy! And don't forget to leave feedback in the comments.

Sunday, March 14, 2021

Gentoo AMD64 Handbook "Preparing the disks" section reworked

Since the text was becoming more and more outdated and also more and more convoluted, I have completely reworked the "Preparing the disks" section of the Gentoo AMD64 handbook

  • Since fdisk supports GUID partition tables (GPT) for a long time now, references to parted have been dropped.
  • The text restricts itself now to the combinations 1) UEFI boot and GPT and 2) BIOS / legacy boot and MBR. While mixing and matching is here certainly possible, we should treat it out of the scope of the manual.
  • Hopefully the terminology regarding the boot partition, UEFI system partition, and BIOS boot partition is more clear now (it was horribly mixed up before).

Please proofread and check for mistakes! I'll drop the "work in progress" label in a few days if nothing comes up.

Sunday, January 31, 2021

New Gentoo riscv (and arm) stages

With the help of our infrastructure team, I've finally managed to integrate the riscv stage builds with our signing and mirroring system. So now we have a riscv tab on the installation media download page, and the mirrors carry weekly signed stage3 archives for riscv64-lp64d and riscv64-lp64, in both openrc and systemd variants.

Using the same build infrastructure based on qemu, there are now also slowly updated stages for all arm variants coming to the mirrors. Please test them, and if anything does not work as expected, file bugs! The qemu-based builds are here a temporary measure; Matt Turner (mattst88) is preparing a fast multi-core arm64 machine, where this task will move to soon.