Category Archives: Linux

Stuff about Linux

KNX/EIB: System V startscript for eibd


in a previous post I have descriped how to compile the eibd daemon for the Raspberry PI. Here is a sample debian startscript to start eibd at system boot.

Login as root at your EIBd box and  created a user under which the daemon should run.

useradd eibd -s /bin/false -U -M

Create the script eibd in /etc/init.d
Continue reading KNX/EIB: System V startscript for eibd

Advertisment to support

Raspberry PI: Cross compiling the KNX/EIB eibd


if you want to use the Raspberry PI as a EIB/KNX Gateway or Tunnel you must compile the eibd sources from the scratch, because no precomplied binaries are currently available.

There are two ways to build the eibd. Compiling directly on the Raspberry PI or you compile it on your i386 PC. The last option means you have to “cross” compile the sources, because the RapsberryPi has a different processor architecture than your Intel/AMD PC. Here are the steps to build the eibd on an i386 using a crosscompiler for the ARM architucture.

I verfied the steps at a minimal debian system in a VirtualBox. So it is reproducible:-)

Install all necessary packages. Login as root

apt-get -y install git rsync cmake make gcc g++ binutils automake flex bison patch
Now you can Login as a “normal” user. Define a working folder
export BUILD_PATH=~/eibdbuild
mkdir -p $BUILD_PATH
We need a cross compiler respectively the toolchain for the arm1176jzf arm processor.
Continue reading Raspberry PI: Cross compiling the KNX/EIB eibd

Linux: Multiple ways to mount a partition in a disk image file


there are several ways to mount a partition which is within a diskimage file created for example with dd.

The first and hard way  is to determine the offset of the partition start sector and mounting the disk by specifing the offset as parameter for the loop device.

You can use the  file or fdisk command to examine the file.
root@ubdev:/mnt/RaspberryPI # file 2012-07-15-wheezy-raspbian.img
2012-07-15-wheezy-raspbian.img: x86 boot sector; partition 1: ID=0xc, starthead 130, startsector 8192, 114688 sectors; partition 2: ID=0x83, starthead 165, startsector 122880, 3665920 sectors, code offset 0xb8


root@ubdev:/mnt/RaspberryPI # fdisk 2012-07-15-wheezy-raspbian.img

Command (m for help): p

Disk 2012-07-15-wheezy-raspbian.img: 1939 MB, 1939865600 bytes
255 heads, 63 sectors/track, 235 cylinders, total 3788800 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000714e9

Device Boot                               Start         End      Blocks   Id  System
2012-07-15-wheezy-raspbian.img1            8192      122879       57344    c  W95 FAT32 (LBA)
2012-07-15-wheezy-raspbian.img2          122880     3788799     1832960   83  Linux

For example the startsector of partition 2 is 122880,  this multiplied with the 512 bytes per sector is the byte offset of the partition. 122880*512=62914560.
Continue reading Linux: Multiple ways to mount a partition in a disk image file

Linux: Automount Windows or Samba shares


today I will explain how to easy it is to automatically mount a windows share on linux.

The following packages are necessary: autofs, cifs/samba client tools

In this example I use a debian linux system.

root@dev # apt-get install autofs cifs-utils

edit the auto.master file with your favorite editor:

root@dev # vi /etc/auto.master

add the following line

/media/cifs /etc/auto.cifs --ghost

  • /media/cifs – is the root directory where the mount points are created (this is not the mount point itself!), the directory must exist.
  • /etc/auto.cifs – the definition file of the mount points
  • --ghost This option will create the mount point permanently, even the share isn’t mounted (there are doubledashes before ghost:-))

Create a new file /etc/auto.cifs and add your share definition. In this example the Windows computer is mediaserver with the share multimedia$ (Note: you have to quote the $ character in auto.cifs file or you got  cifs_mount failed w/return code = -6). The share should be mounted as user michl which has UID 1000 and GID 1000. Insert the following line to /etc/auto.cifs:

root@dev # touch /etc/auto.cifs

root@dev # vi /etc/auto.cifs
Continue reading Linux: Automount Windows or Samba shares

Linux: Switch a idle hard disk into standby mode


I have running a debian based multimedia server. The operating systems is installed on a compact flash card (/dev/sda), the data resides on a external USB SATA harddisk (/dev/sdb).
The (Server 🙂 ) Hardware is a Fujitsu Futro A240 ThinClient, with a power consumption of only 7W. I’m using the server for about 2 hours each day, therefore I looked for a method to save power and switch the USB disk to standby mode when its idle for while.

Check first if your hard disk supports the standby mode.  Ensure that the disk is idle, otherwise the disk is immediately active again.

Switch to Standby mode

root@debdev:~# hdparm -y /dev/sdb
 Continue reading Linux: Switch a idle hard disk into standby mode