My thoughts on Slackware, life and everything

Category: Me (Page 25 of 27)

Using the Wiimote as a pointing device

t-dose-square

What does a Nintendo wireless controller have to do with Slackware?

Well… you’d be surprised!

On october 4th I am running a presentation about “A history of Slackware development” as part of T-DOSE (fyi: T-DOSE is a free and yearly event held in The Netherlands to promote use and development of Open Source Software). One of the other speakers is Dag Wieers, a former IBM collegue and a big name in the RPM and Redhat world. Dag is going to present his software “wiipresent” and when I read that, my curiosity was triggered. I own a Nintendo Wii (or rather, my son does) and I am interested in things that you can do with it apart from playing cool games.

Wiipresent is a small linux program that connects your computer to a Wiimote (the Wii’s wireless controller) over a bluetooth link and enables you to use the controller as a pointing device. Of course Dag is going to bring a Wiimote to the conference, but so am I 😉

Wiipresent  turned out to be extremely easy to use and the variety of buttons and the diirectional cross on the controller are all functional. The cool thing is that it uses the tilt function of the Wiimote to move the mouse pointer across your screen. So, by waving the Wiimote I can steer and control my KDE desktop, and the directional cross will be useful when I give my presentation – it allows me to move forward and backward through the slides.

And since bluetooth is used instead of infrared, I can walk around without the need to point that Wiimote to the big screen.

And this all from a program that was born as a demonstrational hack at another conference. I created some packages for Slackware 13.0 (both 32bit and 64bit) which you can obtain from my repository as usual: wiipresent and libwiimote (a required supporting library).

Have fun trying it out! Eric

Edit 09-oct-2009:

I have uploaded a PDF of my T-Dose presentation (as well as the original Tex plus bitmap files used to create that PDF). They are available at http://slackware.com/~alien/tdose2009/ .

Interviewed by Linux Magazine

I guess it will be OK to do a bit of PR for my own sake here – I am usually quite modest 😉

Linux Magazine published an interview with yours truly by Christopher Smart – aptly called “Why you should try Slackware” (I actually liked the working title better: “The swiss army knife of Linux gets 64 bits“). Christopher runs “The Distribution Channel” on the front page of Linux Magazine’s online edition.

The interview focuses on the story behind new 64bit port that was released with Slackware 13.0 but I also get the chance to try and explain why I stick with this distro through thick and thin. If there had not been a deadline and if I had not managed to almost fall asleep at the keyboard while finishing the reply text, I could have gone on a lot longer…

Due to the secretive nature of the development of Slackware’s 64bit port (we wanted to make a splash when it finally landed on the public servers), I had a hard time not to tell people outside the core team about my ideas and get feedback on my assumptions.  The interview shows a bit of this struggle. I hope you like reading it.

Cheers, Eric

Multilib Slackware64

By now, the world will be well aware that there was a new release of Slackware Linux last week. Yes, Slackware 13.0 is there… just when I was enjoying a quiet holiday at the french coast. A pity that the release date slipped past the start of my vacation, I always enjoy the virtual “party” when Pat decides to throw the switch.

This also marks the birth of the first stable official release of 64bit Slackware, aka Slackware for the x86_64 architecture, aka Slackware64.  This is a pure-64bit Slackware in the sense that it is unable to compile or run 32bit binaries out of the box. But we took great care to make Slackware64 ready for multilib.  A multilib Linux system has full support for compiling and running both 64bit and 32bit binaries. Pat Volkerding made a decision not to add full multilib capability to Slackware64 initially. Perhaps that will change in future releases.

In the meantime, it is really not hard to add a full multilib layer to Slackware64. The first step would be to build/install multilib versions of gcc and glibc. Then, you have to add 32bit versions of the supporting libraries that your 32bit software will need to run (think of qt, gtk, cups, …. you name it).

Perhaps the mention of “build/install multilib” scared you off?  To make it easy for you, I published a set of pre-built packages that you can install using “upgradepkg –install-new” (gcc and glibc need to be upgraded, the remainder are new packages). You can find those packages at http://www.slackware.com/~alien/multilib/ .

To accompany these packages I wrote an article for my Wiki explaining the steps you need to go through.  If you care to give me feedback on my multilib solution, you can do so on the article’s discussion area: http://alien.slackbook.org/dokuwiki/doku.php?id=wiki:talk:slackware:multilib .

