Skip to main content

genkernel 3.4.11 released

Summary

I have just released genkernel 3.4.11 to the testing tree. From a high level point of view this release brings:

  • Slightly faster startup
  • Updated versions of busybox, LVM, e2fsprogs/blkid
  • A few new features, e.g. GnuPG support
  • A bunch of bug fixes (see below)

Below you can find details on the changes since 3.4.10.908. Besides the people contributing bug reports special thanks go to:

  • Amadeusz Zolnowski (LVM update)
  • Christian Giessner (UUID crypt_root)
  • dacook (GnuPG 1.x support)
  • Denis Kaganovich (Busybox patch porting)
  • devsk (Multi-device patch)
  • Fabio Erculiani (Slowusb fixes)
  • Kai Dietrich (Symlink analysis)
  • Kolbjorn Barmen (Arithmetic fix)

Please open bugs for any issues you run into.

New features

  • 217959 Add GnuPG 1.x support
  • 315467 Add support for UUID to crypt_root
  • 303529 Add minimal btrfs support
  • 267383 Add virtio support by updating LVM
  • 244651 Run make firmware_install if CONFIG_FIRMWARE_IN_KERNEL != y

Component updates

  • 291822 Update e2fsprogs/blkid to 1.41.14
  • 331971 Update busybox to 1.18.1
  • 255196 Update LVM to 2.02.74

Bug fixes

  • 351047 Do not sleep after vgscan
  • 271528 Handle missing kernel .config better
  • 323317 Improve slowusb handling
  • 246370 Check return codes of cpio
  • 307855 Create /bin/vg* symlinks when called as /linuxrc, too
  • 303531 Pick first device when several devices are matching real_root
  • 347213 Fix warning "cannot remove `/var/cache/genkernel/src'"
  • 326593 Allow configuring the list of busybox applets
  • 339789 Fix arithmetic bug in defaults/initrd.scripts

Thanks for your interest.

genkernel 3.4.10.908 released

Summary

I have just released genkernel 3.4.10.908 to the testing tree. From a high level point of view this release brings:

  • Unreleased patches laying around in Git (details below)
  • A much more up to date man page

Below you can find details on the changes since 3.4.10.907. Besides the people contributing bug reports and patches, Andrew Gaffney and Robin H. Johnson deserve credit, too. Please open bugs for any issues you run into.

Bug fixes

  • 297814 Make sure loop cache directory exists
  • 261122 Enable CONFIG_SCSI_MULTI_LUN option
  • 262915 Properly apply NFS mount options
  • 294268 Add support for isoboot= option
  • 268818 Enable ext4 by default everywhere
  • 270983 Add USB HID modules to modules_load and default kernel-config
  • 301454 Only call set_bootloader is CMD_NOINSTALL is not set
  • 268468 Make fbsplash switch to verbose mode in initramfs
  • 341943 Allow compilation of busybox 1.7.4 with make 3.82

Documentation fixes

  • man page: Propagate rename of --no-initrdmodules to --no-ramdisk-modules
  • 251702 Mention both initramfs and ramdisk as available actions
  • 346015 Document LUKS variable
  • 346017 Document keymap= and dokeymap
  • Update man page from output of --help
  • Fix a reference to --nomenuconfig into --no-menuconfig
  • Document --genzimage

Internal changes

  • Documented how releases are rolled
  • Migrated man page to AsciiDoc
  • Added a script to check how well documentation is in sync (maintenance/docmatcher.py)
  • Added a Makefile for generation of man page and release tarballs

Thanks for your interest.

Introducing klogripper, a union of dmesg and tail -f

Hello! I have written a small tool klogripper to continuously extract the log from the Kernel's ring buffer, something dmesg does not seem to be able to do. Building klogripper is trivial:

git clone https://github.com/hartwork/klogripper.git
cd klogripper
make

On the implementation: As calls to klogctl(SYSLOG_ACTION_SIZE_UNREAD, ...) always returned 0 here (-1 without root permissions), I use SYSLOG_ACTION_READ_ALL, instead. On each call the resulting content is compared to the previous run, and any possible overlap is cut off. The result is a continuous stream, allowing to follow the log in real time. In case you write patches for it, please feed them back to me. Thanks!

net-mail/rss2email-2.69 now in Gentoo, testers wanted

Hello! If you're wondering what rss2email is good for: one use case is combining it with IMAP so you can remember reading state across different machines. So... I have just bumped rss2email to version 2.69 in Gentoo. Before bumping, I have package-masked the upcoming version, because the packaging of 2.65 and 2.69 differ heavily. If you are using rss2email please give the new version a try in a non-production environment and open bugs as needed. Thank you!

Gentoo Linux on Lenovo T400: My journey

Intro

When I finally accepted that you cannot do serious work on a single-core 1,3GHz notebook machine with 500MB RAM (running Xubuntu, to save compilation and manual disk encryption setups) I started looking for a notebook fast enough to really run Gentoo.

