Archive of posts from 2013
Upgrading from Android 2.3 'Gingerbread' to 4.3 'Jelly Bean'
Replacing my phone
My first Android phone was a ZTE Blade (sold as Orange San Francisco here in the UK). It originally shipped with Android 2.1 but was upgradable to 2.3 thanks to CyanogenMod (or other unofficial mods). However there's little sign of an upgrade to 4.x; the apps I want to use are pushing the limits of its CPU, RAM and internal storage; and I've never got very good at typing on a soft keyboard. So it seemed like time to get a newer phone with a hard keyboard (and still with a μSD slot).
Linux kernel update for wheezy (3.2.51-1)
The upcoming stable update for Debian (7.2) should have a new Linux kernel version, fixing various bugs. I have uploaded version 3.2.51-1 which is now available in wheezy-proposed-updates.
I would appreciate any regression testing people can do before this is released. Also, this fixes one of the causes of lock-ups currently seen with newer Intel GPUs, though we don't know exactly which bug reports were due to this. If you've reported this kind of problem, please test whether this version fixes it.
Updated 2013-09-23: KiBi reminded me to link to the page about proposed-updates. And the update is now available for all architectures.
The terrible state of EFI variable storage
EFI includes support for storing persistent 'variables': it implements a key-value store where keys are (UUID, string) and values are arbitrary blobs. (There are also some flags that restrict when the variables can be accessed.) The physical storage medium is normally flash. The Linux efivars module provides access to variable storage, both through a specific interface in sysfs and through the somewhat abstracted pstore interface.
What's new in the Linux kernel (and what's missing in Debian)
I'm going to DebConf 13
I'm leaving OHM 2013 and heading toward Vaumarcus today. Hoping to get lots of kernel work (and maybe some video team preparation) done during DebCamp. I proposed a talk and 3 discussion events for DebConf itself, of which all have been accepted.
Updating the Linux kernel for Debian 7.1
The first point release for Debian 'wheezy', 7.1, is due next weekend. The Linux kernel should be updated with:
- Stable release 3.2.46, fixing many bugs and adding support for various USB WWAN, serial and Bluetooth devices
- DRM drivers from stable release 3.4.47, fixing various bugs and adding support for AMD's new 'Richland' integrated GPUs
- RT stable release 3.2.45-rt66
- Support for Cypress PS/2 multitouch trackpads
- Miscellaneous bug fixes
The new package, version 3.2.46-1, is available for most architectures in stable-proposed-updates. Please test it now if you can, so we can catch any serious regressions.
That perf root exploit (CVE-2013-2094)
There's some exploit code going around that will let you get root on a range of Linux kernel versions by using a bug in the perf_event_open() syscall. The fix for this is in 3.2.45 and various other stable updates. As a workaround, until it's in Debian stable, you can set sysctl kernel.perf_event_paranoid=2. This blocks the exploit I've seen, but it is still possible to get around this restriction.
Red Hat has a SystemTap script that should provide more complete mitigation. The debuginfo packages for Debian kernels are named e.g. linux-image-3.2.0-4-amd64-dbg. They are only provided for some architectures and flavours.
Updated: Added the CVE ID. Added SystemTap information.
Warning: Debian 7.0 'wheezy' on VIA C3 and Cyrix III systems
The 'longhaul' module may cause instability or even hardware damage on some systems. Unfortunately, it is now being auto-loaded on all systems with a compatible CPU (VIA C3 or Cyrix III). See bug #707047.
Before upgrading one of these systems to Debian 7.0 'wheezy', if you do not currently use the 'longhaul' module, you should blacklist it by creating e.g. /etc/modprobe.d/blacklist-longhaul.conf containing the line:
blacklist longhaul
I would advise against attempting a fresh installation on these systems at present.
Testing network link state
Jan Wagner writes about using ethtool to poll the link state on network devices. While I'm pleased to see another happy ethtool user, it's a bit heavyweight for reading one bit of information and it's not ideal for scripting.
Much information about each network device is available under the /sys/class/net/name directory, including the carrier and speed attributes. (When the interface is down, some of these attributes cannot be read.) It's also possible to listen for link changes (rather than polling periodically) using the rtnetlink API, but this is probably not suitable for munin.
Call for testing: SAS driver update for Debian 6.0 'squeeze'
The next point update for Debian 6.0 should include many fixes and improvements to the Linux kernel. Version 2.6.32-47, currently available in the 'squeeze-proposed-updates' suite, includes updates to the following SAS drivers, adding support for new hardware:
- hpsa: HP SmartArray (bug #690100)
- megaraid_sas: LSI Logic MegaRAID, also branded as Dell PERC (bug #666108)
- isci: Intel C600 series (bug #698094)
Note that the binary package names don't change; they are still linux-image-2.6.32-5-flavour.
If you are using any of the above SAS controllers, whether or not it is already supported by Debian 6.0.6, please consider testing this kernel version. If it works, please follow up to the bug reports listed above. If you find any regressions, please report bugs against the new package version.
What's in the Linux kernel for Debian 7.0 'wheezy', part 4
The Debian package of the Linux kernel is based on Linux 3.2, but has some additional features. This continues from parts 1, 2 and 3, and covers new and improved hardware support.
What's in the Linux kernel for Debian 7.0 'wheezy', part 3
The Debian package of the Linux kernel has some additional features not present in mainline Linux 3.2. This continues from part 1 and part 2.
What's in the Linux kernel for Debian 7.0 'wheezy', part 2
The Debian package has some additional features not present in mainline Linux 3.2. Some of these were described in part 1, and this continues the list.