Skip to content
Snippets Groups Projects
Commit 95a85093 authored by Pietsch, Martin's avatar Pietsch, Martin
Browse files

switch from tiny core linux to alpine linux

parent 493f96b8
No related branches found
No related tags found
No related merge requests found
---
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"
......@@ -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
......
# 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
......
# /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
......@@ -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"
#!/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
......@@ -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] }}"
......
......@@ -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"}
......
- 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 }}"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment