Yesterday, I -asked -for testers for my prototype for making Debian better at handling -pluggable hardware devices, which I -set -out to create earlier this month. Several valuable testers showed -up, and caused me to really want to to open up the development to more -people. But before I did this, I want to come up with a sensible name -for this project. Today I finally decided on a new name, and I have -renamed the project from hw-support-handler to this new name. In the -process, I moved the source to git and made it available as a -collab-maint -repository in Debian. The new name? It is Isenkram. -To fetch and build the latest version of the source, use
- --git clone git://anonscm.debian.org/collab-maint/isenkram.git -cd isenkram && git-buildpackage -us -uc -- -
I have not yet adjusted all files to use the new name yet. If you -want to hack on the source or improve the package, please go ahead. -But please talk to me first on IRC or via email before you do major -changes, to make sure we do not step on each others toes. :)
- -If you wonder what 'isenkram' is, it is a Norwegian word for iron -stuff, typically meaning tools, nails, screws, etc. Typical hardware -stuff, in other words. I've been told it is the Norwegian variant of -the German word eisenkram, for those that are familiar with that -word.
- -Update 2013-01-26: Added -us -us to build -instructions, to avoid confusing people with an error from the signing -process.
+ +The first wheezy based beta release of Debian Edu was wrapped up +today. This is the release announcement:
+ +New features for Debian Edu 7.1+edu0~b0 released +2013-07-27
+ +These are the release notes for for Debian Edu / Skolelinux +7.1+edu0~b0, based on Debian with codename "Wheezy".
+ +About Debian Edu and Skolelinux
+ +Debian Edu, also known as +Skolelinux, is a Linux distribution based on Debian providing an +out-of-the box environment of a completely configured school +network. Immediately after installation a school server running all +services needed for a school network is set up just waiting for users +and machines being added via GOsa², a comfortable Web-UI. A netbooting +environment is prepared using PXE, so after initial installation of +the main server from CD, DVD or USB stick all other machines can be +installed via the network. The provided school server provides LDAP +database and Kerberos authentication service, centralized home +directories, DHCP server, web proxy and many other services. The +desktop contains +more +than 60 educational software packages and more are available from +the Debian archive, and schools can choose between KDE, Gnome, LXDE +and Xfce desktop environment.
+ +This is the fifth test release based on Debian Wheezy. Basically +this is an updated and slightly improved version compared to the +Squeeze release.
+ +ALERT: Alpha based installations should reinstall or downgrade the +versions of gosa and libpam-mklocaluser to the ones used in this beta +release.
+ +Software updates
+ +-
+
+
- Switched roaming workstation profiles from wicd to network-manager + for network configuration, as wicd didn't work any more. +
- Changed version numbers of patched gosa and libpam-mklocaluser + packages to make sure our locally patched versions will be replaced + by the official packages when they are released from Debian. Those + installing alpha version need to reinstall or manually downgrade gosa + and libpam-mklocaluser. +
- Added bluetooth tools to the default desktop (bluedevil, blueman). +
- Added tools for sharing the desktop on KDE (krdc, krfb). +
- Added valgrind to the default installation for easier debugging of + crash bugs. + +
Other changes
+ +-
+
+
- Fixed artwork package to work with gnome, no longer break + desktop=gnome installations. +
- Adjusted installer to now work when forced to use a proxy with the + netinst CD. +
- Fixed code detecting and setting/loading hardware specific + setup/firmware to work more robust out of the box. +
- Adjusted Kerberos setup to detect realm and server settings at + install time instead of dynamically at run time. This avoid a crash + with krb5-auth-dialog on diskless workstations without a DNS name. +
- Worked around misfeature in network-manager not calling the dhclient + exit hooks, causing automatic proxy configuration and automatic host + name setting at run time to work again. +
- Fixed feature setting the default Iceweasel start page from URL + fetched from LDAP, to allow schools to set the global default by + updating the dc=skole,dc=skolelinux,dc=no LDAP object. +
- Changed default host name on all networked machines to be unique + (generated from MAC or reverse DNS) after boot. +
- Adjusted partition sizes to make sure they are big enough. + +
Known issues
+ +-
+
+
- Grub is missing the new artwork. +
- KDE fail to understand the wpad.dat file provided, causing it to + not use the http proxy as it should. +
- Chromium also fail to use the proxy. + +
Where to get it
+ +To download the multiarch netinstall CD release you can use
+ +-
+
+
- ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b0-CD.iso + +
- http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b0-CD.iso + +
- rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.1+edu0~b0-CD.iso . + +
The MD5SUM of this image is: 55d5de9765b6dccd5d9ec33cf1a07109
+
The SHA1SUM of this image is: 996a1d9517740e4d627d100de2d12b23dd545a3f
To download the multiarch USB stick ISO release you can use
+ +-
+
+
- ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b0-USB.iso +
- http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b0-USB.iso +
- rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.1+edu0~b0-USB.iso . + +
The MD5SUM of this image is: d8f0818c51a78d357de794066f289f69
+
The SHA1SUM of this image is: 49185ca354e8d0543240423746924f76a6cee733
How to report bugs
+ +Early this month I set out to try to -improve -the Debian support for pluggable hardware devices. Now my -prototype is working, and it is ready for a larger audience. To test -it, fetch the -source -from the Debian Edu subversion repository, build and install the -package. You might have to log out and in again activate the -autostart script.
- -The design is simple:
+ +Today I switched to +my +new laptop. I've previously written about the problems I had with +my new Thinkpad X230, which was delivered with an +180 +GB Intel SSD disk with Lenovo firmware that did not handle +sustained writes. My hardware supplier have been very forthcoming in +trying to find a solution, and after first trying with another +identical 180 GB disks they decided to send me a 256 GB Samsung SSD +disk instead to fix it once and for all. The Samsung disk survived +the installation of Debian with encrypted disks (filling the disk with +random data during installation killed the first two), and I thus +decided to trust it with my data. I have installed it as a Debian Edu +Wheezy roaming workstation hooked up with my Debian Edu Squeeze main +server at home using Kerberos and LDAP, and will use it as my work +station from now on.
+ +As this is a solid state disk with no moving parts, I believe the +Debian Wheezy default installation need to be tuned a bit to increase +performance and increase life time of the disk. The Linux kernel and +user space applications do not yet adjust automatically to such +environment. To make it easier for my self, I created a draft Debian +package ssd-setup to handle this tuning. The +source +for the ssd-setup package is available from collab-maint, and it +is set up to adjust the setup of the machine by just installing the +package. If there is any non-SSD disk in the machine, the package +will refuse to install, as I did not try to write any logic to sort +file systems in SSD and non-SSD file systems.
+ +I consider the package a draft, as I am a bit unsure how to best +set up Debian Wheezy with an SSD. It is adjusted to my use case, +where I set up the machine with one large encrypted partition (in +addition to /boot), put LVM on top of this and set up partitions on +top of this again. See the README file in the package source for the +references I used to pick the settings. At the moment these +parameters are tuned:
-
-
- Add desktop entry in /usr/share/autostart/ causing a program -hw-support-handlerd to start when the user log in. +
- Set up cryptsetup to pass TRIM commands to the physical disk + (adding discard to /etc/crypttab) + +
- Set up LVM to pass on TRIM commands to the underlying device (in + this case a cryptsetup partition) by changing issue_discards from + 0 to 1 in /etc/lvm/lvm.conf. -
- This program listen for kernel events about new hardware (directly -from the kernel like udev does), not using HAL dbus events as I -initially did. +
- Set relatime as a file system option for ext3 and ext4 file + systems. -
- When new hardware is inserted, look up the hardware modalias in -the APT database, a database -available -via HTTP and a database available as part of the package. +
- Tell swap to use TRIM commands by adding 'discard' to + /etc/fstab. -
- If a package is mapped to the hardware in question, the package -isn't installed yet and this is the first time the hardware was -plugged in, show a desktop notification suggesting to install the -package or packages. +
- Change I/O scheduler from cfq to deadline using a udev rule. -
- If the user click on the 'install package now' button, ask -aptdaemon via the PackageKit API to install the requrired package. +
- Run fstrim on every ext3 and ext4 file system every night (from + cron.daily). -
- aptdaemon ask for root password or sudo password, and install the -package while showing progress information in a window. +
- Adjust sysctl values vm.swappiness to 1 and vm.vfs_cache_pressure + to 50 to reduce the kernel eagerness to swap out processes.
I still need to come up with a better name for the system. Here -are some screen shots showing the prototype in action. First the -notification, then the password request, and finally the request to -approve all the dependencies. Sorry for the Norwegian Bokmål GUI.
- -
-
-
-
-
The prototype still need to be improved with longer timeouts, but -is already useful. The database of hardware to package mappings also -need more work. It is currently compatible with the Ubuntu way of -storing such information in the package control file, but could be -changed to use other formats instead or in addition to the current -method. I've dropped the use of discover for this mapping, as the -modalias approach is more flexible and easier to use on Linux as long -as the Linux kernel expose its modalias strings directly.
- -Update 2013-01-21 16:50: Due to popular demand, -here is the command required to check out and build the source: Use -'svn checkout -svn://svn.debian.org/debian-edu/trunk/src/hw-support-handler/; cd -hw-support-handler; debuild'. If you lack debuild, install the -devscripts package.
- -Update 2013-01-23 12:00: The project is now -renamed to Isenkram and the source moved from the Debian Edu -subversion repository to a Debian collab-maint git repository. See -build -instructions for details.
+During installation, I cancelled the part where the installer fill +the disk with random data, as this would kill the SSD performance for +little gain. My goal with the encrypted file system is to ensure +those stealing my laptop end up with a brick and not a working +computer. I have no hope in keeping the really resourceful people +from getting the data on the disk (see +XKCD #538 for an explanation why). +Thus I concluded that adding the discard option to crypttab is the +right thing to do.
+ +I considered using the noop I/O scheduler, as several recommended +it for SSD, but others recommended deadline and a benchmark I found +indicated that deadline might be better for interactive use.
+ +I also considered using the 'discard' file system option for ext3 +and ext4, but read that it would give a performance hit ever time a +file is removed, and thought it best to that that slowdown once a day +instead of during my work.
+ +My package do not set up tmpfs on /var/run, /var/lock and /tmp, as +this is already done by Debian Edu.
+ +I have not yet started on the user space tuning. I expect +iceweasel need some tuning, and perhaps other applications too, but +have not yet had time to investigate those parts.
+ +The package should work on Ubuntu too, but I have not yet tested it +there.
+ +As for the answer to the question in the title of this blog post, +as far as I know, the only solution I know about is to replace the +disk. It might be possible to flash it with Intel firmware instead of +the Lenovo firmware. But I have not tried and did not want to do so +without approval from Lenovo as I wanted to keep the warranty on the +disk until a solution was found and they wanted the broken disks +back.
This Christmas my trusty old laptop died. It died quietly and -suddenly in bed. With a quiet whimper, it went completely quiet and -black. The power button was no longer able to turn it on. It was a -IBM Thinkpad X41, and the best laptop I ever had. Better than both -Thinkpads X30, X31, X40, X60, X61 and X61S. Far better than the -Compaq I had before that. Now I need to find a replacement. To keep -going during Christmas, I moved the one year old SSD disk to my old -X40 where it fitted (only one I had left that could use it), but it is -not a durable solution. - -
My laptop needs are fairly modest. This is my wishlist from when I -got a new one more than 10 years ago. It still holds true.:)
- --
-
-
- Lightweight (around 1 kg) and small volume (preferably smaller - than A4). -
- Robust, it will be in my backpack every day. -
- Three button mouse and a mouse pin instead of touch pad. -
- Long battery life time. Preferable a week. -
- Internal WIFI network card. -
- Internal Twisted Pair network card. -
- Some USB slots (2-3 is plenty) -
- Good keyboard - similar to the Thinkpad. -
- Video resolution at least 1024x768, with size around 12" (A4 paper -size). -
- Hardware supported by Debian Stable, ie the default kernel and - X.org packages. -
- Quiet, preferably fan free (or at least not using the fan most of - the time). - -
You will notice that there are no RAM and CPU requirements in the -list. The reason is simply that the specifications on laptops the -last 10-15 years have been sufficient for my needs, and I have to look -at other features to choose my laptop. But are there still made as -robust laptops as my X41? The Thinkpad X60/X61 proved to be less -robust, and Thinkpads seem to be heading in the wrong direction since -Lenovo took over. But I've been told that X220 and X1 Carbon might -still be useful.
- -Perhaps I should rethink my needs, and look for a pad with an -external keyboard? I'll have to check the -Linux Laptops site for -well-supported laptops, or perhaps just buy one preinstalled from one -of the vendors listed on the Linux -Pre-loaded site.
+ +A few days ago, I wrote about +the +problems I experienced with my new X230 and its SSD disk, which +was dying during installation because it is unable to cope with +sustained write. My supplier is in contact with +Lenovo, and they wanted to send a +replacement disk to try to fix the problem. They decided to send an +identical model, so my hopes for a permanent fix was slim.
+ +Anyway, today I got the replacement disk and tried to install +Debian Edu Wheezy with encrypted disk on it. The new disk have the +same firmware version as the original. This time my hope raised +slightly as the installation progressed, as the original disk used to +die after 4-7% of the disk was written to, while this time it kept +going past 10%, 20%, 40% and even past 50%. But around 60%, the disk +died again and I was back on square one. I still do not have a new +laptop with a disk I can trust. I can not live with a disk that might +lock up when I download a new +Debian Edu / Skolelinux ISO or +other large files. I look forward to hearing from my supplier with +the next proposal from Lenovo.
+ +The original disk is marked Intel SSD 520 Series 180 GB, +11S0C38722Z1ZNME35X1TR, ISN: CVCV321407HB180EGN, SA: G57560302, FW: +LF1i, 29MAY2013, PBA: G39779-300, LBA 351,651,888, LI P/N: 0C38722, +Pb-free 2LI, LC P/N: 16-200366, WWN: 55CD2E40002756C4, Model: +SSDSC2BW180A3L 2.5" 6Gb/s SATA SSD 180G 5V 1A, ASM P/N 0C38732, FRU +P/N 45N8295, P0C38732.
+ +The replacement disk is marked Intel SSD 520 Series 180 GB, +11S0C38722Z1ZNDE34N0L0, ISN: CVCV315306RK180EGN, SA: G57560-302, FW: +LF1i, 22APR2013, PBA: G39779-300, LBA 351,651,888, LI P/N: 0C38722, +Pb-free 2LI, LC P/N: 16-200366, WWN: 55CD2E40000AB69E, Model: +SSDSC2BW180A3L 2.5" 6Gb/s SATA SSD 180G 5V 1A, ASM P/N 0C38732, FRU +P/N 45N8295, P0C38732.
+ +The only difference is in the first number (serial number?), ISN, +SA, date and WNPP values. Mentioning all the details here in case +someone is able to use the information to find a way to identify the +failing disk among working ones (if any such working disk actually +exist).