After completing the intructions, you will have a Slackware system that is capable of building and/or running (among others) Wine, Skype, Citrix client. And many more of course!

Note: if you use slackpkg or another semi-automated package manager, you will have to add the gcc and glibc packages to the update blacklist. If you fail to do so, your package manager will automatically “upgrade” the new multilib gcc and glibc packages to their original pure64 Slackware versions…

Enjoy!

Cheers, Eric

slackware64 – yay!

[tap tap tap]… Is this thing on? 😉

Ready or not, Slackware has now gone 64-bit with an official x86_64 port being maintained in-sync with the regular x86 -current branch. DVDs will be available for purchase from the Slackware store when Slackware 13.0 is released. Many thanks go out to the Slackware team for their help with this branch and a special thank you to Eric Hameleers who did the real heavy lifting re-compiling everything for this architecture, testing, re-testing, and staying in-sync with -current.

We’ve been developing and testing Slackware64 for quite a while. Most of the team is already using Slackware64 on their personal machines, and things are working well enough that it is time to let the community check our work.

We’d like to thank the unofficial 64 bit projects for taking up the slack for us for so long so that we could take our time getting everything just right. Without those alternatives, we would have been pressured to get things out before they were really ready.

As always — have fun!

Pat and the Slackware crew

There you have it – the official 64bit version of Slackware 🙂 Eight months in the making, running stable and fast on the developers’computers for over four months now. Time to allow more people to enjoy it.

Eric

Local Slackware mirror

You will not be surprised if I tell you that I install Slackware a lot.  Inbetween the public updates to slackware-current which you can read in the ChangeLog.txt there is usually a lot of private testing.

For that purpose I keep a local mirror of the slackware-current tree.  I have written a script that keeps this local copy synchronized, and also creates the ISO images which I use for the installs.  The script is widely used by other people as well, because there are no official “slackware-current” ISO images available for download.  It is much more economical to create your own ISO images when you already have a local mirror of all the packages.

The script is appropriately called “mirror-slackware-current.sh“. If you want to know what it can do, just run it with the “-h” parameter:

$ /usr/bin/mirror-slackware-current.sh -h
-----------------------------------------------------------------
$Id: mirror-slackware-current.sh,v 1.70 2009/04/14 10:24:48 root Exp root $
-----------------------------------------------------------------
Usage:
  /usr/bin/mirror-slackware-current.sh [OPTION] ...
or:
  SLACKROOTDIR=/your/repository/dir /usr/local/sbin/mirror-slackware-current.sh [OPTION] ...

The SLACKROOTDIR is the directory that contains the directories
  slackware-<RELEASE> and slackware-<RELEASE>-iso
Current value of SLACKROOTDIR : /mirrors

You can change the script defaults in a file 'mirror-slackware-current.conf'

