One thing that annoys me with Debian and Linux distributions in -general, is that there is a great package management system with the -ability to automatically install software packages by downloading them -from the distribution mirrors, but no way to get it to automatically -install the packages I need to use the hardware I plug into my -machine. Even if the package to use it is easily available from the -Linux distribution. When I plug in a LEGO Mindstorms NXT, it could -suggest to automatically install the python-nxt, nbc and t2n packages -I need to talk to it. When I plug in a Yubikey, it could propose the -yubikey-personalization package. The information required to do this -is available, but no-one have pulled all the pieces together.
- -Some years ago, I proposed to -use -the discover subsystem to implement this. The idea is fairly -simple: +
+The Debian Edu / Skolelinux +project is making great progress and made its second Wheezy based +release today. This is the release announcement:
+ +New features for Debian Edu 7.0.0 alpha1 released +2013-05-14
+ +This is the release notes for for Debian Edu / Skolelinux 7.0.0 edu +alpha1, 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. Immediatly 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.
+ +This is the first test release based on Wheezy (which currently is +not released yet). Basically this is an updated and slightly improved +version compared to the Squeeze release.
+ +Software updates
+-
+
- Install freemind (0.9.0) by default, and stop installing vym by + default. +
- Install chromium (26.0.1410.43) by default. +
- Install goplay (0.5-1.1) to make golearn available by default. +
- Updated support for Japanese input methods, now based on + ibus-anthy. +
Other changes
-
-
- Add a desktop entry in /usr/share/autostart/ pointing to a program - starting when a user log in. +
- Switched default file system from ext3 to ext4 for speed and + reliability improvements. +
- Got rid of unwanted winbind daemon and PAM setup activated because + of 706434. +
- Extended and improved the testsuite tests to detect more possible + problems. +
- Corrected proxy handling to not set http_proxy to a bogus + direct:// URL. +
- Corrected proxy setup for diskless workstations. +
- Corrected PXE setup to use our updated udebs during installation. +
- Made installation handling of low entropy level more robust. +
- Create larger partitions for Roaming workstations and Thin client + servers, to make room for all the software installed. +
- Fix bug in Roaming workstation PAM setup, making it impossible to + log in (706753). +
Known issues
+-
-
- Set this program up to listen for kernel events emitted when new - hardware is inserted into the computer. +
- IP resolution for the local hostname give useless IPv6 address + (705900). Only install + libnss-myhostname on roaming workstations until it is fixed. +
- DVD images are not yet ready. +
- No mass import of user account data in GOsa (ldif or csv) + available yet (698840). +
- Missing artwork for the KDE desktop (and probably a few others). +
- KDE Debian submenu lacks icons. +
- LXDE menu lacks entry for changing GOsa password + (website). Installing gosa-desktop will be an option. +
- Backup configuration via web interface is impossible due to + password submission problem + (700257). -
- When new hardware is inserted, look up the hardware ID in a - database mapping to packages, and take note of any non-installed - packages. +
Where to get it
+ +To download the multiarch netinstall CD release you can use
+-
-
- Show a message to the user proposing to install the discovered - package, and make it easy to install it. +
- ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu~7.0+edu0~a1-CD.iso +
- http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu~7.0+edu0~a1-CD.iso +
- rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu~7.0+edu0~a1-CD.iso debian-edu~7.0+edu0~a1-CD.iso
I am not sure what the best way to implement this is, but my -initial idea was to use dbus events to discover new hardware, the -discover database to find packages and -PackageKit to install -packages.
- -Yesterday, I found time to try to implement this idea, and the -draft package is now checked into -the -Debian Edu subversion repository. In the process, I updated the -discover-data -package to map the USB ids of LEGO Mindstorms and Yubikey devices to -the relevant packages in Debian, and uploaded a new version -2.2013.01.09 to unstable. I also discovered that the current -discover -package in Debian no longer discovered any USB devices, because -/proc/bus/usb/devices is no longer present. I ported it to use -libusb as a fall back option to get it working. The fixed package -version 2.1.2-6 is now in experimental (didn't upload it to unstable -because of the freeze).
- -With this prototype in place, I can insert my Yubikey, and get this -desktop notification to show up (only once, the first time it is -inserted):
- -For this prototype to be really useful, some way to automatically -install the proposed packages by pressing the "Please install -program(s)" button should to be implemented.
- -If this idea seem useful to you, and you want to help make it -happen, please help me update the discover-data database with mappings -from hardware to Debian packages. Check if 'discover-pkginstall -l' -list the package you would like to have installed when a given -hardware device is inserted into your computer, and report bugs using -reportbug if it isn't. Or, if you know of a better way to provide -such mapping, please let me know.
- -This prototype need more work, and there are several questions that -should be considered before it is ready for production use. Is dbus -the correct way to detect new hardware? At the moment I look for HAL -dbus events on the system bus, because that is the events I could see -on my Debian Squeeze KDE desktop. Are there better events to use? -How should the user be notified? Is the desktop notification -mechanism the best option, or should the background daemon raise a -popup instead? How should packages be installed? When should they -not be installed?
- -If you want to help getting such feature implemented in Debian, -please send me an email. :)
+The MD5SUM of this image is: 685ed76c1aa8e44b12d3fde21faf450b
+ +The SHA1SUM of this image is: 6c874de157024da13e115bab29c068080a11ec4c
+ +How to report bugs
+ +During Christmas, I have worked a bit on the Debian support for -LEGO Mindstorm -NXT. My son and I have played a bit with my NXT set, and I -discovered I had to build all the tools myself because none were -already in Debian Squeeze. If Debian support for LEGO is something -you care about, please join me on the IRC channel -#debian-lego (server -irc.debian.org). There is a lot that could be done to improve the -Debian support for LEGO designers. For example both CAD software -and Mindstorm compilers are missing. :)
- -Update 2012-01-03: A -project page -including links to Lego related packages is now available.
+ +In January, +I +announced a new IRC +channel #debian-lego, for those of us in the Debian and Linux +community interested in LEGO, the +marvellous construction system from Denmark. We also created +a wiki page to have +a place to take notes and write down our plans and hopes. And several +people showed up to help. I was very happy to see the effect of my +call. Since the small start, we have a debtags tag +hardware::hobby:lego +tag for LEGO related packages, and now count 10 packages related to +LEGO and Mindstorms:
+ +brickos | alternative OS for LEGO Mindstorms RCX. Supports development in C/C++ |
leocad | virtual brick CAD software |
libnxt | utility library for talking to the LEGO Mindstorms NX |
lnpd | daemon for LNP communication with BrickOS |
nbc | compiler for LEGO Mindstorms NXT bricks |
nqc | Not Quite C compiler for LEGO Mindstorms RCX |
python-nxt | python driver/interface/wrapper for the Lego Mindstorms NXT robot |
python-nxt-filer | simple GUI to manage files on a LEGO Mindstorms NXT |
scratch | easy to use programming environment for ages 8 and up |
t2n | simple command-line tool for Lego NXT |
Some of these are available in Wheezy, and all but one are +currently available in Jessie/testing. leocad is so far only +available in experimental.
+ +If you care about LEGO in Debian, please join us on IRC and help +adding the rest of the great free software tools available on Linux +for LEGO designers.