diff --git a/defaults/main.yml b/defaults/main.yml
index b04d4fa6bd439be2f26f4d71292693a93aa92a8c..25e9dc18ad3ea73b673d8f5cc802e83faf0545ee 100644
--- a/defaults/main.yml
+++ b/defaults/main.yml
@@ -1,4 +1,4 @@
 ---
-linux_installer_home_mirror: "http://tinycorelinux.net"
+linux_installer_home_mirror: "http://dl-cdn.alpinelinux.org/alpine"
 linux_installer_local_mirror: "{{ linux_installer_home_mirror }}" 
-linux_installer_version: "10.x"
+linux_installer_version: "3.10"
diff --git a/files/diskspreparation.sh b/files/diskspreparation.sh
index 9e601cdaf4942aa0ba664eb221b94ed29a7ed938..179cae8b3594ab1ea9b6a3726986279dd7e58625 100755
--- a/files/diskspreparation.sh
+++ b/files/diskspreparation.sh
@@ -418,9 +418,9 @@ createTargetDirectoryLayout(){
       mkdir -p $1/${mntpnt}
       if [ -z "${opts}" ];
       then
-        mount -t ${fs} ${partdev} $1/${mntpnt}
+        mount -t ${fs} ${partdev} $1${mntpnt}
       else
-        mount -t ${fs} ${partdev} $1/${mntpnt} -o ${opts}
+        mount -t ${fs} ${partdev} $1${mntpnt} -o ${opts}
       fi 
     fi
   done
diff --git a/files/functions.sh b/files/functions.sh
index d3042ce4582ad578848ac9e17b684f706162bb68..63c211f5435314d04e702664d07f2a1b60ec6b9d 100755
--- a/files/functions.sh
+++ b/files/functions.sh
@@ -1,15 +1,11 @@
-# installTcPackages - install tiny core packages
+# installPackages - install tiny core packages
 # parameter:
 #  $@ - list of package names
 # return:
 #  0 is installed
 #  1 something went wrong
-installTcPackages(){
-  while [ $# -gt 0 ];
-  do
-    su tc -c "tce-load -s -w -i $1" 2>&1 >/dev/null
-    shift
-  done
+installPackages(){
+  apk add $@
 } 
 
 # beginLogEntry - starts a new log entry
diff --git a/files/inittab b/files/inittab
new file mode 100644
index 0000000000000000000000000000000000000000..d827d8c6dbd3cdb9a8492ffc86f9304ebf2e3d82
--- /dev/null
+++ b/files/inittab
@@ -0,0 +1,18 @@
+# /etc/inittab
+
+::sysinit:/sbin/openrc sysinit
+::sysinit:/sbin/openrc boot
+::wait:/sbin/openrc default
+
+# Set up getty for installer
+tty1::respawn:/sbin/getty -nl /opt/startup 38400 tty1
+
+# Put a getty on the serial port
+#ttyS0::respawn:/sbin/getty -L ttyS0 115200 vt100
+
+# Stuff to do for the 3-finger salute
+::ctrlaltdel:/sbin/reboot
+
+# Stuff to do before rebooting
+::shutdown:/sbin/openrc shutdown
+
diff --git a/files/installer.sh b/files/installer.sh
index eaa06f293cb70b4ffe0a3090f001c39448647c0c..18af91ac0ff3aa0f7d69834dced2208758f2a776 100755
--- a/files/installer.sh
+++ b/files/installer.sh
@@ -26,6 +26,6 @@ finishLogEntry "done"
 
 beginLogEntry "install ssh key in target"
 cp /opt/ansible.pub /target/etc/ssh/authorized_keys
-chmod 644 /target/etc/sshd/authorized_keys
+chmod 644 /target/etc/ssh/authorized_keys
 finishLogEntry "done"
 
diff --git a/files/startup b/files/startup
new file mode 100644
index 0000000000000000000000000000000000000000..92db923c96c36c31faeec23493801b409bc275db
--- /dev/null
+++ b/files/startup
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+. /opt/functions.sh
+
+beginLogEntry "install default dependencies"
+installPackages bash parted bc ntfs-3g dosfstools openssl btrfs-progs e2fsprogs blkid
+finishLogEntry "done"
+
+beginLogEntry "get Answerfile from \"${ANSWERFILE_PATH}\""
+getAnswerfile ${ANSWERFILE_PATH} /tmp/answerfile
+if [ $? -eq 0 ];
+then
+  finishLogEntry "done"
+  if [ "x${DEBUG}" = "yes" ]; then
+    /opt/dbgmode
+  else     
+    /opt/installer.sh 
+    #reboot
+   /bin/sh
+  fi
+else
+  finishLogEntry "failed"
+  /opt/dbgmode
+fi
+
diff --git a/tasks/_mergeimages.yml b/tasks/_mergeimages.yml
index 2640ef67c0d374b947096ba0883b43f152ba0864..fabda318d60a18384a04545e675988a7dbe6975e 100644
--- a/tasks/_mergeimages.yml
+++ b/tasks/_mergeimages.yml
@@ -2,28 +2,28 @@
 - name: detect architecture
   set_fact: 
      _linux_installer_arch: "x86_64"
-     _linux_installer_corefile: "corepure64.gz"
-     _linux_installer_kernelfile: "vmlinuz64"
-  when: _linux_dist_arch == "x86_64" or  _linux_dist_arch == "amd64"
+  when: _linux_dist_arch == "x86_64" or  _linux_dist_arch == "amd64" or _linux_dist_arch == "x64"
 
 - set_fact: 
      _linux_installer_arch: "x86"
-     _linux_installer_corefile: "core.gz"
-     _linux_installer_kernelfile: "vmlinuz"
   when: _linux_dist_arch == "x86" or (_linux_dist_arch | regex_search('i[0-9]86'))
 
-- name: download tiny core linux image file
+- set_fact:
+     _linux_installer_initrfsfile: "initramfs-vanilla"
+     _linux_installer_kernelfile: "vmlinuz-vanilla"
+
+- name: download linux installer initrfs image file 
   get_url:
-    url: "{{ '%s/%s/%s/release/distribution_files/%s' | format(linux_installer_home_mirror, linux_installer_version, _linux_installer_arch, _linux_installer_corefile) }}"
-    dest: "{{ '/tmp/%s' | format(_linux_installer_corefile) }}"
+    url: "{{ '%s/v%s/releases/%s/netboot/%s' | format(linux_installer_home_mirror, linux_installer_version, _linux_installer_arch, _linux_installer_initrfsfile) }}"
+    dest: "{{ '/tmp/%s' | format(_linux_installer_initrfsfile) }}"
 
-- name: download tiny core linux kernel file
+- name: download linux installer kernel file
   get_url:
-    url: "{{ '%s/%s/%s/release/distribution_files/%s' | format(linux_installer_home_mirror, linux_installer_version, _linux_installer_arch, _linux_installer_kernelfile) }}"
-    dest: "{{ '/tmp/%s' | format(_linux_installer_kernelfile) }}"
+    url: "{{ '%s/v%s/releases/%s/netboot/%s' | format(linux_installer_home_mirror, linux_installer_version, _linux_installer_arch, _linux_installer_kernelfile) }}"
+    dest: "{{ '/tmp/%s_%s' | format(_linux_installer_kernelfile, _linux_dist_arch) }}"
 
-- name: merge tiny core image with installer image
-  shell: "{{ 'cat /tmp/%s %s >/tmp/linux_%s_%s.gz' | format(_linux_installer_corefile, _linux_installer_image_file.path, linux_installer_distribution, _linux_dist_arch) }}"
+- name: merge linux installer initrfs image with installer image
+  shell: "{{ 'cat /tmp/%s %s >/tmp/linux_%s_%s.gz' | format(_linux_installer_initrfsfile, _linux_installer_image_file.path, linux_installer_distribution, _linux_dist_arch) }}"
 
 - name: save images for registration
   set_fact:
@@ -32,7 +32,7 @@
         {%- if system_installer_images is defined -%}
         {%-   set retval.data = system_installer_images -%}
         {%- endif -%}
-        {%- do retval.data.append(['/tmp/linux_%s_%s.gz' | format(linux_installer_distribution, _linux_dist_arch), '/tmp/%s' | format(_linux_installer_kernelfile),
+        {%- do retval.data.append(['/tmp/linux_%s_%s.gz' | format(linux_installer_distribution, _linux_dist_arch), '/tmp/%s_%s' | format(_linux_installer_kernelfile, _linux_dist_arch),
                                               linux_installer_distribution, _linux_dist_release, _linux_dist_arch]) -%}
         {{- retval.data -}}
   loop: "{{ system_supported_releases[linux_installer_distribution] }}"
diff --git a/tasks/buildinstaller.yml b/tasks/buildinstaller.yml
index 0cc6087506dbb168f14fca1a35a238b608b61d52..12990f4b7d127793b5dbcb34be8c2842af44971a 100644
--- a/tasks/buildinstaller.yml
+++ b/tasks/buildinstaller.yml
@@ -13,33 +13,34 @@
     path: "{{ '%s/opt' | format(linux_build_installer_root) }}"
     state: directory
 
-- name: create installers opt directory
+- name: create installers etc directory
   file:
-    path: "{{ '%s/root' | format(linux_build_installer_root) }}"
+    path: "{{ '%s/etc' | format(linux_build_installer_root) }}"
     state: directory
 
-- name: install basic installer scripts
+- name: configure boot default services
+  copy:
+    dest: "{{ '%s/etc/.default_boot_services' | format(linux_build_installer_root) }}"
+    content: "boot_default_services"
+ 
+- name: install custom inittab
   copy:
-    src: profile
-    dest: "{{ '%s/root/.profile' | format(linux_build_installer_root) }}"
+    src: "inittab"
+    dest: "{{ '%s/etc/inittab' | format(linux_build_installer_root) }}" 
+    mode: "0644"
 
 - name: install ssh public key
   copy:
     src: "{{ '%s/ansible.pub' | format(ansible_sshkeys) }}"
     dest: "{{ '%s/opt/ansible.pub' | format(linux_build_installer_root) }}"
 
-- name: set linux installer repository
-  copy:
-    dest: "{{ '%s/opt/tcemirror' | format(linux_build_installer_root) }}"
-    content: "{{ linux_installer_home_mirror }}"
-
 - name: install basic installer scripts
   copy:
     src: "{{ _linux_install_file.name }}"
     dest: "{{ '%s/opt/%s' | format(linux_build_installer_root, _linux_install_file.name) }}"
     mode: "{{ _linux_install_file.mode }}"
   loop:
-    - {"name": "bootlocal.sh", "mode": "0775" }
+    - {"name": "startup", "mode": "0755"}
     - {"name": "dbgmode", "mode": "0755" }
     - {"name": "installer.sh", "mode": "0775"}
     - {"name": "functions.sh", "mode": "0775"}
diff --git a/tasks/finaliseinstaller.yml b/tasks/finaliseinstaller.yml
index ce0cbf9e295866cf54988b2c0bda4cc400de2523..a0009358db076402413ee718f1d03783ec8bb6a6 100644
--- a/tasks/finaliseinstaller.yml
+++ b/tasks/finaliseinstaller.yml
@@ -1,4 +1,19 @@
 
+- name: create temporary root directory
+  tempfile:
+    state: directory
+  register: _linux_temporary_root_directory  
+
+- name: create target directory for compressed overlay filesystem
+  file:
+    path: "{{ '%s/opt' | format(_linux_temporary_root_directory.path) }}"
+    state: directory
+
+- name: compress overlay filesystem
+  archive:
+    path: "{{ '%s/*' | format(linux_build_installer_root) }}"
+    dest: "{{ '%s/opt/ovl.tar.gz'  | format(_linux_temporary_root_directory.path) }}"    
+
 - name: create temporary linux installer image name
   tempfile:
     suffix: ".gz"
@@ -7,7 +22,7 @@
 - name: compress linux installer
   shell: "{{ 'find | cpio -o -H newc -R +0:+0 | gzip -2 > %s' | format(_linux_installer_image_file.path) }}"
   args:
-    chdir: "{{ linux_build_installer_root }}"
+    chdir: "{{ _linux_temporary_root_directory.path }}"
 
 - include_role:
      name: system.linux
@@ -20,6 +35,11 @@
      name: system
      tasks_from: installer
 
+- name: cleanup temporary root directory
+  file:
+    path: "{{ _linux_temporary_root_directory }}"
+    state: absent
+
 - name: cleanup installers build root directory
   file:
     path: "{{ linux_build_installer_root }}"