Archive for 'Slackware Linux'

My Thinkpad Edge E440 is one of the most basic models (20C5A012SG) without NVidia graphics(I only have the GPU on the Intel i5 4th generation processor). The WIFI interface installed on my machine is an Intel Wireless-N 7260. The following devices work from a fresh Slackware64 14.1 installation:
USB 2.0 and 3.0 ports
Web cam
Display in
Gigabit Ethernet port

The only notable piece of hardware not working is the WIFI interface. To make it work, I compiled a more recent 3.10.28 kernel:

1] I've disabled UEFI in the BIOS. I don't use it.
2] Install Slackware64 14.1. The only disk sets I do not install are E, F, KDEI, T, and Y.
3] Update Slackware64 14.1 first. Use the Gigabit Ethernet port for internet access.
su - # Or login as root.
cd /etc/slackpkg
cp -p mirrors mirrors.orig
vi mirrors # Enable a mirror.
slackpkg update
slackpkg upgrade-all
shutdown -r now

4] Do the following to compile the Linux 3.10.28 kernel:
su - # Or login as root.
cd /usr/src
tar xJpf ~/linux-3.10.28.tar.xz
rm linux
ln -s /usr/src/linux-3.10.28 linux
cd linux
make mrproper
cp -p /boot/config-huge-3.10.17 .config
make oldconfig
make menuconfig # You may skip this. Do this only if you need to make configuration changes.
make bzImage
make modules
make modules_install
cp arch/x86/boot/bzImage /boot/vmlinuz-huge-3.10.28
cp /boot/
cp .config /boot/config-huge-3.10.28
cd /boot
ln -s
rm config
ln -s config-huge-3.10.28 config
rm vmlinuz
ln -s vmlinuz-huge-3.10.28 vmlinuz

5] By default, sound won't work correctly. To correct this, create an /etc/asound.conf with the following content:
pcm.!default {
type hw
card 1

ctl.!default {
type hw
card 1

6] Restart your computer:
shutdown -r now
7] Login as root. And then adjust your ALSA mixer settings:
8] Save your ALSA mixer settings:
alsactl store
9] Congratulations. Your Thinkpad Edge E440 with Slackware64 14.1 should work fine now.

Long live Slackware Linux on it's 20th year! No other currently maintained Linux distribution is older than that. Viva la revolucion! Viva la Slackware Linux! 🙂

Here was Patrick Volkerding's post to the comp.os.linux newsgroup 20 years ago at July 12, 1993, 1:53:15 AM, Philippine Standard Time. It announced the birth of Slackware Linux.

From: [email protected] (Patrick J. Volkerding)
Newsgroups: comp.os.linux
Subject: Want an SLS like .99pl11A system?
Date: 11 Jul 1993 17:53:15 GMT
Organization: Case Western Reserve University, Cleveland, OH (USA)
Lines: 41
Message-ID: <[email protected]>
Reply-To: [email protected] (Patrick J. Volkerding)

Well, that's good, because I put one together. It does not yet have
XFree-86 1.3, but give me about 2 days and it will. This is not like
the MCC release, rather, it is a big system, even more bloated than
SLS :^)

Currently it has all of the same features as SLS 1.02, with these

1. The newest FAQ
2. Simplified installation procedure.
3. Kernel level .99 pl 11 Alpha.
4. libs and includes at 4.4.1, (without the limits.h problem)
5. GCC at 2.4.3 (may be 2.4.5 soon)
6. Net-2 TCP/IP preconfigured for loopback.
7. Public domain ksh and tcsh 6.04.
8. command line JPEG utilities.

On the X side, XV 3.00 has been added.

Now here's the deal: there are 13 disks in the 'A' series (same as SLS
A, B, and C) and 10 in the X series. I don't have any way to offer this
system publicly. If I tried to put it up on our 3b2 it would kill it.

This system has been used among my associates here since we put the
first one together back at pl8. Our original goal was just to debug the
SLS releases, but those have been slowing down and we happened to get a
jump on things.

I'd like to hear from you if this package sounds appealing. If demand is
not too strong, I may test releasing it on the 3b2 here.

If you have an archive site for it, LET ME KNOW! I'll set you up with a
copy of it to put up for FTP.

Take care,

Patrick Volkerding
[email protected]
[email protected]

My Slackware64 14.0 installation in my computer includes everything under the following disk sets: A, AP, D, K, KDE, L, N, TCL, X, XAP, and XFCE. I also use the XFCE window manager.