I was looking for ..

  • a Lenovo machine
  • Intel dual-core 2GHz or more
  • 4GB RAM or more
  • 14.1'' 16:10 display with more than 1024x768
  • CD/DVD drive
  • 200GB disk or more
  • any non-NVIDIA graphics card
  • 3x USB or more

Variations of T400, T410 and T400s seemed to be my options. I went to buy a T400 and started feeding Gentoo to it. These details may be interesting:

Result

  • Gentoo ~amd64 system, stable GCC, XFCE, and a bunch of KDE4 apps mixed in
  • Full disk encryption (including swap)
  • /var/tmp/portage on 2GB tmpfs
  • WLAN works, sound works, even camera works. (Card reader, FireWire, modem, GPU switching, and hibernation untested)

On the hardware

  • Machine fast enough for Gentoo compilation fun (Core 2 Duo T9400 @ 2.53GHz, 4 GB RAM). See compile times below.
  • Good keyboard (both typing and layout)
  • Rather low noise so far
  • Excellent Linux support so far
  • Small keyboard (buffering?) issue still to be resolved. May be on software level though, no idea.
  • No fingerprint reader

Things I learned

Traps I hit

  • Forgot to install DHCP client first time.
  • Entered non-ASCII passphrases with wrong keymap activated. No fun.

Odds I came across

Compile times

  • 03:31:02 — OpenOffice 3.2.1-r1
  • 00:25:29 — GCC 4.4.4-r2
  • 00:06:27 — Linux Kernel 2.6.36-r3

Grub entry

title Gentoo GNU/Linux + genkernel initramfs  LATEST
root (hd0,0)
kernel (hd0,0)/vmlinuz dolvm dokeymap keymap=de \
    crypt_root=/dev/sda2 real_root=/dev/gentoo/root
initrd (hd0,0)/initramfs

USE_PYTHON in /etc/make.conf

Some packages in Gentoo support being installed for several Python versions at the same time. One of these packages is dev-python/pyinotify. If you look at the ebuild (file /usr/portage/dev-python/pyinotify/pyinotify-0.9.1.ebuild) you stumble upon these lines:

PYTHON_DEPEND="*:2.5"
SUPPORT_PYTHON_ABIS="1"
RESTRICT_PYTHON_ABIS="2.4"

These lines tell that pyinotify 0.9.1 is expected to handle Python 2.5, 2.6, 2.7 and 3.0, 3.1, and 3.2. They are discussed in detail in the Gentoo Python Developers Guide. When installing pyinotify 0.9.1 with no USE_PYTHON line in /etc/make.conf by default you will get files for the active version of Python 2.x and Python 3.x. This line of the python eclass (file /usr/portage/eclass/python.eclass) is responsible:

PYTHON_ABIS="${python2_version} ${python3_version}"

There is three different active versions of python in Gentoo: one active version for 2.x and 3.x and third, a main active version from either pool, 2.6 in my case. These commands are meant to illustrate this:

# eselect python list --python2
Available Python 2 interpreters:
[1]   python2.6 *
[2]   python2.7

# eselect python list --python3
Available Python 3 interpreters:
[1]   python3.1 *

# eselect python list
Available Python interpreters:
[1]   python2.6 *
[2]   python2.7
[3]   python3.1

So with no specification of USE_PYTHON in /etc/make.conf I would get pyinotify installed for Python 2.6 and python 3.1. As I want to have support for Python 2.7 too, I have this line in my /etc/make.conf:

USE_PYTHON="2.6 2.7 3.1"

This is what it gets me:

# equery f dev-python/pyinotify | grep site-packages
/usr/lib64/python2.6/site-packages
/usr/lib64/python2.6/site-packages/pyinotify-0.9.1-py2.6.egg-info
/usr/lib64/python2.6/site-packages/pyinotify.py
/usr/lib64/python2.7/site-packages
/usr/lib64/python2.7/site-packages/pyinotify-0.9.1-py2.7.egg-info
/usr/lib64/python2.7/site-packages/pyinotify.py
/usr/lib64/python3.1/site-packages
/usr/lib64/python3.1/site-packages/pyinotify-0.9.1-py3.1.egg-info
/usr/lib64/python3.1/site-packages/pyinotify.py

NOTE : After changing USE_PYTHON, don't forget to run python-updater! It will rebuild packages that have too little (or too much) support for Python in its current form of installation. Besides, did I mention the Python team is lacking man and woman power?

Inserting SVG into an OpenOffice document

Inserting an SVG image into an OpenOffice document (.odt) took me more time than I expected. Looking back, this is what worked for me:

  • Download SVG import extension (License: LGPL)
  • Install the extension (Menu > Tools > Extension Manager)
  • Convert to .odg (OpenDocument Drawing) using OpenOffice Draw:
    • Open the SVG file
    • Save as ODG
  • Insert ODG picture into text document (Menu > Insert > Object > OLE Object... > Create from file)