The script's parameters are:
  -h            This help.
  -b <number>   Limit bandwidth usage to <number> KBytes/sec.
  -c            Check for newer version of this script.
  -e            Use 'boot-load-size=32' instead of the value 4.
                 (32 is a more standard value, but a value of 4
                 will let the ISO boot with old 'broken' BIOSes).
  -f            Force sync and the creation of new ISO image(s)
                even if no update of the ChangeLog.txt was found.
                This is how you resume after an aborted attempt.
                Note: this will also create any missing local
                      directories needed for the mirror.
  -i            Only generate ISO images from our local copy;
                do not attempt to contact the remote server.
  -l <localdir> The root directory where you keep your local
                Slackware mirror; this directory contains
                slackware-<RELEASE> and slackware-<RELEASE>-iso
  -m <uri>      The rsync URI that you want to use instead of
                the script default. Example:
                -m mirrors.tuxq.com::slackware/slackware-current
                (no trailing slash!)
  -n            Only show the changes in the ChangeLog.txt
                but don't sync anything and don't generate ISOs.
  -o <iso_type> The type of ISO that you want to generate.
                iso_type can be one of:
                CDROM: produce 3 CDROM images (KDE on CD3);
                DVD  : produce a single DVD image;
                ALL  : produce CDROM and DVD images;
                NONE : produce no images at all (just sync).
                The default iso_type is CDROM.
  -p            Remove old ISO's before building the new ones
                (in case you're suffering from low free space).
  -r <release>  The release ('current' by default); use '-r 12.2'
                if you want to mirror and image slackware 12.2
  -q            Non-verbose output (for cron jobs).
  -s            Additional ssh options, in case rsync needs to
                login to the remote server using ssh. Example:
                -s "-l alien -o IdentityFile=/home/alien/.ssh/id_rsa"
  -v            Verbose progress indications.
  -w            Write a .conf file containing script defaults.
                It will be created in the script's directory,
                as 'mirror-slackware-current.conf'
  -X <xfile>    File 'xfile' contains a list of exclude patterns
                for directories that you do not want mirrored.
                Note: this will override the default exclusion of
                the 'pasture' directory so if you still want that
                excluded, add it explicitly to the file 'xfile'.
                If your intention is *not* to exclude '/pasture'
                from the mirror, use '-X none'.

An example: I have defined a cronjob which checks a Slackware mirror server once a day, and if the script detects a change in the ChangeLog.txt it will bring my local mirror back in sync, and creates a bootable DVD ISO image for me. If no changes are found, the script does not produce any output, but in case of an update it will show it’s actions on standard output. The cron daemon will mail the output of any job to the user account which runs the script, so in the morning I will find a comforting message in my inbox:

Date: Sat, 28 Mar 2009 15:44:37 +0100
From: root@darkstar
To: root@darkstar
Subject: cron: /usr/bin/mirror-slackware-current.sh -q -X none -o DVD

0a1,17
> Fri Mar 27 20:30:48 CDT 2009
> a/module-init-tools-3.6-i486-2.tgz:  Patched modprobe to not complain if
/sys
>   is not mounted.  This is none of modprobe's business.  ;-)
> l/glib2-2.18.4-i486-1.tgz:  Upgraded to glib-2.18.4 and patched.
>   This library has been patched to fix overflows that are
>   possible security holes.
>   For more information, see:
>     http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-4316
>   (* Security fix *)
> l/libxml2-2.7.3-i486-1.tgz:  Upgraded to libxml2-2.7.3.
> xap/mozilla-firefox-3.0.8-i686-1.tgz:
>   Upgraded to firefox-3.0.8.
>   This fixes some security issues.
>   For more information, see:
>     http://www.mozilla.org/security/known-vulnerabilities/firefox30.html
>   (* Security fix *)
> +--------------------------+
Sat Mar 28 15:22:06 CET 2009 [17616]: ChangeLog.txt has been updated,
starting mirror of slackware-current.
*** Using rsync.osuosl.org::slackware/slackware-current ***
Sat Mar 28 15:24:09 CET 2009 [17616]: Done mirroring slackware-current
 (exit code 0).
Sat Mar 28 15:28:04 CET 2009 [17616]: Creating DVD ISO image for
 slackware-current...
Sat Mar 28 15:38:27 CET 2009 [17616]: DVD ISO created (exit code 0) ...
Sat Mar 28 15:38:37 CET 2009 [17616]: Computing MD5 checksums of the ISO's
 (time consuming).
Sat Mar 28 15:44:31 CET 2009 [17616]: Resulting ISO files:
-rw-r--r--  1 root root 4479451136 Mar 28 15:38
/mirrors/slackware-current-iso/slackware-current-install-dvd.iso
Sat Mar 28 15:44:31 CET 2009 [17616]: Done!

This is the command line which I added to my crontab:

# Keep the Slackware -current tree in sync:
22 5 * * * /usr/bin/mirror-slackware-current.sh -q -X none -o DVD

The script used to create 2 CDROM ISO images if you wanted those (leaving out the kdei/ series, as well as the packages in extra/), but lately, the size of Slackware has increased so much that the packages no longer fit on two CDROMs. I have modified the script so that it will now produce 3 CDROM ISO images (with the kde/ series on the third CDROM) if you want to burn CD’s.

TIP: If you want to change the default values of the script, do not edit the script itself.  Instead run “mirror-slackware-current.sh -w” which will create the file “mirror-slackware-current.conf” in the same directory as “mirror-slackware-current.sh”. If you edit the variable values in “mirror-slackware-current.conf” the script will use those.

Have fun with this script,

Eric

« Older posts Newer posts »

© 2025 Alien Pastures

Theme by Anders NorenUp ↑