@@ -0,0 +1,75 @@ | |||
debirf_profile: custom | |||
debirf_label: "debirf-{{debirf_profile}}" | |||
debirf_suite: stretch | |||
debirf_distro: debian | |||
debirf_mirror: http://deb.debian.org/debian | |||
debirf_default_modules: | |||
#- a0_add_extra_repos | |||
#- a0_add_security_repos | |||
#- a0_motd | |||
- a0_prep-root | |||
- install-kernel | |||
- install-manpages | |||
#- lock-root-passwd | |||
#- mdadm | |||
#- network | |||
#- network-dhcp | |||
#- root-bashrc | |||
- z0_remove-locales | |||
- z1_clean-root | |||
# debirf_packages: | |||
# - blktool | |||
# - bonnie++ | |||
# - chntpw | |||
# - cryptsetup | |||
# - diskscan | |||
# - dmidecode | |||
# - dosfstools | |||
# - e2tools | |||
# - eject | |||
# - ethtool | |||
# - fancontrol | |||
# - fatresize | |||
# - flashrom | |||
# - foremost | |||
# - gddrescue | |||
# - grub2 | |||
# - hdparm | |||
# - hfsplus | |||
# - hfsprogs | |||
# - hfsutils | |||
# - initramfs-tools-core | |||
# - inteltool | |||
# - lm-sensors | |||
# - lsof | |||
# - lsscsi | |||
# - lvm2 | |||
# - memtester | |||
# - msrtool | |||
# - mtd-utils | |||
# - ntfs-3g | |||
# - nvramtool | |||
# - parted | |||
# - partimage | |||
# - pciutils | |||
# - rsync | |||
# - screen | |||
# - scrub | |||
# - sdparm | |||
# - sg3-utils | |||
# - smartmontools | |||
# - smp-utils | |||
# - socat | |||
# - squashfs-tools | |||
# - superiotool | |||
# - testdisk | |||
# - testdisk | |||
# - tofrodos | |||
# - u-boot-tools | |||
# - usbutils | |||
# - wget | |||
# - wipe | |||
# - wodim |
@@ -0,0 +1,10 @@ | |||
================================================== | |||
Welcome to debirf: DEBian on InitRamFs | |||
The programs included with the Debian GNU/Linux system are free software; | |||
the exact distribution terms for each program are described in the | |||
individual files in /usr/share/doc/*/copyright. | |||
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent | |||
permitted by applicable law. | |||
================================================== |
@@ -0,0 +1,18 @@ | |||
--- | |||
- name: debirf make | |||
command: debirf make --new {{debirf_profile_directory}} | |||
become: true | |||
become_user: debirf | |||
become_method: su | |||
args: | |||
chdir: "{{ debirf_home_directory }}" | |||
register: _debirf_make_command | |||
- name: copy kernel | |||
copy: | |||
src: "{{ _debirf_make_command.stderr_lines | map('regex_findall','^debirf> kernel: (.*)$') | list | json_query('[]') | first }}" | |||
dest: "{{ debirf_kernel }}" | |||
remote_src: yes | |||
owner: debirf | |||
group: debirf |
@@ -0,0 +1,16 @@ | |||
--- | |||
- name: customize nest/init | |||
lineinfile: | |||
path: "{{ debirf_profile_directory }}/nest/init" | |||
regexp: '^unxz.*\/custom' | |||
insertafter: '^unxz.*\/rootfs.*cpio' | |||
line: cp -R /rootfs_include/* /newroot/ | |||
- name: create customizable initrd | |||
shell: sh -c "cd {{ debirf_profile_directory }}/nest && find * | cpio --create -H newc" > {{debirf_initrd}} | |||
become: true | |||
become_user: debirf | |||
become_method: su | |||
args: | |||
chdir: "{{ debirf_home_directory }}" |
@@ -0,0 +1,6 @@ | |||
--- | |||
- import_tasks: setup.yml | |||
- import_tasks: prepare.yml | |||
- import_tasks: build.yml | |||
- import_tasks: customizable.yml |
@@ -0,0 +1,56 @@ | |||
--- | |||
- name: profile directory | |||
file: | |||
state: directory | |||
path: "{{ debirf_profile_directory }}" | |||
owner: debirf | |||
group: debirf | |||
- name: debirf configuration | |||
template: | |||
src: debirf.conf.j2 | |||
dest: "{{ debirf_profile_directory }}/debirf.conf" | |||
owner: debirf | |||
group: debirf | |||
- name: packages | |||
template: | |||
src: packages.j2 | |||
dest: "{{ debirf_profile_directory }}/packages" | |||
owner: debirf | |||
group: debirf | |||
when: debirf_packages is defined | |||
- name: modules directory | |||
file: | |||
state: directory | |||
path: "{{ debirf_profile_directory }}/modules" | |||
owner: debirf | |||
group: debirf | |||
- name: default modules | |||
file: | |||
state: link | |||
src: /usr/share/debirf/modules/{{item}} | |||
dest: "{{ debirf_profile_directory }}/modules/{{item}}" | |||
owner: debirf | |||
group: debirf | |||
with_items: "{{ debirf_default_modules }}" | |||
# - name: profile | |||
# copy: | |||
# src: profile/ | |||
# dest: "{{ debirf_profile_directory }}" | |||
# owner: debirf | |||
# group: debirf | |||
# when: debirf_example_profile is defined | |||
# - name: set permissions | |||
# file: | |||
# owner: debirf | |||
# group: debirf | |||
# recurse: yes | |||
# follow: no | |||
# path: "{{ debirf_working_directory }}" | |||
# state: directory |
@@ -0,0 +1,21 @@ | |||
--- | |||
- name: apt debirf package present | |||
apt: | |||
pkg: debirf | |||
- name: debirf user | |||
user: | |||
name: debirf | |||
shell: /bin/bash | |||
system: yes | |||
create_home: yes | |||
home: "{{ debirf_home_directory }}" | |||
- name: ansible temp dir | |||
file: | |||
owner: debirf | |||
group: debirf | |||
path: "{{ debirf_home_directory }}/.ansible/tmp" | |||
state: directory | |||
mode: 0700 |
@@ -0,0 +1,45 @@ | |||
# DEBIRF configuration file: this will be sourced by bash | |||
# Label for debirf system (for hostname and initrd). "debirf" will be | |||
# used if unspecified. | |||
# | |||
DEBIRF_LABEL="{{ debirf_label }}" | |||
# Where shoud debirf build the image? By default, debirf will build | |||
# in the profile directory. | |||
# | |||
#DEBIRF_BUILDD="" | |||
# What suite should be used? The default is determined by | |||
# lsb_release, and falls back to "sid". | |||
# | |||
DEBIRF_SUITE="{{ debirf_suite }}" | |||
# The default distro (eg. "debian" or "ubuntu") is based on the distro | |||
# of the suite specified. If you want to use a suite from a | |||
# non-Debian/Ubuntu distro, specify the distro explicitly here (all | |||
# lowercase). | |||
# | |||
DEBIRF_DISTRO="{{ debirf_distro }}" | |||
# What mirror should debirf pull the suite from? By default, this is | |||
# based on the DEBIRF_DISTRO | |||
# (eg. "http://mirrors.kernel.org/${DEBIRF_DISTRO}"). | |||
# | |||
DEBIRF_MIRROR="{{ debirf_mirror }}" | |||
# What keyring should be used to verify the debootstrap for the | |||
# specified suite? This is also based on the DEBIRF_DISTRO by | |||
# default. If you are trying to build a non-Debian/Ubuntu version of | |||
# debirf, then you will need to specify the keyring explicitly here if | |||
# you want to verify the debootstrap. Otherwise, uncomment the | |||
# variable but leave the definition blank to have debirf skip the | |||
# debootstrap verification. | |||
# | |||
#DEBIRF_KEYRING= | |||
# Use a web proxy for downloading the packages (the "export" in front | |||
# of the variable is necessary to have it recognized by all internal | |||
# functions). | |||
# | |||
#export http_proxy= |
@@ -0,0 +1,3 @@ | |||
{% for pkg in debirf_packages %} | |||
+{{pkg}} | |||
{% endfor %} |
@@ -0,0 +1,4 @@ | |||
debirf_home_directory: /var/lib/debirf | |||
debirf_profile_directory: "{{ debirf_home_directory }}/{{debirf_profile}}" | |||
debirf_kernel: "{{ debirf_profile_directory }}/kernel" | |||
debirf_initrd: "{{ debirf_profile_directory }}/initrd" |