From d02b803b8eae86cc0441a8370adbaddcf20b9bde Mon Sep 17 00:00:00 2001 From: KatolaZ Date: Tue, 12 Dec 2017 00:08:19 +0000 Subject: [PATCH] First full-fledged minimal-live blend --- blends/devuan-minimal-live/ascii/config | 292 +++++++++++++++++ .../ascii/isolinux_overlay/isolinux.cfg | 58 ++++ .../ascii/isolinux_overlay/splash.png | Bin 0 -> 25634 bytes .../ascii/rootfs_overlay/etc/boot_beep | 74 +++++ .../ascii/rootfs_overlay/etc/init.d/boot_beep | 132 ++++++++ .../ascii/rootfs_overlay/etc/inittab | 84 +++++ .../ascii/rootfs_overlay/etc/motd | 7 + .../etc/wpa_supplicant/wpa_supplicant.conf | 2 + blends/devuan-minimal-live/config | 298 +----------------- .../devuan-minimal-live.blend | 75 ++--- sdk | 8 +- 11 files changed, 691 insertions(+), 339 deletions(-) create mode 100644 blends/devuan-minimal-live/ascii/config create mode 100644 blends/devuan-minimal-live/ascii/isolinux_overlay/isolinux.cfg create mode 100644 blends/devuan-minimal-live/ascii/isolinux_overlay/splash.png create mode 100755 blends/devuan-minimal-live/ascii/rootfs_overlay/etc/boot_beep create mode 100755 blends/devuan-minimal-live/ascii/rootfs_overlay/etc/init.d/boot_beep create mode 100644 blends/devuan-minimal-live/ascii/rootfs_overlay/etc/inittab create mode 100644 blends/devuan-minimal-live/ascii/rootfs_overlay/etc/motd create mode 100644 blends/devuan-minimal-live/ascii/rootfs_overlay/etc/wpa_supplicant/wpa_supplicant.conf diff --git a/blends/devuan-minimal-live/ascii/config b/blends/devuan-minimal-live/ascii/config new file mode 100644 index 0000000..cee0bed --- /dev/null +++ b/blends/devuan-minimal-live/ascii/config @@ -0,0 +1,292 @@ +#!/usr/bin/env zsh +## configuration file for devuan-live blend -- ASCII release + + +version="2.0.0_beta" + + +## +## 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 + 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 + 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: ADD setnet +#### TODO: REPLACE twidge (twitter client) +#### TODO: ADD refractasnapshot +#### TODO: ADD refractainstaller +#### ADDED: geoip-bin + +#extra_packages+=( +# b43-fwcutter +# firmware-atheros +# firmware-b43-installer +# firmware-b43legacy-installer +# firmware-bnx2 +# firmware-bnx2x +# firmware-brcm80211 +# firmware-intelwimax +# firmware-iwlwifi +# firmware-libertas +# firmware-linux-nonfree +# firmware-myricom +# firmware-netxen +# firmware-qlogic +# firmware-ralink +# firmware-realtek +# firmware-ti-connectivity +# firmware-zd1211 +#) + + +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+=( +# refractainstaller-base_9.3.0_all.deb +# refractainstaller-gui_9.2.2_all.deb +# refractasnapshot-base_10.0.2_all.deb +# refractasnapshot-gui_9.0.2_all.deb +# setnet_0.3.2-1_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 0000000000000000000000000000000000000000..c768b17fc7694915ff51edaed38e1a9639e91fca GIT binary patch literal 25634 zcmd43cRZK<`#!EzT4-k!-O(acNOn@0k&!(TviIIfrD0@;jFONQ*|QQt$lhdcvNzx3 zy5H~5_w)PX_xu0XJ3CebQzI*FEpuH~GfTbjDLxt!l2asNH-+Tw-%fNnsL2l(F3(Vof2K^F zc(tAN)M+Z2o7$b6FT5qfnm-sAhrP*Eb~H0<@96HS>h3naqwRlIK{)yH?S2}WBipte zycKxsme3AmorAAkLLX66y_s7p35h#&_i{RQ)Y5oq)y%KZIp^AodPP=|!+e^gV*ZRf zgbv`pCuGlh&B;#feoXwgpT&=4@4x@zyMJ^0`F~&h>wa)g^uNFVPI{Zs{omj2rlk7+ z*&9dgwzvNNeci}t{C?T#|6a@^*K_XlZtIslDNfS-Qu^=Z{_}f!$M2dN3SM5`m93pS zcRDXLDK<7Xz77oJIR9Fl?VOT-@8&kG4BN@}%#ymls|({Y=Z_pYdbD?N@C@6R z?Cf*w?1u#f1s%FxzT6uqK6o;_t!H6ZIHTByk01Smf}SQOG7k+6k$i}Yvl?r>aN^|2 zLGGhpzI@?!UB4zCdx(~nmV{M3@20Hmp<~C6%?@N6ydUM|4b9EZ^7DDk3%xXrjW2q8d(T?AEKVqgg@u{h*i5zvxM1aXZDKcWY(vLqq?b>7_(}|3mn5>C&aI6%~8j z6BSbr(bG%o>BX(DBqt>N!^-N@+^oRI$48=XY|MD|YH)kIinFsb$=w9`AEl)h3uE{2 z6Fz)Brf%MG(uSw&x!Yv#>ZV$uV~~#zMN(1{en&O+8ejJQ-8-!xKN?zFMTLb)o12>% zPSa@(P-U^ZlTn2$?gFoZJBS(G&v#6eDW78XNPUhg^I(+ERce@^! z^3qqw+w$$$Vq;?^L$5sj@PSb(g6Ec++6iuM?k7*4m``b;VlI`BR_kCKLpGilSjD|)Hz5p-Wh-)}VO}*#qTW+i8zP{5-0-T(j zT3T9<7{v;fx}9=zaxOW}>kF)o#Lzc|rq$F)2`v91U0+`}H#h$i<14WJeq+20mS@4o zcWb^u`Z5=n-uEYa*8AzVqEk|Qe*P5A%ge);^o^$$f6U0Re!bK;rJt#S!!eZkoO~sl zpwpFSV{K>kLao5w@68*kD_5?FN=oX~e-M*bP)Ijw zVP(}U`W4CVL|ksN!WZ4DW1l{KYRxb>eE6KyO@GF##;w;SB=$wQu3kVE`1>mZ3leV1cyX7AcfbXXGqE}m1QSoAE=%EAe;^HDM+;Vn6%%M;$;Ou3W)%o6578Mnh z<*EGX_~hil?@#xw_foq3=_`GO+<8ju5H?r=(wWY~hwl{<(>{NWj*fPZl?ai&d)NJT z%r_jjpn&hjjT`#<`qvYit{@_6B6!b5jW+0WAOl$T{n)dA|9*r7_RS@`DYXaM+PSuq zH2vkiB5@6AIu(Z&C)$LywEjU{6|B!zkr1o6KI7|F&@XWB-aU(fp9d9EHL4NYgTrgc zA;hUΠ9&M<)Vik+ypzC2^xQxqW) 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. +# +# ---------------------------------------------------------------------- +# +# (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/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..20280cf --- /dev/null +++ b/blends/devuan-minimal-live/ascii/rootfs_overlay/etc/motd @@ -0,0 +1,7 @@ + +Devuan ASCII 2.0.0-beta -- 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/config b/blends/devuan-minimal-live/config index 453546a..708f5e0 100644 --- a/blends/devuan-minimal-live/config +++ b/blends/devuan-minimal-live/config @@ -1,11 +1,14 @@ #!/usr/bin/env zsh -## configuration file for devuan-live blend +## 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" @@ -20,299 +23,24 @@ default_shell="/bin/bash" #grubversion="grub-pc" #grubversion="grub-efi-amd64" -release="ascii" -version="2.0.0_beta" +##release="ascii" mirror="http://devuan.mine.nu/merged" section="main" -image_name="${os}_${release}_${version}_${arch}_minimal" base_packages_option=(--no-install-recommends) extra_packages_option=(--no-install-recommends) -### 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 - 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 -) +release_conf="$BLENDPATH/$release/config" -## 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 - telnet - tin - traceroute - w3m - wget - whois -) +### 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" -## 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 -) - -##echo "extra_packages: ${extra_packages}" - - -#### TODO: ADD setnet -#### TODO: REPLACE twidge (twitter client) -#### TODO: ADD refractasnapshot -#### TODO: ADD refractainstaller -#### TODO: ADD setnet -#### ADDED: geoip-bin - -#extra_packages+=( -# b43-fwcutter -# firmware-atheros -# firmware-b43-installer -# firmware-b43legacy-installer -# firmware-bnx2 -# firmware-bnx2x -# firmware-brcm80211 -# firmware-intelwimax -# firmware-iwlwifi -# firmware-libertas -# firmware-linux-nonfree -# firmware-myricom -# firmware-netxen -# firmware-qlogic -# firmware-ralink -# firmware-realtek -# firmware-ti-connectivity -# firmware-zd1211 -#) - - -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+=( -# refractainstaller-base_9.3.0_all.deb -# refractainstaller-gui_9.2.2_all.deb -# refractasnapshot-base_10.0.2_all.deb -# refractasnapshot-gui_10.0.2_all.deb -# setnet_0.3.2-1_all.deb -#) diff --git a/blends/devuan-minimal-live/devuan-minimal-live.blend b/blends/devuan-minimal-live/devuan-minimal-live.blend index 2e7165f..34bf813 100644 --- a/blends/devuan-minimal-live/devuan-minimal-live.blend +++ b/blends/devuan-minimal-live/devuan-minimal-live.blend @@ -22,6 +22,10 @@ BLENDPATH="${BLENDPATH:-$(dirname $0)}" source $BLENDPATH/config +blend_release_path=$BLENDPATH/$release/ + +###source $BLENDPATH/$release/devuan-minimal-live.release + blend_preinst() { fn blend_preinst req=(blend_name username userpass) @@ -31,8 +35,8 @@ blend_preinst() { add-user $username $userpass - #notice "copying blend-specific debs" - #cp -fv "$BLENDPATH"/*.deb "$R/extra/custom-packages" + notice "copying blend-specific debs" + ##cp -fv "$blend_release_path"/custom_debs/*.deb "$R/extra/custom-packages" } blend_postinst() { @@ -47,10 +51,14 @@ blend_postinst() { iso_write_grub_cfg } + ## TODO: #install-custdebs || zerr - #pushd "$strapdir" - # sudo rsync -avx --no-o --no-g "$BLENDPATH"/rootfs-overlay/* . || zerr - #popd + pushd "$strapdir" + sudo rsync -avx --no-o --no-g "$blend_release_path"/rootfs_overlay/* . || zerr + chmod 755 etc/init.d/boot_beep + ## TODO: + ## insserv boot_beep + popd blend_finalize || zerr } @@ -60,55 +68,9 @@ iso_write_isolinux_cfg() { req=(workdir arch username) ckreq || return 1 - notice "writing isolinux configuration" - - cat </dev/null -ui vesamenu.c32 -prompt 0 -menu title devuan-live boot menu -timeout 70 -menu background /isolinux/splash.png -menu color title * #FFFFFFFF * -menu color border * #00000000 #00000000 none -menu color sel * #ffffffff #A1B067 * -menu color hotsel 1;7;37;40 #ffffffff #A1B067 * -menu color tabmsg * #E5FD91 #00000000 * -menu color cmdline 0 #E5FD91 #00000000 -menu tabmsg Press ENTER to boot or TAB to edit a menu entry -menu vshift 12 -menu rows 12 - -label live - menu label ${os}-live (${arch}) - menu default - linux /live/vmlinuz - append initrd=/live/initrd.img boot=live username=${username} - -label lang - menu label Other language (TAB to edit) - linux /live/vmlinuz - append initrd=/live/initrd.img boot=live username=${username} hooks=file:///lib/live/mount/medium/live/hooks/fix-lang.sh locales=it_IT.UTF-8 - -label toram - menu label ${os}-live (${arch}) (load to RAM) - linux /live/vmlinuz - append initrd=/live/initrd.img boot=live username=${username} toram - -label failsafe - menu label ${os}-live (${arch}) (failsafe) - kernel /live/vmlinuz noapic noapm nodma nomce nolapic nosmp nomodeset vga=normal - append initrd=/live/initrd.img boot=live - -label memtest - menu label Memory test - kernel /live/memtest - -endtext -EOF - notice "copying isolinux overlay" sudo mkdir -p "$workdir"/binary/{live,isolinux} - #sudo cp -rav "$BLENDPATH"/isolinux-overlay/* "$workdir"/binary/isolinux/ + sudo cp -rav "$blend_release_path"/isolinux_overlay/* "$workdir"/binary/isolinux/ #[[ -n "$hookscripts" ]] && { # sudo cp -av "$BLENDPATH"/hooks "$workdir"/binary/live/ #} @@ -200,7 +162,7 @@ EOF cp $strapdir/usr/share/grub/unicode.pf2 boot/grub/font.pf2 # copy splash - sudo cp -rav "$BLENDPATH"/isolinux-overlay/splash.png boot/grub/splash.png + sudo cp -rav "$blend_release_path"/isolinux_overlay/splash.png boot/grub/splash.png # Cleanup efi temps sudo umount img-mnt @@ -321,5 +283,12 @@ apt-get update apt-get clean updatedb EOF + + ## TODO: + ## + ## - configure framebuffer + ## - updatedb + ## - insserv boot_beep + ## chroot-script -d finalize || zerr } diff --git a/sdk b/sdk index cd8839f..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 @@ -87,7 +91,7 @@ load() { source $oslib [[ -f $blendlib ]] && { source $blendlib || zerr - act "$os blend loaded" + act "$os blend loaded -- ($blend -- release: $release)" export BLEND=1 } @@ -105,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"