Buffalo NAS-Central Forums

Welcome to the Linkstation Wiki community
It is currently Sun May 20, 2018 8:46 pm

All times are UTC+01:00




Post new topic  Reply to topic  [ 5 posts ] 
Author Message
PostPosted: Mon Aug 01, 2011 3:18 am 
Offline
Newbie

Joined: Wed Oct 07, 2009 12:00 am
Posts: 48
Per request from tauflux...

The following bash script is what I use to build the kernel for the Buffalo Linkstation Mini (http://buffalo.nas-central.org/wiki/Install_Debian_6.0_%28Squeeze%29_On_Buffalo_Linkstation_Mini). The script relies on a single script function (CompileKernel) to build each kernel based on environment variable settings.

Currently, the script is configured to build the Debian 6.0 Linux kernel (version 2.6.32-35). Generic kernels (from kernel.org) and other Debian kernels can be built by uncommenting the CompileKernel statement in each desired section.

Save the following text to a file (~/build.bash), give it execute permissions (chmod 777 ~/build.bash), enable/disable desired code blocks, and start building... enjoy!

Code:
#!/bin/bash

# Compile Linux kernel for Buffalo Linkstation Mini (LS-WSGL/R1) using Kernel.org and Debian.org repositories

# See References section at end of file...

set -o errexit   # halt if any command fails (equivalent to set -e)
set -o pipefail  # halt if any command in a pipeline fails
set -o nounset   # halt if any uninitialized variable is used (equivalent to set -u)

# DEBUGGING
set -o xtrace    # print command trace before executing command
set -o verbose   # display shell lines as they are executed

function CompileKernel
{

# for debian kernels, download kernel source code from debian repository
if [ "${MINI_KERNEL_TYPE}" == "debian" ]; then
    mkdir -p /usr/src

    export MINI_KERNEL_EXTRAVERSION=-${MINI_KERNEL_PACKAGE_VERSION}-debian-lsmini
    export MINI_KERNEL_EXTRACT_DIR=/usr/src/linux-${MINI_KERNEL_VERSION_TWO}-${MINI_KERNEL_VERSION_THREE}
    export MINI_KERNEL_SOURCE_DIR=${MINI_KERNEL_EXTRACT_DIR}/debian/build/source_armel_none

    # download kernel source
    cd /usr/src
    rm -f /usr/src/linux-${MINI_KERNEL_VERSION_TWO}_${MINI_KERNEL_VERSION_THREE}.orig.tar.gz
    wget ${MINI_KERNEL_PACKAGE_REPO}/pool/main/l/linux-${MINI_KERNEL_VERSION_TWO}/linux-${MINI_KERNEL_VERSION_TWO}_${MINI_KERNEL_VERSION_THREE}.orig.tar.gz

    # download debian patch file
    cd /usr/src
    rm -f /usr/src/linux-${MINI_KERNEL_VERSION_TWO}_${MINI_KERNEL_VERSION_THREE}-${MINI_KERNEL_PACKAGE_VERSION}.diff.gz
    wget ${MINI_KERNEL_PACKAGE_REPO}/pool/main/l/linux-${MINI_KERNEL_VERSION_TWO}/linux-${MINI_KERNEL_VERSION_TWO}_${MINI_KERNEL_VERSION_THREE}-${MINI_KERNEL_PACKAGE_VERSION}.diff.gz

    # extract kernel source
    cd /usr/src
    rm -rf ${MINI_KERNEL_EXTRACT_DIR}
    tar --extract --verbose --preserve-permissions --gzip --file /usr/src/linux-${MINI_KERNEL_VERSION_TWO}_${MINI_KERNEL_VERSION_THREE}.orig.tar.gz

    # extract debian patch file
    cd /usr/src
    rm -f /usr/src/linux-${MINI_KERNEL_VERSION_TWO}_${MINI_KERNEL_VERSION_THREE}-${MINI_KERNEL_PACKAGE_VERSION}.diff   
    gunzip --stdout /usr/src/linux-${MINI_KERNEL_VERSION_TWO}_${MINI_KERNEL_VERSION_THREE}-${MINI_KERNEL_PACKAGE_VERSION}.diff.gz >/usr/src/linux-${MINI_KERNEL_VERSION_TWO}_${MINI_KERNEL_VERSION_THREE}-${MINI_KERNEL_PACKAGE_VERSION}.diff

    # apply debian patches
    cd /usr/src
    patch --strip=0 --set-utc --input=/usr/src/linux-${MINI_KERNEL_VERSION_TWO}_${MINI_KERNEL_VERSION_THREE}-${MINI_KERNEL_PACKAGE_VERSION}.diff
    cd ${MINI_KERNEL_EXTRACT_DIR}
    chmod -R 777 debian
    fakeroot debian/rules source

    # apt-get update
    # apt-get -y -t ${MINI_KERNEL_RELEASE} install linux-source-${MINI_KERNEL_VERSION_THREE}  # gets kernel source code
fi

# for generic kernels, download kernel source code from kernel.org
if [ "${MINI_KERNEL_TYPE}" == "generic" ]; then
    mkdir -p /usr/src

    export MINI_KERNEL_EXTRAVERSION=-generic-lsmini

    cd /usr/src
    rm -f /usr/src/linux-${MINI_KERNEL_VERSION_FOUR}.tar.bz2
    wget http://www.kernel.org/pub/linux/kernel/v${MINI_KERNEL_VERSION_TWO}/longterm/v${MINI_KERNEL_VERSION_THREE}/linux-${MINI_KERNEL_VERSION_FOUR}.tar.bz2
    tar --extract --verbose --bzip2 --file linux-${MINI_KERNEL_VERSION_FOUR}.tar.bz2

    if [ -f /usr/src/linux-${MINI_KERNEL_VERSION_FOUR}.tar.bz2 ];  then export MINI_KERNEL_EXTRACT_DIR=/usr/src/linux-${MINI_KERNEL_VERSION_FOUR}; fi
    if [ -f /usr/src/linux-${MINI_KERNEL_VERSION_THREE}.tar.bz2 ]; then export MINI_KERNEL_EXTRACT_DIR=/usr/src/linux-${MINI_KERNEL_VERSION_THREE}; fi
    if [ -f /usr/src/linux-${MINI_KERNEL_VERSION_TWO}.tar.bz2 ];   then export MINI_KERNEL_EXTRACT_DIR=/usr/src/linux-${MINI_KERNEL_VERSION_TWO}; fi

    export MINI_KERNEL_SOURCE_DIR=${MINI_KERNEL_EXTRACT_DIR}
fi

# configure environment variables
export MINI_KERNEL_VERSION_FULL=${MINI_KERNEL_VERSION_FOUR}${MINI_KERNEL_EXTRAVERSION}
export MINI_KERNEL_BUILD_DIR=/usr/src/linux-${MINI_KERNEL_VERSION_FULL}
export MINI_KERNEL_IMAGE_FILE_NAME=uImage-linux-${MINI_KERNEL_VERSION_FULL}.buffalo

# move kernel source to build directory
cd /usr/src
rm -rf ${MINI_KERNEL_BUILD_DIR}
cp -al ${MINI_KERNEL_SOURCE_DIR} ${MINI_KERNEL_BUILD_DIR}


echo -e "
MINI_KERNEL_VERSION_TWO=${MINI_KERNEL_VERSION_TWO}\n
MINI_KERNEL_VERSION_THREE=${MINI_KERNEL_VERSION_THREE}\n
MINI_KERNEL_VERSION_FOUR=${MINI_KERNEL_VERSION_FOUR}\n
MINI_KERNEL_EXTRAVERSION=${MINI_KERNEL_EXTRAVERSION}\n
MINI_KERNEL_VERSION_FULL=${MINI_KERNEL_VERSION_FULL}\n
MINI_KERNEL_EXTRACT_DIR=${MINI_KERNEL_EXTRACT_DIR}\n
MINI_KERNEL_SOURCE_DIR=${MINI_KERNEL_SOURCE_DIR}\n
MINI_KERNEL_BUILD_DIR=${MINI_KERNEL_BUILD_DIR}\n
MINI_KERNEL_IMAGE_FILE_NAME=${MINI_KERNEL_IMAGE_FILE_NAME}
"

# remove kernel configuration file
cd /usr/src
rm -f ${MINI_KERNEL_BUILD_DIR}/.config

# try to restore from backup
if [ -f /usr/src/kernel-${MINI_KERNEL_VERSION_FULL}.config ]; then cp -a /usr/src/kernel-${MINI_KERNEL_VERSION_FULL}.config ${MINI_KERNEL_BUILD_DIR}/.config; fi
if [ -f ~/linux/kernels/${MINI_KERNEL_VERSION_FULL}/kernel-${MINI_KERNEL_VERSION_FULL}.config ]; then cp -a ~/linux/kernels/${MINI_KERNEL_VERSION_FULL}/kernel-${MINI_KERNEL_VERSION_FULL}.config ${MINI_KERNEL_BUILD_DIR}/.config; fi

# if no backup, use general kernel configuration
if [ ! -f ${MINI_KERNEL_BUILD_DIR}/.config ];
then
    if [ -f /usr/src/kernel-default.config ];
    then
        cp -a /usr/src/kernel-default.config ${MINI_KERNEL_BUILD_DIR}/.config;
    fi;
fi

# if no backup, create configuration file from running kernel configuration
if [ ! -f ${MINI_KERNEL_BUILD_DIR}/.config ]; then gzip --decompress --stdout /proc/config >${MINI_KERNEL_BUILD_DIR}/.config; fi

# if no kernel configuration found, then start with barebones orion configuration
### WARNING ###
### WARNING ###
### WARNING ###
### This is a last resort and IS NOT RECOMMENDED
### WARNING ###
### WARNING ###
### WARNING ###
if [ ! -f ${MINI_KERNEL_BUILD_DIR}/.config ]; then make ARCH=arm orion5x_defconfig; fi

# remove any previous builds
cd /usr/src
cd ${MINI_KERNEL_BUILD_DIR}
make ARCH=arm EXTRAVERSION=${MINI_KERNEL_EXTRAVERSION} clean

# adjust kernel configuration with user interface
cd /usr/src
cd ${MINI_KERNEL_BUILD_DIR}
make menuconfig

# backup kernel configuration file
cd /usr/src
cp -a ${MINI_KERNEL_BUILD_DIR}/.config /usr/src/kernel-${MINI_KERNEL_VERSION_FULL}.config

# build kernel
cd /usr/src
cd ${MINI_KERNEL_BUILD_DIR}
make ARCH=arm EXTRAVERSION=${MINI_KERNEL_EXTRAVERSION} zImage

# build modules (ok to do in parallel)
cd /usr/src
cd ${MINI_KERNEL_BUILD_DIR}
make ARCH=arm EXTRAVERSION=${MINI_KERNEL_EXTRAVERSION} modules

# remove installed modules
export MINI_KERNEL_MODULE_DIR=/lib/modules/${MINI_KERNEL_VERSION_THREE}${MINI_KERNEL_EXTRAVERSION}
rm -rf ${MINI_KERNEL_MODULE_DIR}

# install modules
cd /usr/src
cd ${MINI_KERNEL_BUILD_DIR}
make ARCH=arm EXTRAVERSION=${MINI_KERNEL_EXTRAVERSION} modules_install

# remove temporary files
cd /usr/src
cd ${MINI_KERNEL_BUILD_DIR}
rm -f ${MINI_KERNEL_BUILD_DIR}/devio.output
rm -f ${MINI_KERNEL_BUILD_DIR}/zImage.lsmini
rm -f ${MINI_KERNEL_BUILD_DIR}/uImage-${MINI_KERNEL_VERSION_FULL}.buffalo

# create u-boot image (uImage.buffalo)
cd /usr/src
cd ${MINI_KERNEL_BUILD_DIR}
devio 'wl 0xe3a01c07,4' 'wl 0xe3811042,4' >${MINI_KERNEL_BUILD_DIR}/devio.output
cat ${MINI_KERNEL_BUILD_DIR}/devio.output ${MINI_KERNEL_BUILD_DIR}/arch/arm/boot/zImage >${MINI_KERNEL_BUILD_DIR}/zImage.lsmini
mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n "linux-${MINI_KERNEL_VERSION_FULL}" -d ${MINI_KERNEL_BUILD_DIR}/zImage.lsmini ${MINI_KERNEL_BUILD_DIR}/uImage-linux-${MINI_KERNEL_VERSION_FULL}.buffalo
rm -f ${MINI_KERNEL_BUILD_DIR}/devio.output
rm -f ${MINI_KERNEL_BUILD_DIR}/zImage.lsmini

# archive kernel files
mkdir -p ~/linux
mkdir -p ~/linux/archives/
mkdir -p ~/linux/configs/
mkdir -p ~/linux/kernels/

rm -f ~/linux/configs/kernel-${MINI_KERNEL_VERSION_FULL}.config
rm -f ~/linux/archives/kernel-${MINI_KERNEL_VERSION_FULL}.tar.bz2
rm -f ~/linux/archives/kernel-${MINI_KERNEL_VERSION_FULL}.tar.gz
export MINI_KERNEL_DIR=~/linux/kernels/${MINI_KERNEL_VERSION_FULL}/
rm -rf ${MINI_KERNEL_DIR}

mkdir -p ~/linux/kernels/${MINI_KERNEL_VERSION_FULL}/
mkdir -p ~/linux/kernels/${MINI_KERNEL_VERSION_FULL}/boot
mkdir -p ~/linux/kernels/${MINI_KERNEL_VERSION_FULL}/lib
mkdir -p ~/linux/kernels/${MINI_KERNEL_VERSION_FULL}/lib/modules
mkdir -p ~/linux/kernels/${MINI_KERNEL_VERSION_FULL}/lib/modules/${MINI_KERNEL_VERSION_THREE}${MINI_KERNEL_EXTRAVERSION}

cp -a ${MINI_KERNEL_BUILD_DIR}/uImage-linux-${MINI_KERNEL_VERSION_FULL}.buffalo ~/linux/kernels/${MINI_KERNEL_VERSION_FULL}/boot/uImage.buffalo
cp -ar /lib/modules/${MINI_KERNEL_VERSION_THREE}${MINI_KERNEL_EXTRAVERSION}/* ~/linux/kernels/${MINI_KERNEL_VERSION_FULL}/lib/modules/${MINI_KERNEL_VERSION_THREE}${MINI_KERNEL_EXTRAVERSION}/
cp -a /usr/src/kernel-${MINI_KERNEL_VERSION_FULL}.config ~/linux/kernels/${MINI_KERNEL_VERSION_FULL}/kernel-${MINI_KERNEL_VERSION_FULL}.config

cd ~/linux/kernels/${MINI_KERNEL_VERSION_FULL}/
rm -f ~/linux/archives/kernel-${MINI_KERNEL_VERSION_FULL}.tar.gz
rm -f ~/linux/archives/kernel-${MINI_KERNEL_VERSION_FULL}.tar.bz2
tar --create --verbose --preserve-permissions --gzip  --file ~/linux/archives/kernel-${MINI_KERNEL_VERSION_FULL}.tar.gz  .
tar --create --verbose --preserve-permissions --bzip2 --file ~/linux/archives/kernel-${MINI_KERNEL_VERSION_FULL}.tar.bz2 .
cp -a /usr/src/kernel-${MINI_KERNEL_VERSION_FULL}.config ~/linux/configs/kernel-${MINI_KERNEL_VERSION_FULL}.config

cd ~/linux
}

# References
# Debian Linux Kernel Handbook
# http://kernel-handbook.alioth.debian.org/ch-source.html

# http://www.howtoforge.com/kernel_compilation_ubuntu_p2
# http://buffalo.nas-central.org/wiki/Buffalo_ARM9_Kernel_Port

# http://code.google.com/p/buffalo-nas-hacking/
# http://www.nas-central.org/orion-nas-customisation

# Technical specification for Buffalo Linkstation Mini from...
# http://buffalo.nas-central.org/index.php/Category:LS-WSGL/R1
#
# CPU: ARM 266.24 BogoMIPS ARM926EJ-Sid(wb) rev 0 (v5l) (88F5182-A2 C400 - 400MHz ARM Processor Marvell SoC) 
# RAM: 128MiB DDR2-533 - 2 modules a 32MBx16 - either Elpida EDE5116AFSE-5C-E or NANYA NT5TU32M16AG-3C
# Flash ROM: NANIYARA SST39VF020 4Mb - 256kB x8 (NOR) 
# RTC: Ricoh RS5C372A (I2C)   
# NIC: MARVELL 88E1118 Gigabit Ethernet Transceiver ("Alaska" series) RJ-45 
# USB: 1x Type A 
# internal HDD: 2x SATA 2,5" 
# IDE/SATA Controller on the SOC 
# Drive Capacity: 2x250GB or 2x500GB (Hitachi Travelstar 5K500 500GB SATA II HTS545050KTA300 / Western Digital (Scorpio Blue) WD5000BEVT ) 
# Fan: none 
# initial Networkname: LS-WSGL1AC

# kernel-package  # for building custom kernels
# libncurses5-dev # for running text-based GUI tools (needed by menuconfig)
# uboot-mkimage   # for creating uImage.buffalo
# devio           # for assigning lsmini machine type to uImage.buffalo
# wget            # for downloading files from the internet
# bzip2           # for extracting bzip2 archives
# debhelper       # for patching debian kernel source
# python          # for patching debian kernel source

# install required packages
apt-get update
echo "" | apt-get -q -y install kernel-package libncurses5-dev uboot-mkimage devio wget bzip2 debhelper python


### WARNING ###
### WARNING ###
### WARNING ###

### Despite kernel options that seem to support it...
### Older Kernel versions (2.6.29 and earlier) DO NOT WORK WITH LINKSTATION MINI

### WARNING ###
### WARNING ###
### WARNING ###

export MINI_KERNEL_TYPE=generic
export MINI_KERNEL_VERSION_TWO=2.6
export MINI_KERNEL_VERSION_THREE=2.6.38
export MINI_KERNEL_VERSION_FOUR=2.6.38.3
# CompileKernel

export MINI_KERNEL_TYPE=generic
export MINI_KERNEL_VERSION_TWO=2.6
export MINI_KERNEL_VERSION_THREE=2.6.35
export MINI_KERNEL_VERSION_FOUR=2.6.35.12
# CompileKernel

export MINI_KERNEL_TYPE=generic
export MINI_KERNEL_VERSION_TWO=2.6
export MINI_KERNEL_VERSION_THREE=2.6.34
export MINI_KERNEL_VERSION_FOUR=2.6.34.9
# CompileKernel

export MINI_KERNEL_TYPE=generic
export MINI_KERNEL_VERSION_TWO=2.6
export MINI_KERNEL_VERSION_THREE=2.6.33
export MINI_KERNEL_VERSION_FOUR=2.6.33.11
# CompileKernel

export MINI_KERNEL_TYPE=generic
export MINI_KERNEL_VERSION_TWO=2.6
export MINI_KERNEL_VERSION_THREE=2.6.32
export MINI_KERNEL_VERSION_FOUR=2.6.32.38
# CompileKernel

export MINI_KERNEL_TYPE=generic
export MINI_KERNEL_VERSION_TWO=2.6
export MINI_KERNEL_VERSION_THREE=2.6.31
export MINI_KERNEL_VERSION_FOUR=2.6.31.14
# CompileKernel

# Debian 5.0 kernel 2.6.32 backport
export MINI_KERNEL_TYPE=debian
export MINI_KERNEL_VERSION_TWO=2.6
export MINI_KERNEL_VERSION_THREE=2.6.32
export MINI_KERNEL_VERSION_FOUR=2.6.32
export MINI_KERNEL_PACKAGE_VERSION=30~bpo50+1
export MINI_KERNEL_PACKAGE_REPO=http://backports.debian.org/debian-backports
# CompileKernel

# Debian 6.0 kernel 2.6.32-35
export MINI_KERNEL_TYPE=debian
export MINI_KERNEL_VERSION_TWO=2.6
export MINI_KERNEL_VERSION_THREE=2.6.32
export MINI_KERNEL_VERSION_FOUR=2.6.32
export MINI_KERNEL_PACKAGE_VERSION=35
export MINI_KERNEL_PACKAGE_REPO=http://ftp.debian.org/debian
CompileKernel

# create archive of all kernels
cd ~/linux/kernels
rm -f kernels.tar.bz2
tar --create --verbose --preserve-permissions --gzip  --file ~/linux/archives/kernels.tar.gz  .
tar --create --verbose --preserve-permissions --bzip2 --file ~/linux/archives/kernels.tar.bz2 .

# uncomment this block to change the boot kernel to the last built kernel
# cd /boot
# cp -a ${MINI_KERNEL_BUILD_DIR}/uImage-linux-${MINI_KERNEL_VERSION_FULL}.buffalo /boot/uImage.buffalo


Top
   
PostPosted: Wed Aug 03, 2011 9:42 pm 
Offline
Newbie

Joined: Thu Jul 28, 2011 8:27 am
Posts: 12
'tried the script as posted on a fairly fresh install of Squeeze on a Buffalo Linkstation Pro Duo LS-WTGL-R1v3.
Start:
root@stomach:~# uname -a
Linux stomach 2.6.32-31-debian-lsmini #1 Mon Apr 25 01:19:22 EDT 2011 armv5tel GNU/Linux
root@stomach:~# cat /etc/debian_version
6.0.1


Pulled in Python2.6, devio, libncurses, uboot-mkimage.
Applied Debian patches
Read /proc/config
Dropped in menu_config
Made the kernel.
Debian tried to build a new initrd.
I copied it manually once I felt brave enough.
Rebooted. And it came back up astonishingly quickly.

Finish:
root@stomach:~# uname -a
Linux stomach 2.6.32-35-debian-lsmini #1 Tue Aug 2 00:25:32 BST 2011 armv5tel GNU/Linux
root@stomach:~# cat /etc/debian_version
6.0.1


Aptitude then installed lvm2 with no complaints about kernel headers.
There's a copy of the kernel and modules in ~root and working copies in /lib/modules/2.6.32-35-debian-lsmini.

Thanks to rpinchbeck for this great script that helps you build a kernel for a Buffalo Linkstation Pro Duo LS-WTGL/R1V3 bringing linux-source headers along the way to allow you to install stuff like lvm2 and iSCSI target.


Top
   
PostPosted: Thu Aug 04, 2011 5:36 am 
Offline
Newbie

Joined: Wed Oct 07, 2009 12:00 am
Posts: 48
Glad it worked for you.
What modules did you add for lvm2 support?
Should add them to my build?

It tried to build a new initrd? Did you mean uimage.buffalo?


Top
   
PostPosted: Fri Aug 05, 2011 11:32 pm 
Offline
Newbie

Joined: Thu Jul 28, 2011 8:27 am
Posts: 12
Looking at the file times. It was the lvm2 installation that prompted the initrd rebuild (initrd.img-2.6.32-5-iop32x).
I suspect it's because I tried installing Debian kernel sources before I realised the last digits were different to the one in your original rootfs. I'm unfamiliar with Debian and have not yet worked out what to uninstall and delete now that I'm using your script for kernel source. Any pointers to a "equery belongs <file name>" command for Debian?

root@stomach:~# ls -l /boot
total 13996
-rw-r--r-- 1 root root 81828 Jun 15 08:52 config-2.6.32-5-iop32x
-rw-r--r-- 1 501 uucp 252322 Oct 9 2008 initrd.buffalo
-rw-r--r-- 1 root root 8483529 Aug 3 17:09 initrd.img-2.6.32-5-iop32x
-rw-r--r-- 1 501 uucp 49 Oct 9 2008 initrd-md13.md5sum
drwx------ 2 root root 12288 May 8 16:03 lost+found
-rw-r--r-- 1 root root 943901 Jun 15 08:52 System.map-2.6.32-5-iop32x
-rw-r--r-- 1 root root 1626532 Aug 2 02:00 uImage.buffalo
-rw-r--r-- 1 root root 1606860 Apr 25 07:54 uImage.buffalo.orig.110801
-rw-r--r-- 1 root root 1255584 Jun 15 08:51 vmlinuz-2.6.32-5-iop32x


For lvm I needed Device Mapper. It's storage related so including it would get my vote. Including the kernel source would give the most flexibility but I think your procedure to switch to Debian is strong in that it gets you to a vanilla Debian setup; perhaps mention the kernel script in a "Next Steps" round-up.


Top
   
PostPosted: Sat Aug 06, 2011 12:59 am 
Offline
Newbie

Joined: Wed Oct 07, 2009 12:00 am
Posts: 48
Yep, looks like leftover stuff from a different kernel build. I'm reckon the initrd.img file is not used... the device uses initrd.buffalo which does not appear to have changed. The only command I know/use for adding/removing packages is apt-get. Of course, you can always revert the device and start with a fresh install again... :-)

-=Bob


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 5 posts ] 

All times are UTC+01:00


Who is online

Users browsing this forum: Google [Bot] and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Powered by phpBB® Forum Software © phpBB Limited