1] Turn on Canon MP287.
2] Boot Slackware64 14.0 in your computer.
3] Make sure "/etc/rc.d/rc.cups" has executable permissions. Specifically, make sure it has 755 permissions. Also, make sure it is owned by "root:root". If not, apply the permissions and ownership, and then execute an "/etc/rc.d/rc.cups restart".
4] Login as a normal user in Slackware64 14.0
5] Enter "startx" in the command line.
6] Attach the Canon MP287 to your computer via USB.
7] In XFCE, click the "Applications Menu." Then click "Settings." Lastly, click "Printing."
8] If "Connect" under the "Printing" window appears, click it. Otherwise, proceed to step 10.
9] When you see the "Connect to CUPS server" dialog, just click "Connect."
10] Click "Add" under the "Printing" window.
11] In the "Authentication" window, use your root user credentials.
12] Under "Devices", choose the option with the "Canon MP280" text. Then click "Forward".
13] Under "Choose Driver", the defaults will work. The "Select printer from database" radio button should be selected. And "Canon (recommended)" should be selected under "Makes". Click "Forward".
14] Under "Models", the default "PIXMA MP280 (recommended)" should be selected. And under drivers, the default "Canon PIXMA MP280 - CUPS+Gutenprint v5.2.9 [en] (recommended)" should be selected. Click "Forward".
15] You may assign your own values under "Describe Printer". Under here, I just keep the default "Printer Name", "Description", and "Location (optional)". Click "Apply".
16] You will be asked to print a test page. You may do so if you desire.

To make the scanner work after the printer setup described above:
1] Download scangearmp-mp280series-1.60-1-rpm.tar.gz. I got this from the official Canon support site for Singapore. Unfortunately, I can't find a SANE driver for the scanner of the Canon MP287. Thus, I've only succeeded scanning using the proprietary software in scangearmp-mp280series-1.60-1-rpm.tar.gz.
2] "su -" or login as root.
3] Change directory to where scangearmp-mp280series-1.60-1-rpm.tar.gz is located.
4] "tar xzpf scangearmp-mp280series-1.60-1-rpm.tar.gz"
5] "cd scangearmp-mp280series-1.60-1-rpm/packages"
6] "rpm -Uvh --nodeps *.x86_64.rpm"
7] Logout as root, and be a normal user.
8] Under the X Window System, issue a "scangearmp" as a regular user in a shell.
9] You may proceed to scan. You will have to execute "scangearmp" as described in the previous step every time you need to scan.

The following is a video that shows the booting of Slackware64 14.0 under a Lenovo G470 + Samsung 840 256GB SSD combination. My total RAM is 8GB. I've logged in and issued a "startx" command at the end. You might be interested on how the mentioned SSD can improve one's boot time.

I've made a simple Perl backup script. Here are the features:

  • It will tar a directory you specify in a variable.
  • The filename/s of the archive/s created will have a prefix specified by you in a variable, and it will include the date when the archive was created. A sample filename is "Michael.Balcos-2013-06-23.tar.gz"
  • As for the destination directory for the archive/s, you can also set that.
  • Backup archives older than a specified number of days in the script will be deleted.

To download the script, please click this: backupScript.txt

Be very careful in setting the $backupDir variable (it sets the destination directory of your backup archive/s). Files which are older than the maximum age specified in the script will be deleted in the directory specified by the $backupDir variable.

If you'd like to use this script, please rename the backupScript.txt file to, do a "chmod 710". I recommend that you use the script as root, thus please change the ownership by issuing a "chown root:root". You can use this script in a cron job. Currently, I've tested this script in Slackware64 14.0. It should work in other distributions.

$timeStampFinal=sprintf("%04d-%02d-%02d", $timeStampTmp[5]+1900,$timeStampTmp[4]+1,$timeStampTmp[3]);
chomp $timeStampFinal;
$maxAgeInDays=2; # Backups older than this value (in days) will be deleted.
$backupDir='/backup'; # This is where your backup archives/tarballs will go.
$dirToBackup='/directory/To/Backup'; # This is the directory to be backup.
$backupFilePrefix='Michael.Balcos'; # Format of backup filename is "<$backupFilePrefix>-<$timeStampFinal>.tar.gz". Note that the whole absolute path ( except for the leading "/" ) will be stored in your archive/tarball.
$command='tar czpf '.$backupDir.'/'.$backupFilePrefix.'-'.$timeStampFinal.'.tar.gz '.$dirToBackup.' > /dev/null 2>&1';
$command='find '.$backupDir.' -type f -maxdepth 1 -mtime +'.$maxAgeInDays.' -exec rm -f {} \;';

I have modified the ProjectFiles rc.firewall script so that it can work in recent Linux distributions. Click here to get a copy. This was tested in Slackware64 14.0. To auto-run this in Slackware64 14.0, you can easily just copy the "rc.firewall2" script to "/etc/rc.d/rc.firewall", make the ownership "root:root", and make the permissions 755.

Here are the differences to the original ProjectFiles rc.firewall script:

# diff rc.firewall2 rc.firewall
< if (( `find /lib/modules/$(uname -r)/ -iname "*$1*.ko*" | cut -d/ -f5- | grep -c "$MODULE"` )); then --- > if (( `modprobe -l | grep -c "$MODULE"` )); then

I find the Projectfiles rc.firewall script very useful for Slackware Linux. But it tends to go offline in the internet. So I'm also adding this to my blog so that I (and you 😉 ) could have another place to get it. Here's the link:

« Previous posts Next posts » Back to top