diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..c10d99f
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+dist/
+tmp/
+log/
diff --git a/blends/devuan-minimal-live/TODO.org b/blends/devuan-minimal-live/TODO.org
new file mode 100644
index 0000000..c36485d
--- /dev/null
+++ b/blends/devuan-minimal-live/TODO.org
@@ -0,0 +1,18 @@
+#+TODO: TODO IN-PROGRESS | DONE
+
+* TODO Chec boot_beep (check config files and all!!!)
+* DONE remove packages_list from /home/devuan
+* DONE Amend motd
+
+* DONE amend isolinux_overlay/isolinux.cfg
+** DONE change initrd name
+
+* DONE put correct initrd.img in binary/live/
+* DONE Put debs in custom_debs
+* TODO Include memtest86+.bin in binary/live/
+* DONE put README
+* DONE put script to remove firmware packages
+* IN-PROGRESS Rebuild all
+
+
+
diff --git a/blends/devuan-minimal-live/ascii/config b/blends/devuan-minimal-live/ascii/config
new file mode 100644
index 0000000..945238d
--- /dev/null
+++ b/blends/devuan-minimal-live/ascii/config
@@ -0,0 +1,295 @@
+#!/usr/bin/env zsh
+## configuration file for devuan-live blend -- ASCII release
+
+
+version="2.0.0"
+
+
+##
+## definition of package sets
+##
+
+### base package set
+minimal_base_packages+=(
+ acpi
+ acpi-support-base
+ acpid
+ at
+ bash
+ bash-completion
+ bc
+ busybox
+ console-common
+ console-data
+ console-setup
+ console-setup-linux
+ coreutils
+ dash
+ dc
+ dialog
+ discover
+ dselect
+ file
+ groff-base
+ grub-pc
+ info
+ kbd
+ laptop-detect
+ locales
+ lsof
+ syslinux
+ util-linux-locales
+ zsh
+)
+
+## admin package set
+minimal_admin_packages+=(
+ debootstrap
+ entr
+ gddrescue
+ gdisk
+ htop
+ iftop
+ iotop
+ iw
+ mtr-tiny
+ multitail
+ ncdu
+ parted
+ pciutils
+ psmisc
+ sudo
+ time
+ wavemon
+ wireless-tools
+ wpasupplicant
+
+)
+
+## editors package set
+minimal_editors_packages+=(
+ ed
+ nano
+ vim-tiny
+ zile
+)
+
+
+## networking package set
+minimal_net_packages+=(
+ bind9-host
+ bittornado
+ curl
+ dnsutils
+ edbrowse
+ fetchmail
+ ftp
+ geoip-bin
+ irssi
+ lftp
+ links2
+ lrzsz
+ mcabber
+ minicom
+ mosh
+ msmtp
+ mutt
+ netcat
+ net-tools
+ nfacct
+ nrss
+ openssh-client
+ openssh-server
+ procmail
+ rsync
+ setnet
+ telnet
+ tin
+ traceroute
+ w3m
+ wget
+ whois
+)
+
+
+## productivity package set
+minimal_prod_packages+=(
+ abook
+ apcalc
+ aspell
+ aspell-en
+ calcurse
+ clex
+ dvtm
+ fbi
+ fbterm
+ ghostscript
+ gnupg
+ gnupg2
+ gnupg-agent
+ mc
+ parallel
+ poppler-utils
+ rpl
+ rename
+ sc
+ screen
+ taskwarrior
+ tmux
+)
+
+## programming package set
+minimal_devel_packages+=(
+ tcc
+ libc6-dev
+ m4
+ patch
+ perl
+ perl-base
+ perl-modules-5.24
+ python2.7-minimal
+ python3.5-minimal
+ gawk
+ guile-2.0
+ guile-2.0-libs
+)
+
+## games package set
+minimal_games_packages+=(
+ bastet
+ bombardier
+ bsdgames
+ cavezofphear
+ crawl
+ curseofwar
+ empire
+ freesweep
+ gnuchess
+ greed
+ matanza
+ moria
+ nethack-console
+ ninvaders
+ omega-rpg
+ pacman4console
+ pente
+ sudoku
+)
+
+## accessibility package set
+minimal_a11y_packages+=(
+ beep
+ brltty
+ espeak
+ espeakup
+ yasr
+)
+
+
+## multimedia package set
+minimal_media_packages+=(
+ alsa-utils
+ caca-utils
+ hasciicam
+ imagemagick
+ jhead
+ moc
+ radio
+ sox
+)
+
+## misc package set
+minimal_misc_packages+=(
+ cmatrix
+ cowsay
+ eject
+ figlet
+ fortunes-min
+ fortune-mod
+ gpm
+ man-db
+ manpages
+ manpages-dev
+ mlocate
+ termsaver
+ toilet
+ toilet-fonts
+ ttyrec
+ unzip
+)
+
+### now we include all the package sets
+base_packages+=(
+ $minimal_base_packages
+ $minimal_admin_packages
+ $minimal_editors_packages
+ $minimal_net_packages
+ $minimal_prod_packages
+ $minimal_devel_packages
+ $minimal_games_packages
+ $minimal_a11y_packages
+ $minimal_media_packages
+ $minimal_misc_packages
+)
+
+#### TODO: REPLACE twidge (twitter client)
+#### ADDED: geoip-bin
+
+extra_packages+=(
+ atmel-firmware
+ bluez-firmware
+ dahdi-firmware-nonfree
+ firmware-amd-graphics
+ firmware-atheros
+ firmware-bnx2
+ firmware-bnx2x
+ firmware-brcm80211
+ firmware-cavium
+ firmware-crystalhd
+ firmware-intel-sound
+ firmware-intelwimax
+ firmware-ipw2x00
+ firmware-ivtv
+ firmware-iwlwifi
+ firmware-libertas
+ firmware-linux-free
+ firmware-linux-nonfree
+ firmware-myricom
+ firmware-netxen
+ firmware-qlogic
+ firmware-realtek
+ firmware-ti-connectivity
+ firmware-zd1211
+ refractainstaller-base
+ refractasnapshot-base
+)
+
+
+purge_packages=(
+ btrfs-tools
+ cryptsetup
+ cryptsetup-bin
+ debian-keyring
+ elinks
+ elinks-data
+ git
+ git-core
+ git-man
+ liberror-perl
+ libfsplib0
+ libtre5
+ openntpd
+ tasksel
+ tasksel-data
+ vim
+ vim-runtime
+)
+
+
+# yad needs to be first
+#$custom_deb_packages+=(yad_0.27.0-1_${arch}.deb)
+#
+#
+##custom_deb_packages+=(
+## setnet_0.3.2+devuan1.2_all.deb
+##)
diff --git a/blends/devuan-minimal-live/ascii/isolinux_overlay/isolinux.cfg b/blends/devuan-minimal-live/ascii/isolinux_overlay/isolinux.cfg
new file mode 100644
index 0000000..b881481
--- /dev/null
+++ b/blends/devuan-minimal-live/ascii/isolinux_overlay/isolinux.cfg
@@ -0,0 +1,58 @@
+ui vesamenu.c32
+prompt 0
+#menu title devuan-live boot menu
+#timeout 70
+menu background /isolinux/splash.png
+menu color title * #ff000000 #00ffffff none
+menu color border * #00000000 #00000000 none
+menu color sel 1;7;37;30 #ffffffff #ff000000 none
+menu color unsel 1;30;37 #ff000000 #ffffffff none
+menu color hotsel 1;7;37;40 #ffffffff #76a1d0ff *
+menu color tabmsg 1;30;37 #ff000000 #ffffffff none
+menu color cmdline 1;30;37 #ff000000 #ffffffff none
+menu color help 37;40 #ffdddd00 #00000000 none
+menu vshift 8
+menu rows 12
+#menu helpmsgrow 15
+#menu cmdlinerow 25
+#menu timeoutrow 26
+#menu tabmsgrow 14
+menu tabmsg Press ENTER to boot or TAB to edit a menu entry
+
+label std
+ menu label Devuan Live Minimal (std)
+ kernel /live/vmlinuz
+ append initrd=/live/initrd.img boot=live noautologin vga=auto
+
+label accessible
+ menu label Devuan Live Minimal (access)
+ kernel /live/vmlinuz
+ append initrd=/live/initrd.img boot=live noautologin 4 vga=normal
+
+label std-toram
+ menu label Devuan Live Minimal (std-toram)
+ kernel /live/vmlinuz
+ append initrd=/live/initrd.img boot=live noautologin vga=auto toram
+
+label accessible-toram
+ menu label Devuan Live Minimal (access-toram)
+ kernel /live/vmlinuz
+ append initrd=/live/initrd.img boot=live noautologin 4 vga=normal toram
+
+label noprobe
+ menu label Devuan Live Minimal (no probe)
+ kernel /live/vmlinuz noapic noapm nodma nomce nolapic nosmp vga=normal
+ append initrd=/live/initrd.img boot=live
+
+label memtest
+ menu label Memory test
+ kernel /live/memtest86+.bin
+
+label chain.c32 hd0,0
+ menu label Boot hard disk
+ chain.c32 hd0,0
+
+label harddisk
+ menu label Boot hard disk (old way)
+ localboot 0x80
+
diff --git a/blends/devuan-minimal-live/ascii/isolinux_overlay/splash.png b/blends/devuan-minimal-live/ascii/isolinux_overlay/splash.png
new file mode 100644
index 0000000..c768b17
Binary files /dev/null and b/blends/devuan-minimal-live/ascii/isolinux_overlay/splash.png differ
diff --git a/blends/devuan-minimal-live/ascii/rootfs_overlay/etc/boot_beep b/blends/devuan-minimal-live/ascii/rootfs_overlay/etc/boot_beep
new file mode 100755
index 0000000..dab600c
--- /dev/null
+++ b/blends/devuan-minimal-live/ascii/rootfs_overlay/etc/boot_beep
@@ -0,0 +1,74 @@
+#/bin/bash
+# ----------------------------------------------------------------------
+#
+# This file is part of microdevuan, a set of scripts to create minimal
+# devuan live images
+#
+# ----------------------------------------------------------------------
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or (at
+# your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+# ----------------------------------------------------------------------
+#
+# (c) KatolaZ (2016)
+#
+# ----------------------------------------------------------------------
+
+
+##
+## A small daemon that just beeps every second, until the process
+## BB_PROCESS is ready...
+##
+
+. /etc/default/boot_beep
+
+
+##
+## First, daemonize the script
+##
+
+if [ "x$1" != "x--" ]; then
+ $0 -- 1> /dev/null 2> /dev/null &
+ exit 0
+fi
+
+
+check_process(){
+
+ while [ 1 -gt 0 ]; do
+ login_ready=`ps ax | grep -E "${BB_PROCESS}" | grep -v "grep" | wc -l`
+ if [ $((${login_ready})) -ge 1 ]; then
+ ###
+ ### These lines should be put in a separate script, whose name is
+ ### specified in bb_defaults, to allow custom chimes....
+ ###
+ ###
+ beep -D 50 -l 150 -f 523.25
+ beep -D 50 -l 150 -f 629.25
+ beep -D 50 -l 150 -f 784.00
+ beep -D 50 -l 150 -f 629.25
+ beep -D 50 -l 150 -f 523.25
+ exit 0;
+ else
+ if [[ ${BB_BOOT_BEEP} = "TRUE" ]]; then
+ beep -D 100 -l 250 -f 523.25
+ fi
+ sleep ${BB_INTERVAL};
+ fi
+ done
+}
+
+echo $$ >> ${BB_TMPFILE}
+
+check_process
diff --git a/blends/devuan-minimal-live/ascii/rootfs_overlay/etc/default/boot_beep b/blends/devuan-minimal-live/ascii/rootfs_overlay/etc/default/boot_beep
new file mode 100644
index 0000000..ae15509
--- /dev/null
+++ b/blends/devuan-minimal-live/ascii/rootfs_overlay/etc/default/boot_beep
@@ -0,0 +1,32 @@
+##
+## The name of the file which will contain the PID of boot_beep.sh
+##
+
+BB_TMPFILE=/tmp/boot_beep.pid
+
+##
+## the path to boot_beep.sh
+##
+
+BB_SCRIPTFILE=/etc/boot_beep
+
+##
+## the process(es) to look for. This pattern will be given to
+## "grep -E"...
+##
+
+BB_PROCESS="(getty|login)"
+
+##
+## Set whether beeps are emitted during boot
+##
+##
+
+BB_BEEP_BOOT=FALSE
+
+##
+## Set check interval
+##
+##
+
+BB_INTERVAL=1
diff --git a/blends/devuan-minimal-live/ascii/rootfs_overlay/etc/init.d/boot_beep b/blends/devuan-minimal-live/ascii/rootfs_overlay/etc/init.d/boot_beep
new file mode 100755
index 0000000..eb7ada1
--- /dev/null
+++ b/blends/devuan-minimal-live/ascii/rootfs_overlay/etc/init.d/boot_beep
@@ -0,0 +1,132 @@
+#!/bin/sh
+# ----------------------------------------------------------------------
+#
+# This file is part of microdevuan, a set of scripts to create minimal
+# devuan live images
+#
+# ----------------------------------------------------------------------
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or (at
+# your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+# ----------------------------------------------------------------------
+#
+# (c) KatolaZ (2016)
+#
+# ----------------------------------------------------------------------
+
+### BEGIN INIT INFO
+# Provides: boot_beep
+# Required-Start: mountall
+# Required-Stop:
+# Default-Start: S
+# Default-Stop:
+# Short-Description: Boot Beep Daemon
+### END INIT INFO
+
+
+. /etc/default/boot_beep
+
+rm_hanging_instances(){
+
+ if [ -f ${BB_TMPFILE} ]; then
+ for i in `cat ${BB_TMPFILE}`; do
+ is_alive=`ps ax | grep "^${i} " | wc -l`
+ if [ $((${is_alive})) -gt 0 ]; then
+ kill -9 ${i}
+ fi
+ done
+ rm ${BB_TMPFILE}; touch ${BB_TMPFILE}
+ fi
+
+}
+
+check_active(){
+
+ ALIVE=0
+ if [ -f ${BB_TMPFILE} ]; then
+ for i in `cat ${BB_TMPFILE}`; do
+ is_alive=`ps ax | grep "^${i} " | wc -l`
+ if [ $((${is_alive})) -gt 0 ]; then
+ ALIVE=1
+ fi
+ done
+ if [ ${ALIVE} -ge 1 ]; then
+ return 1;
+ else
+ return 0;
+ fi
+ else
+ return 0
+ fi
+
+
+}
+
+
+
+start_bb(){
+
+ check_active
+ if [ $? != 0 ]; then
+ echo "beep_boot is already running"
+ exit 1;
+ fi
+
+
+ rm_hanging_instances
+ nohup ${BB_SCRIPTFILE} 2>&1 >/dev/null &
+ exit 0;
+}
+
+stop_bb(){
+ check_active
+ if [ $? == 0 ]; then
+ echo "beep_boot is not running"
+ rm ${BB_TMPFILE}
+ exit 1;
+ fi
+
+ rm_hanging_instances
+ exit 0;
+}
+
+
+
+
+case $1 in
+
+ start)
+ start_bb
+ exit 0;
+ ;;
+
+ stop)
+ stop_bb;
+ exit 0;
+ ;;
+
+ status)
+ check_active
+ if [ $? == 0 ]; then
+ echo "boot_beep is not up"
+ else
+ echo "boot_beep is up and running"
+ fi
+ exit 0
+ ;;
+
+ *)
+ echo "Usage: $0 {start|stop|status}"
+ exit 1;
+esac
diff --git a/blends/devuan-minimal-live/ascii/rootfs_overlay/etc/inittab b/blends/devuan-minimal-live/ascii/rootfs_overlay/etc/inittab
new file mode 100644
index 0000000..9b66bcb
--- /dev/null
+++ b/blends/devuan-minimal-live/ascii/rootfs_overlay/etc/inittab
@@ -0,0 +1,84 @@
+# /etc/inittab: init(8) configuration.
+# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $
+
+# The default runlevel.
+id:2:initdefault:
+
+# Boot-time system configuration/initialization script.
+# This is run first except when booting in emergency (-b) mode.
+si::sysinit:/etc/init.d/rcS
+
+# What to do in single-user mode.
+~~:S:wait:/sbin/sulogin
+
+# /etc/init.d executes the S and K scripts upon change
+# of runlevel.
+#
+# Runlevel 0 is halt.
+# Runlevel 1 is single-user.
+# Runlevels 2-5 are multi-user.
+# Runlevel 6 is reboot.
+
+l0:0:wait:/etc/init.d/rc 0
+l1:1:wait:/etc/init.d/rc 1
+l2:2:wait:/etc/init.d/rc 2
+l3:3:wait:/etc/init.d/rc 3
+l4:4:wait:/etc/init.d/rc 4
+l5:5:wait:/etc/init.d/rc 5
+l6:6:wait:/etc/init.d/rc 6
+# Normally not reached, but fallthrough in case of emergency.
+z6:6:respawn:/sbin/sulogin
+
+# What to do when CTRL-ALT-DEL is pressed.
+ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
+
+# Action on special keypress (ALT-UpArrow).
+#kb::kbrequest:/bin/echo "Keyboard Request--edit /etc/inittab to let this work."
+
+# What to do when the power fails/returns.
+pf::powerwait:/etc/init.d/powerfail start
+pn::powerfailnow:/etc/init.d/powerfail now
+po::powerokwait:/etc/init.d/powerfail stop
+
+# /sbin/getty invocations for the runlevels.
+#
+# The "id" field MUST be the same as the last
+# characters of the device (after "tty").
+#
+# Format:
+# :::
+#
+# Note that on most Debian systems tty7 is used by the X Window System,
+# so if you want to add more getty's go ahead but skip tty7 if you run X.
+#
+
+1:235:respawn:/sbin/getty 38400 tty1
+2:23:respawn:/sbin/getty 38400 tty2
+3:23:respawn:/sbin/getty 38400 tty3
+4:23:respawn:/sbin/getty 38400 tty4
+5:23:respawn:/sbin/getty 38400 tty5
+6:23:respawn:/sbin/getty 38400 tty6
+
+##
+## KatolaZ -- 20160604 -- Accessible runlevel
+##
+## Runlevel 4 is the "accessible" runlevel. Autologin configured on
+## all the ttys. tty1 is root shell
+##
+
+a1:4:respawn:/sbin/getty -a root 38400 tty1
+a2:4:respawn:/sbin/getty -a devuan 38400 tty2
+a3:4:respawn:/sbin/getty -a devuan 38400 tty3
+a4:4:respawn:/sbin/getty -a devuan 38400 tty4
+a5:4:respawn:/sbin/getty -a devuan 38400 tty5
+a6:4:respawn:/sbin/getty -a devuan 38400 tty6
+
+# Example how to put a getty on a serial line (for a terminal)
+#
+#T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100
+#T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100
+
+# Example how to put a getty on a modem line.
+#
+#T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS3
+
diff --git a/blends/devuan-minimal-live/ascii/rootfs_overlay/etc/motd b/blends/devuan-minimal-live/ascii/rootfs_overlay/etc/motd
new file mode 100644
index 0000000..77fb67c
--- /dev/null
+++ b/blends/devuan-minimal-live/ascii/rootfs_overlay/etc/motd
@@ -0,0 +1,7 @@
+
+Devuan ASCII 2.0.0 -- Minimal Live
+
+Devuan GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
+permitted by applicable law.
+
+
\ No newline at end of file
diff --git a/blends/devuan-minimal-live/ascii/rootfs_overlay/etc/wpa_supplicant/wpa_supplicant.conf b/blends/devuan-minimal-live/ascii/rootfs_overlay/etc/wpa_supplicant/wpa_supplicant.conf
new file mode 100644
index 0000000..778a12c
--- /dev/null
+++ b/blends/devuan-minimal-live/ascii/rootfs_overlay/etc/wpa_supplicant/wpa_supplicant.conf
@@ -0,0 +1,2 @@
+ctrl_interface=/run/wpa_supplicant
+update_config=1
diff --git a/blends/devuan-minimal-live/ascii/rootfs_overlay/root/README_ASCII.txt b/blends/devuan-minimal-live/ascii/rootfs_overlay/root/README_ASCII.txt
new file mode 100644
index 0000000..2a11d5b
--- /dev/null
+++ b/blends/devuan-minimal-live/ascii/rootfs_overlay/root/README_ASCII.txt
@@ -0,0 +1,172 @@
+=== Devuan ASCII minimal live ====
+
+This image is a full-featured console-only live Devuan ASCII system,
+with tons of command-line and curses utilities and a special focus on
+accessibility. The system is a good starting point for a minimalist
+environment, a powerful solution for rescue tasks, and a useful tool to
+have in your pocket every day.
+
+The image can be burnt on a CDROM or dd-ed on a USB stick.
+
+The regular user is devuan/devuan. Become admin with root/toor.
+
+Designed and maintained by Vincenzo 'Katolaz' Nicosia
+Key used to sign: http://pgp.mit.edu/pks/lookup?op=get&search=0x5F20B3AE0B5F062F
+Homepage: http://kalos.mine.nu
+
+=======================================
+
+0) Boot options
+1) Packages
+2) Connecting to the Internet
+3) About non-free firmware packages
+4) Installing on a hard drive
+5) Acknowledgements
+
+=======================================
+
+0) == Boot options ==
+
+There are several boot options available:
+
+- std: default, with selection of framebuffer resolution
+- access: accessible boot, with audible boot feedback and autologin
+- std-toram: as "std", but load squashfs into RAM
+- access-toram: as "access", but load squashfs into RAM
+- no probe: disable apic/apm/dma/mce/smp
+- memtest: perform a memory test (does not boot Linux)
+
+The two accessible boot options ("access" and "access-toram",
+respectively the second and the fourth on the boot menu) emit a "beep"
+(CTRL+G) when they are selected, to be easily recognisable, and enter
+into a dedicated runlevel (runlevel 4) which autologins root on tty1
+and the user devuan on tty2-tty6. There is audible feedback on boot,
+and a simple chime (C-E-G-E-C) signals the end of the boot.
+
+=======================================
+
+1) == Packages ===
+
+This image contains around 590 packages in total, and includes:
+
+ - _Base system_: bash, busybox, consoledata, GNU coreutils, dash,
+ dialog, locales, syslinux, sysvinit, util-linux-locales, zsh
+
+ - _Admin/Recovery_: debootstrap, entr, gddrescue, gdisk, htop,
+ iftop, iotop, mtr-tiny, multitail, ncdu, parted, wavemon,
+ wireless-tools, wpa_supplicant
+
+ - _Editors_: vim-tiny, zile (Emacs clone), nano
+
+ - _Networking_: bittornado, curl, edbrowse, fetchmail, ftp, irssi,
+ lftp, links2, mcabber, minicom, mosh, msmtp, mutt, netcat, nrss,
+ openssh-client, openssh-server, procmail, rsync, setnet, telnet,
+ tin, twidge, w3m, wget
+
+ - _Personal_productivity_: abook, aspell, calcurse, clex, dvtm,
+ fbi/fbgs, fbterm, ghostscript, gpg, mc, parallel, sc, screen,
+ taskwarrior, tmux
+
+ - _Programming_ languages_: ANSI C (tcc + libc6-dev), Perl
+ (minimal), python (minimal), awk (gawk), guile
+
+ - _Games_: bastet, bombardier, bsdgames, cavezofphear, crawl,
+ curseofwar, empire, freesweep, gnuchess, greed, matanza, moria,
+ nethack, ninvaders, omega-rpg, pacman4console, pente, sudoku
+
+ - _Accessibility_: beep, brltty, espeak, espeakup, yasr
+
+ - _Multimedia_: caca-utils, hasciicam, imagemagick, jhead, moc,
+ radio, sox
+
+ - _Miscellanea_: cmatrix, cowsay, figlet, fortune-mod, gpm,
+ termsaver, toilet, ttyrec
+
+=======================================
+
+2) == Connecting to the Internet ==
+
+This image ships with "setnet.sh", a simple dialog tool to setup
+networking. setnet allows to configure both wired and wireless
+connections, with static or DHCP-based IP assignment, and can help you
+setting up wi-fi authentication to open, WPA Personal (WPA/PSK and
+WPA2/PSK), and WPA Enterprise (WPA/EAP or WPA/TLS) networks.
+
+Just run:
+
+ # setnet.sh
+
+from a root console, and then select "Setup interfaces" for a list of
+recognised devices. For more information please just:
+
+ $ man setnet
+
+=======================================
+
+3) == About non-free firmware packages ==
+
+Devuan minimal live comes with all the available firmware packages
+pre-installed. This means that also *non-free* software is present in
+this image. Actually, those non-free firmware packages are *the only*
+non-free software packages installed in this image.
+
+We highly value the freedom of Devuan users, and we would rather
+prefer none of them to be ever forced to use non-free software, at
+all. However, the choice of including non-free firmware was dictated
+by the necessity to facilitate new users in getting their hardware,
+and especially wifi cards, working out of the box.
+
+We provide a simple script, that you can find in
+"/root/remove_firmware.sh", which allows to remove all non-free
+firmware from your installation. Just run the script, and all non-free
+firmware will be removed.
+
+=======================================
+
+4) == Installing on a hard drive ==
+
+The recommended way of installing Devuan is by using one of the
+installation media or the desktop-live image available at
+http://files.devuan.org under the folders "installer-iso" and
+"desktop-live", respectively.
+
+However, it is also possible to install this minimal live image on a
+hard disk by using the refractainstaller script shipped with it. I
+tested the installation on qemu and on bare-metal, and it worked quite
+well, but I cannot guarantee that it will work for you as well, so
+please use refractainstaller AT YOUR OWN RISK but feel free to drop me
+a line if it works.
+
+Again, INSTALLING AN OPERATING SYSTEM ON AN EXISTING HARD DRIVE MIGHT
+POTENTIALLY DESTROY EXISTING DATA, ESPECIALLY IF YOU DON'T KNOW
+EXACTLY WHAT YOU ARE DOING. SO PLEASE BE CAREFUL, BACKUP YOUR DATA,
+AND DO NOT COMPLAIN IF ANYTHING GOES WRONG. IT WILL BE JUST *YOUR*
+FAULT.
+
+=======================================
+
+5) == Acknowledgements ==
+
+I thank the refracta team for providing refractasnapshot and
+refractainstaller.
+
+A very special thank goes to Gregory Nowak, Parham Doustdar, Jude
+DaShiell, John G Heim, Rob, and all the people in the Linux-speakup
+mailing list (http://www.linux-speakup.org/) for their encouragement
+and support, and for providing invaluable feedback about
+accessibility. Without their help, I couldn't have seen what was
+needed in order to make the minimal live images easier to use for
+visually-impaired users.
+
+I feel indebted with all the people in the DNG Mailing List who have
+provided feedback, suggestions, comments, and encouragement, and in
+particular: aitor_czr, Boruch Baum, fsmithred, golinux, David Hare,
+Irrwahn, Steve Litt, Daniel Reurich, Joel Roth, Ozi Traveller.
+
+Comments, suggestions, criticisms, and bug reports are welcome, and
+should be reported on the official Devuan Bug Tracking System:
+
+ http://bugs.devuan.org
+
+=======================================
+
diff --git a/blends/devuan-minimal-live/ascii/rootfs_overlay/root/README_firmware.txt b/blends/devuan-minimal-live/ascii/rootfs_overlay/root/README_firmware.txt
new file mode 100644
index 0000000..5725d16
--- /dev/null
+++ b/blends/devuan-minimal-live/ascii/rootfs_overlay/root/README_firmware.txt
@@ -0,0 +1,20 @@
+== About non-free firmware in Devuan minimal-live
+
+Devuan minimal live comes with all the available firmware
+packages pre-installed. This means that also *non-free*
+software is present in this image. Actually, those non-free
+firmware packages are *the only* non-free software packages
+installed in this image.
+
+This choice was dictated by the necessity to facilitate
+new users in getting their hardware, and expecially wifi
+cards, working out of the box.
+
+However, we highly value the freedom of Devuan users, and
+we would rather prefer to not be ever forced to use non-free
+software, at all.
+
+For this reason, we provide a simple script, called
+"remove_firmware.sh", which allows to remove all non-free
+firmware from your installation right after boot. Just run
+the script, and all non-free firmware will be removed.
diff --git a/blends/devuan-minimal-live/ascii/rootfs_overlay/root/remove_firmware.sh b/blends/devuan-minimal-live/ascii/rootfs_overlay/root/remove_firmware.sh
new file mode 100755
index 0000000..cfab258
--- /dev/null
+++ b/blends/devuan-minimal-live/ascii/rootfs_overlay/root/remove_firmware.sh
@@ -0,0 +1,34 @@
+#!/bin/sh
+
+##
+## Remove all the non-free firmware packages
+##
+
+FIRMWARE_PKGS="\
+
+atmel-firmware \
+bluez-firmware \
+dahdi-firmware-nonfree \
+firmware-amd-graphics \
+firmware-atheros \
+firmware-bnx2 \
+firmware-bnx2x \
+firmware-brcm80211 \
+firmware-cavium \
+firmware-crystalhd \
+firmware-intel-sound \
+firmware-intelwimax \
+firmware-iwlwifi \
+firmware-libertas \
+firmware-linux-nonfree \
+firmware-myricom \
+firmware-netxen \
+firmware-qlogic \
+firmware-realtek \
+firmware-ti-connectivity \
+firmware-zd1211
+"
+
+echo "=== removing unwanted firmware packages..."
+apt-get autoremove --purge ${FIRMWARE_PKGS}
+
diff --git a/blends/devuan-minimal-live/ascii/scripts/create_initrd.sh b/blends/devuan-minimal-live/ascii/scripts/create_initrd.sh
new file mode 100755
index 0000000..080c94f
--- /dev/null
+++ b/blends/devuan-minimal-live/ascii/scripts/create_initrd.sh
@@ -0,0 +1,237 @@
+#!/bin/bash
+
+# ----------------------------------------------------------------------
+#
+# This file is part of microdevuan, a set of scripts to create minimal
+# devuan live images
+#
+# ----------------------------------------------------------------------
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or (at
+# your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+# ----------------------------------------------------------------------
+#
+# (c) KatolaZ (2016)
+#
+# ----------------------------------------------------------------------
+
+####
+##
+## This will create a minimal initrd without too much garbage
+##
+## KatolaZ -- 2016-05-14
+##
+##
+
+if [ $# -le 3 ]; then
+ echo "Usage: $0 "
+ exit 1
+fi
+
+
+####
+##
+## Config options --
+##
+
+OLDPWD=`pwd`
+INITRD_ORIG=$1
+INITRD_NEW=$2
+INITRD_COMPR=$3
+INITRD_MICRO=$4
+
+
+WORK_DIR=/tmp/initrd_new
+
+MODULE_DIRS=$(ls lib/modules/)
+
+####
+##
+## unpack the current initrd image
+##
+
+if [ ! -d ${WORK_DIR} ]; then
+ mkdir ${WORK_DIR}
+else
+ rm -rf ${WORKDIR}/*
+fi
+
+
+
+####
+##
+## Determine how the original initrd was compressed...
+##
+
+INITRD_FILE=`file -L ${INITRD_ORIG}`
+
+if [ `echo ${INITRD_FILE} | grep gzip | wc -l` == 1 ]; then
+ INITRD_UNCOMPRESS=zcat;
+elif [ `echo ${INITRD_FILE} | grep bzip2 | wc -l` == 1 ]; then
+ INITRD_UNCOMPRESS=bzcat;
+elif [ `echo ${INITRD_FILE} | grep " xz " | wc -l` == 1 ]; then
+ INITRD_UNCOMPRESS=xzcat;
+else
+ echo "Unable to determine the format of ${INITRD_ORIG} -- Aborting!!!"
+ exit 1;
+fi
+
+echo -n "===> Uncompressing the original init using ${INITRD_UNCOMPRESS}..."
+
+cd ${WORK_DIR}; `${INITRD_UNCOMPRESS} ${INITRD_ORIG} | cpio -id`
+
+echo "done!"
+
+####
+##
+## Remove unnecessary ethernet modules -- we already know
+## that the root partition is not over nfs...
+##
+
+for M in ${MODULE_DIRS}; do
+
+ echo "===> Removing drivers for kernel version ${M} <==="
+
+ MODULE_DIR="lib/modules/${M}/kernel"
+
+ echo -n "===> Removing unnecessary network drivers..."
+
+ ##rm -rf ${MODULE_DIR}/drivers/net/ethernet/*
+ rm -rf ${MODULE_DIR}/drivers/net/*
+
+ echo "done!"
+
+ ####
+ ##
+ ## Remove unnecessary filesystem support
+ ##
+ ##
+
+ echo -n "===> Removing unnecessary filesystems drivers..."
+
+ ##rm -rf ${MODULE_DIR}/fs/nfs
+ rm -rf ${MODULE_DIR}/fs/xfs
+ rm -rf ${MODULE_DIR}/fs/btrfs
+ ##rm -rf ${MODULE_DIR}/fs/ext4
+ rm -rf ${MODULE_DIR}/fs/fat
+ rm -rf ${MODULE_DIR}/fs/fuse
+ rm -rf ${MODULE_DIR}/fs/hfs
+ rm -rf ${MODULE_DIR}/fs/hfsplus
+ rm -rf ${MODULE_DIR}/fs/reiserfs
+ rm -rf ${MODULE_DIR}/fs/ntfs
+ rm -rf ${MODULE_DIR}/fs/jfs
+ rm -rf ${MODULE_DIR}/fs/jffs2
+ rm -rf ${MODULE_DIR}/fs/udf
+ rm -rf ${MODULE_DIR}/fs/nls
+ rm -rf ${MODULE_DIR}/fs/nfs_common
+
+ echo "done!"
+
+ ####
+ ##
+ ## Remove the lftp and qla2xxx drivers (FibreChannel)
+ ##
+
+ echo -n "===> Removing unnecessary SCSI drivers..."
+
+
+ rm -rf ${MODULE_DIR}/drivers/scsi/lpfc
+ rm -rf ${MODULE_DIR}/drivers/scsi/qla2xxx
+ rm -rf ${MODULE_DIR}/drivers/scsi/fnic
+ rm -rf ${MODULE_DIR}/drivers/scsi/csiostor
+ rm -rf ${MODULE_DIR}/drivers/scsi/isci
+ rm -rf ${MODULE_DIR}/drivers/scsi/cxgbi
+ rm -rf ${MODULE_DIR}/drivers/scsi/megaraid
+ rm -rf ${MODULE_DIR}/drivers/scsi/mpt2sas
+ rm -rf ${MODULE_DIR}/drivers/scsi/mpt3sas
+ rm -rf ${MODULE_DIR}/drivers/scsi/pm8001
+ rm -rf ${MODULE_DIR}/drivers/scsi/qla4xxx
+ rm -rf ${MODULE_DIR}/drivers/scsi/aic7xxx
+ rm -rf ${MODULE_DIR}/drivers/scsi/bfa
+
+ echo "done!"
+
+ ## remove the gpu driver folder altogether
+
+ echo -n "===> Removing unnecessary GPU drivers..."
+
+ rm -rf ${MODULE_DIR}/drivers/gpu/
+
+ echo "done"
+
+ echo -n "===> Removing unnecessary firmware..."
+
+ rm -rf ${MODULE_DIR}/firmware/radeon/
+ rm -rf ${MODULE_DIR}/firmware/cxgb4
+
+ echo "done"
+
+
+done
+
+##
+## Remove unnecessary stuff in /bin and /sbin
+##
+
+echo -n "===> Removing unnecessary stuff in /bin and /sbin..."
+
+#rm -rf bin/rsync bin/wget
+#rm -rf sbin/acpid
+#rm -rf lib/systemd
+
+echo "done!"
+
+
+####
+##
+## Maybe we might remove everything in usr/lib
+##
+
+echo -n "===> Removing unnecessary libraries in /usr/lib..."
+
+##rm -rf usr/lib/*
+
+echo "done!"
+
+####
+
+
+####
+##
+## Now we create the micro initrd
+##
+
+cat < Creating new initrd '${INITRD_MICRO}' using ${INITRD_COMPR}..."
+
+find . | cpio -H newc -o | `echo ${INITRD_COMPR}` > ${INITRD_MICRO}
+
+echo -n "done!"
+
+####
+##
+## Remove the directory
+##
+
+cd ${OLDPWD} && rm -rf ${WORK_DIR}
+
+exit 0
diff --git a/blends/devuan-minimal-live/config b/blends/devuan-minimal-live/config
new file mode 100644
index 0000000..3d6cb47
--- /dev/null
+++ b/blends/devuan-minimal-live/config
@@ -0,0 +1,46 @@
+#!/usr/bin/env zsh
+## configuration file for devuan-minimal-live blend
+
+vars+=(username userpass default_shell mkefi grubversion hookscripts)
+arrs+=(custom_deb_packages)
+
+blend_name="devuan-minimal-live_"
+
+release="ascii"
+
+
+username="devuan"
+userpass="devuan"
+default_shell="/bin/bash"
+
+# comment to disable:
+#hookscripts="yes"
+
+# uncomment to create uefi-bootable iso
+#mkefi="yes"
+#efi_work="$BLENDPATH/efi-files"
+
+#grubversion="grub-pc"
+#grubversion="grub-efi-amd64"
+
+##release="ascii"
+mirror="http://pkgmaster.devuan.org/merged"
+section="main contrib non-free"
+
+
+base_packages_option=(--no-install-recommends)
+extra_packages_option=(--no-install-recommends)
+
+
+release_conf="$BLENDPATH/$release/config"
+
+
+### package sets are defined in the corresponding $release/config file
+
+source $release_conf
+
+## image_name depends on release and version
+
+image_name="${os}_${release}_${version}_${arch}_minimal"
+
+
diff --git a/blends/devuan-minimal-live/devuan-minimal-live.blend b/blends/devuan-minimal-live/devuan-minimal-live.blend
new file mode 100644
index 0000000..6879abd
--- /dev/null
+++ b/blends/devuan-minimal-live/devuan-minimal-live.blend
@@ -0,0 +1,381 @@
+#!/usr/bin/env zsh
+# Copyright (c) 2017 Dyne.org Foundation
+# live-sdk is written and maintained by Ivan J.
+#
+# This file is part of live-sdk
+# devuan-minimal-live.blend is maintained by KatolaZ
+#
+# This source code is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This software is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this source code. If not, see .
+
+BLENDPATH="${BLENDPATH:-$(dirname $0)}"
+
+source $BLENDPATH/config
+
+blend_release_path=$BLENDPATH/$release/
+blend_scripts=${blend_release_path}/scripts
+
+###source $BLENDPATH/$release/devuan-minimal-live.release
+
+blend_preinst() {
+ fn blend_preinst
+ req=(blend_name username userpass)
+ ckreq || return 1
+
+ notice "executing $blend_name preinst"
+
+ add-user $username $userpass
+
+ notice "copying blend-specific debs into $R/extra/custom-packages"
+ ## No more custom-packages
+ ##cp -fv "$blend_release_path"/custom_debs/*.deb "$R/extra/custom-packages"
+}
+
+blend_postinst() {
+ fn blend_postinst
+ req=(strapdir blend_name)
+ ckreq || return 1
+
+ notice "executing $blend_name postinst"
+
+ [[ "$mkefi" = "yes" ]] && {
+ iso_make_efi
+ iso_write_grub_cfg
+ }
+
+ ## TODO: ENABLE THIS
+ install-custdebs || zerr
+ pushd "$strapdir"
+ sudo rsync -avx --no-o --no-g "$blend_release_path"/rootfs_overlay/* . || zerr
+ sudo chmod 755 etc/init.d/boot_beep
+ popd
+
+ blend_finalize || zerr
+}
+
+iso_write_isolinux_cfg() {
+ fn iso_write_isolinux_cfg "(override)"
+ req=(workdir arch username)
+ ckreq || return 1
+
+ notice "copying isolinux overlay"
+ sudo mkdir -p "$workdir"/binary/{live,isolinux}
+ sudo cp -rav "$blend_release_path"/isolinux_overlay/* "$workdir"/binary/isolinux/
+ #[[ -n "$hookscripts" ]] && {
+ # sudo cp -av "$BLENDPATH"/hooks "$workdir"/binary/live/
+ #}
+}
+
+# create /boot and /efi for uefi.
+# uefi code borrowed and adapted from David Hare, who borrowed and adapted it
+# from similar scripts by Colin Watson and Patrick J. Volkerding.
+iso_make_efi() {
+ fn iso_make_efi
+ req=(workdir efi_work)
+ ckreq || return 1
+
+ notice "creating efi boot files"
+
+ tempdir="$(mktemp -d /tmp/work_temp.XXXX)"
+ # for initial grub.cfg
+ mkdir -p "$tempdir"/boot/grub
+
+
+ cat >"$tempdir"/boot/grub/grub.cfg <> boot/grub/x86_64-efi/grub.cfg
+ done
+
+ # Additional modules so we don't boot in blind mode.
+ # I don't know which ones are really needed.
+ efimods=(
+ efi_gop
+ efi_uga
+ ieee1275_fb
+ vbe
+ vga
+ video_bochs
+ video_cirrus
+ jpeg
+ png
+ gfxterm
+ )
+ for i in $efimods; do
+ print "insmod $i" >> boot/grub/x86_64-efi/grub.cfg
+ done
+
+ print "source /boot/grub/grub.cfg" >> boot/grub/x86_64-efi/grub.cfg
+
+ pushd "$tempdir"
+ # make a tarred "memdisk" to embed in the grub image
+ tar -cvf memdisk boot
+
+ # make the grub image
+ grub-mkimage -O "x86_64-efi" -m "memdisk" -o "bootx64.efi" \
+ -p '(memdisk)/boot/grub' \
+ search iso9660 configfile normal memdisk tar cat \
+ part_msdos part_gpt fat ext2 ntfs ntfscomp hfsplus \
+ chain boot linux
+ popd
+
+ # copy the grub image to efi/boot (to go later in the device's root)
+ cp "$tempdir"/bootx64.efi efi/boot
+
+ # Do the boot image "boot/grub/efiboot.img"
+ dd if=/dev/zero of=boot/grub/efiboot.img bs=1K count=1440
+ mkfs.vfat -F 12 boot/grub/efiboot.img
+
+ sudo mkdir img-mnt
+ sudo mount -o loop boot/grub/efiboot.img img-mnt
+ sudo mkdir -p img-mnt/efi/boot
+ sudo cp "$tempdir"/bootx64.efi img-mnt/efi/boot/
+
+ # copy modules and font
+ cp $strapdir/usr/lib/grub/x86_64-efi/* boot/grub/x86_64-efi/
+
+ # if this doesn't work try another font from the same place (grub's default, unicode.pf2, is much larger)
+ # Either of these will work, and they look the same to me. Unicode seems to work with qemu. -fsr
+ # cp /usr/share/grub/ascii.pf2 boot/grub/font.pf2
+ cp $strapdir/usr/share/grub/unicode.pf2 boot/grub/font.pf2
+
+ # copy splash
+ sudo cp -rav "$blend_release_path"/isolinux_overlay/splash.png boot/grub/splash.png
+
+ # Cleanup efi temps
+ sudo umount img-mnt
+ sudo rmdir img-mnt
+ rm -rf "$tempdir"
+
+ popd
+
+
+ # Copy efi files to iso
+ pushd $workdir
+ sudo rsync -avx "$efi_work"/boot binary/
+ sudo rsync -avx "$efi_work"/efi binary/
+ popd
+
+}
+
+
+## UNUSED
+iso_write_grub_cfg() {
+ fn iso_write_grub_cfg "(override)"
+ req=(workdir arch username)
+ ckreq || return 1
+
+ notice "writing grub configuration"
+
+ # Do the main grub.cfg (which gets loaded last):
+ cat </dev/null
+
+ ## Now we make it executable
+ sudo chmod 755 ${strapdir}/create_initrd.sh
+}
+
+## put the "finalize" script, that does the final work
+
+## func
+put_finalize(){
+
+ cat </dev/null
+#!/bin/sh
+
+## permissions
+for i in cdrom floppy audio dip video plugdev netdev lpadmin scanner; do
+ gpasswd -a ${username} \$i
+done
+
+chsh -s "${default_shell}" ${username}
+chown -R 1000:1000 /home/${username}
+
+# Not sure if this has been fixed (in devuan-baseconf?)
+mv /data/etc/apt/apt.conf.d/05disable-suggests /etc/apt/apt.conf.d/
+rm -rf /data
+
+rm -f /etc/fstab
+rm -f /etc/popularity-contest.conf
+
+# For ascii if no display manager is used. Maybe this should have a
+# contitional that's turned on/off in the config?
+# echo "needs_root_rights=yes" >> /etc/X11/Xwrapper.config
+
+# Disable contrib and non-free after installing firmware.
+sed -i 's/ contrib//g' /etc/apt/sources.list
+sed -i 's/ non-free//g' /etc/apt/sources.list
+
+## Disable updates
+sed -i '/-updates/s/^/## /g' /etc/apt/sources.list
+
+## insert service boot_beep
+insserv boot_beep
+
+## Configure framebuffer
+setcap 'cap_sys_tty_config+ep' /usr/bin/fbterm
+chmod u+s /usr/bin/fbterm
+
+## Make initramfs
+
+SLIM_INITRD=initrd_devuan.img
+MICRO_INITRD=/boot/initrd.img
+INITRD_COMPR="xz --check=crc32 --x86 -6 -"
+
+
+/create_initrd.sh /initrd.img /boot/\${SLIM_INITRD} \
+ "\${INITRD_COMPR}" \${MICRO_INITRD}
+
+rm -f $(realpath /initrd.img)
+rm -f $(realpath /initrd.img.old)
+
+echo "====> Content of /boot before rm:"
+
+ls /boot
+
+rm -f /initrd.img
+rm -f /initrd.img.old
+
+KERN_ORIG=\$(ls /boot/initrd.img-* | head -1 | cut -d "-" -f 2-)
+
+rm -f /boot/initrd.img-*
+
+
+echo "====> Content of /boot AFTER rm:"
+
+ls /boot
+
+ln -s \${MICRO_INITRD} /initrd.img
+
+
+
+## rm create_initrd.sh
+rm /create_initrd.sh
+
+## install additional packages
+
+cd /custom-packages
+dpkg -i \$(find ./ -type f -name '*.deb')
+
+
+## package list
+#dpkg -l | awk '/^ii/ { print $2 " " $3 }' > /home/${username}/package_list
+
+##apt-get update
+apt-get clean
+rm /var/cache/apt/*.bin
+updatedb
+
+rm -f /initrd.img
+rm -f /initrd.img.old
+rm -f /boot/initrd.img-*
+ln -s \${MICRO_INITRD} /initrd.img
+
+ln -s \${MICRO_INITRD} /boot/initrd.img-\${KERN_ORIG}
+
+
+EOF
+
+## cp ${strapdir}/finalize ${strapdir}/finalize.bak
+
+}
+
+## func
+# put_packages(){
+
+# sudo cp -a "$R/extra/custom-packages/" ${strapdir}
+# }
+
+
+blend_finalize() {
+ fn blend_finalize
+ req=(strapdir username default_shell)
+ ckreq || return 1
+
+ put_create_initrd
+ #put_packages
+
+ put_finalize
+
+ #chroot-script -d finalize || zerr
+ chroot-script finalize || zerr
+
+ printf "copying ${strapdir}/boot/initrd.img to ${workdir}/binary/live/..."
+ sudo cp -L ${strapdir}/boot/initrd.img ${workdir}/binary/live/
+ echo "done"
+}
diff --git a/sdk b/sdk
index ef7efeb..b65de9c 100755
--- a/sdk
+++ b/sdk
@@ -30,6 +30,7 @@ source $R/lib/zuper/zuper
vars+=(livesdk_version)
vars+=(R workdir strapdir)
vars+=(os oslib blendlib)
+vars+=(release)
vars+=(MAKEOPTS)
## global arrs
@@ -49,6 +50,9 @@ load() {
os="$1"
arch="$2"
blend="$3"
+
+ [[ $# -gt 3 ]] && release="$4"
+
req=(os arch)
ckreq || return 1
@@ -64,6 +68,7 @@ load() {
blend_map=(
"devuan-live" "$R/blends/devuan-live/devuan-live.blend"
+ "devuan-minimal-live" "$R/blends/devuan-minimal-live/devuan-minimal-live.blend"
"heads" "$R/../heads.blend"
"decode" "$R/../decode.blend"
)
@@ -86,7 +91,7 @@ load() {
source $oslib
[[ -f $blendlib ]] && {
source $blendlib || zerr
- act "$os blend leaded"
+ act "$os blend loaded -- ($blend -- release: $release)"
export BLEND=1
}
@@ -104,3 +109,5 @@ TRAPZERR() { zerr; return $? }
notice "live-sdk loaded"
export PROMPT="%F{yellow}%(?..%? )%{$reset_color%}livesdk@%{$fg[red]%}%m %{$reset_color%} %{$fg[blue]%}%#%{$fg_bold[blue]%}%{$reset_color%} "
+
+echo "release is: $release"