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..133bfa4
--- /dev/null
+++ b/blends/devuan-minimal-live/ascii/scripts/create_initrd.sh
@@ -0,0 +1,232 @@
+#!/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
+
+echo "$0: got $1 $2 $3 $4"
+
+WORK_DIR=/tmp/initrd_new
+
+MODULE_DIR=lib/modules/`uname -r`/kernel
+
+####
+##
+## 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 ${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...
+##
+
+echo -n "===> Removing 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
+
+echo "done!"
+
+####
+##
+## Maybe we might remove everything in usr/lib
+##
+
+echo -n "===> Removing unnecessary libraries in /usr/lib..."
+
+##rm -rf usr/lib/*
+
+echo "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!"
+
+####
+##
+## Now we create the new slim initrd
+##
+
+# echo -n "===> Creating new initrd '${INITRD_NEW}' using ${INITRD_COMPR}..."
+
+
+# find . | cpio -H newc -o | `echo ${INITRD_COMPR}` > ${INITRD_NEW}
+
+# echo "done!"
+
+####
+##
+## Now we go for the extremely stripped down initrd
+##
+
+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
+
+
+####
+##
+## 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/devuan-minimal-live.blend b/blends/devuan-minimal-live/devuan-minimal-live.blend
index d0ed6a2..f65f9a7 100644
--- a/blends/devuan-minimal-live/devuan-minimal-live.blend
+++ b/blends/devuan-minimal-live/devuan-minimal-live.blend
@@ -23,6 +23,7 @@ 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
@@ -56,7 +57,7 @@ blend_postinst() {
#install-custdebs || zerr
pushd "$strapdir"
sudo rsync -avx --no-o --no-g "$blend_release_path"/rootfs_overlay/* . || zerr
- chmod 755 etc/init.d/boot_beep
+ sudo chmod 755 etc/init.d/boot_beep
## TODO:
## insserv boot_beep
popd
@@ -182,6 +183,7 @@ EOF
}
+## UNUSED
iso_write_grub_cfg() {
fn iso_write_grub_cfg "(override)"
req=(workdir arch username)
@@ -239,10 +241,21 @@ menuentry "Memory test" {
EOF
}
-blend_finalize() {
- fn blend_finalize
- req=(strapdir username default_shell)
- ckreq || return 1
+## put the "create_initrd.sh" script
+
+##func
+put_create_initrd(){
+
+ sudo cp ${blend_scripts}/create_initrd.sh ${strapdir}/ >/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
@@ -254,13 +267,6 @@ done
chsh -s "${default_shell}" ${username}
chown -R 1000:1000 /home/${username}
-cp /home/${username}/Desktop/refractainstaller.desktop /usr/share/applications/
-chmod +x /home/${username}/Desktop/refractainstaller.desktop
-
-# This can go away when desktop-base is fixed to do the grub theme.
-grep -q GRUB_THEME /etc/default/grub || {
- printf "\nGRUB_THEME=/usr/share/desktop-base/grub-themes/desktop-grub-theme/theme.txt\n" >> /etc/default/grub
-}
# Not sure if this has been fixed (in devuan-baseconf?)
mv /data/etc/apt/apt.conf.d/05disable-suggests /etc/apt/apt.conf.d/
@@ -284,6 +290,21 @@ insserv boot_beep
setcap 'cap_sys_tty_config+ep' /usr/bin/fbterm
chmod u+s /usr/bin/fbterm
+## Make initramfs
+
+SLIM_INITRD=initrd_devuan.img
+MICRO_INITRD=initramfs-\$(uname -r).img
+INITRD_COMPR="xz --check=crc32 --x86 -6 -"
+
+
+/create_initrd.sh /boot/initrd.img-`uname -r` /boot/\${SLIM_INITRD} \
+ "\${INITRD_COMPR}" /boot/\${MICRO_INITRD}
+
+unlink /initrd.img
+ln -s /boot/\${MICRO_INITRD} /initrd.img
+
+## rm create_initrd.sh
+##sudo rm /create_initrd.sh
## package list
dpkg -l | awk '/^ii/ { print $2 " " $3 }' > /home/${username}/package_list
@@ -292,7 +313,18 @@ apt-get update
apt-get clean
updatedb
EOF
+}
+
+blend_finalize() {
+ fn blend_finalize
+ req=(strapdir username default_shell)
+ ckreq || return 1
+
+ put_create_initrd
+
+ put_finalize
+
chroot-script -d finalize || zerr
}