This repository has been archived by the owner on Jul 2, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
c022b37
commit d53108c
Showing
79 changed files
with
4,778 additions
and
1,614 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
*.img | ||
*.xz | ||
*.iso | ||
xbps-cache | ||
xbps-cachedir* | ||
tmp.* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,19 +1,53 @@ | ||
# the Electric Tantra ISO Creation Environment | ||
Here are the scripts you can use to build the Electric Tantra Linux's ISO file using an installation of `void-linux` and its associated package manager that leverages `dracut` to assemble the initramfs and pack all of the internals into a neat ISO file you can burn on a flash drive. | ||
``` __ __ | ||
| |_| |--.-----. | ||
| _| | -__| | ||
|____|__|__|_____| | ||
_______ __ __ __ | ||
| ___| |.-----.----.| |_.----.|__|.----. | ||
| ___| || -__| __|| _| _|| || __| | ||
|_______|__||_____|____||____|__| |__||____| | ||
_______ __ | ||
|_ _|.---.-.-----.| |_.----.---.-. | ||
| | | _ | || _| _| _ | | ||
|___| |___._|__|__||____|__| |___._| | ||
_____ __ | ||
| |_|__|.-----.--.--.--.--. | ||
| | || | | |_ _| | ||
|_______|__||__|__|_____|__.__| | ||
``` | ||
|
||
This is based on the `cursed-mklive` project from `Cursed Linux` which while spartan in its documentation, is not dissimilar from the `void-mklive` package in that front while boasting an easier workflow and functionality than the upstream variant as it simplifies the build into two top level scripts and with a more focused set of internal files requiring modification initially that enabled a wider canvas to craft the Electric Tantra Linux upon. | ||
## Introduction | ||
|
||
## Dependencies | ||
- **xbps**>=*0.45* | ||
This is the repository from which the Electric Tantra Linux Live ISO is built, using scripts that have been borrowed from the kind folks behind HRMPF, a Void Linux based rescue disk (much of the functionality of which is retained here). | ||
|
||
## Usage | ||
Unlike its inspiration, this ISO is not intended as a rescue system enabling the restoration of hardware but is mainly intended as a means of demonstrating my particular, opinionated AwesomeWM configuration to interested third parties who can run the ISO in a virtualized setting or as a live disk and thus get a sense of the way my configuration works within its overall environment. | ||
|
||
**Type:** | ||
I also use this ISO on my Ventoy USB as a means of installing my system when I break it playing around with things I shouldn't or what not, thus the rescue system functionality is retained. | ||
|
||
```bash | ||
$ sudo bash run.sh | ||
## Features | ||
- all the features of hrmpf, a rescue disk, baked in | ||
- | ||
- | ||
- | ||
|
||
|
||
## How To Use This | ||
To build your own copy of the ISO (or to acquire it for modifications all your own) | ||
|
||
```bash | ||
|
||
git clone https://github.com/the-Electric-Tantra-Linux/electric-tantra-mklive | ||
|
||
cd electric-tantra-mklive | ||
|
||
# edit the rootfs files, the electric.packages file and | ||
# mktantra.sh file to make it your own | ||
|
||
sudo bash mktantra.sh | ||
``` | ||
|
||
## rootfs | ||
Depending on your hardware, this may be a shorter or longer process. The longest part will be the package installation most likely, but only for the first build and afterwards you'll have a `xbps-cachedir-x86_64` folder with the packages stored in it that cuts down the build time considerably. | ||
|
||
An inherented idiosyncracity I liked and thus kept from the `Cursed Linux` team was the included directory being called `rootfs`, which is a label better describing the directory's content to those not versed in the spartan documentation for `void-mklive` presently available. In essence, this folder contains a targeted selection of my dotfiles, modified for their employment in the context of the Live Environment, in the subdirectory `rootfs/etc/skel` which is used to populate the `anon` user's home directory. Due to this abstraction and the use of `anon` instead of my usual user name, including my dotfiles and associated repos as subdirectories ma |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
#!/bin/sh | ||
|
||
TARGET="$1" | ||
[ -n "$TARGET" ] && shift | ||
|
||
: ${PLATFORMS:="beaglebone cubieboard2 odroid-u2 rpi rpi2 usbarmory"} | ||
DATE=$(date '+%Y%m%d') | ||
|
||
for f in ${PLATFORMS} x ${PLATFORMS} ; do | ||
if [ "$f" = "x" ]; then | ||
musl=1 | ||
continue | ||
fi | ||
target=$f | ||
if [ -n "$musl" ]; then | ||
target=${f}-musl | ||
fi | ||
if [ -z "$ARGET" -o "$TARGET" = "$target" ]; then | ||
./mkrootfs.sh $@ $target && ./mkimage.sh void-${target}-rootfs-${DATE}.tar.xz && xz -T0 -9 void-${target}-${DATE}.img | ||
fi | ||
done |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
#!/bin/sh | ||
|
||
TARGET="$1" | ||
[ -n "$TARGET" ] && shift | ||
|
||
: ${PLATFORMS:="beaglebone cubieboard2 odroid-u2 rpi rpi2 usbarmory x86_64 i686"} | ||
DATE=$(date '+%Y%m%d') | ||
|
||
for f in ${PLATFORMS} x ${PLATFORMS}; do | ||
if [ "$f" = "x" ]; then | ||
musl=1 | ||
continue | ||
fi | ||
target=$f | ||
if [ -n "$musl" ]; then | ||
target=${f}-musl | ||
fi | ||
if [ "$target" = "i686-musl" ]; then | ||
# XXX no i686-musl repo yet | ||
continue | ||
fi | ||
if [ -z "$TARGET" -o "$TARGET" = "$target" ]; then | ||
./mkrootfs.sh $@ $target | ||
fi | ||
done |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
#!/bin/sh | ||
|
||
ARCH= | ||
IMAGE= | ||
|
||
while getopts "a:b:hr:" opt; do | ||
case $opt in | ||
a) ARCH="$OPTARG";; | ||
b) IMAGE="$OPTARG";; | ||
h) echo "${0#/*}: [-a arch] [-b base|e|xfce|mate|cinnamon|kde|lxde|lxqt] [-r repo]" >&2; exit 1;; | ||
r) REPO="-r $OPTARG $REPO";; | ||
esac | ||
done | ||
shift $((OPTIND - 1)) | ||
|
||
: ${ARCH:=$(uname -m)} | ||
|
||
readonly DATE=$(date +%Y%m%d) | ||
readonly BASE_IMG=void-live-${ARCH}-${DATE}.iso | ||
readonly E_IMG=void-live-${ARCH}-${DATE}-enlightenment.iso | ||
readonly XFCE_IMG=void-live-${ARCH}-${DATE}-xfce.iso | ||
readonly MATE_IMG=void-live-${ARCH}-${DATE}-mate.iso | ||
readonly CINNAMON_IMG=void-live-${ARCH}-${DATE}-cinnamon.iso | ||
readonly KDE_IMG=void-live-${ARCH}-${DATE}-kde.iso | ||
readonly LXDE_IMG=void-live-${ARCH}-${DATE}-lxde.iso | ||
readonly LXQT_IMG=void-live-${ARCH}-${DATE}-lxqt.iso | ||
|
||
case "$ARCH" in | ||
i686*) GRUB="grub";; | ||
x86_64*) GRUB="grub-x86_64-efi";; | ||
esac | ||
|
||
readonly BASE_PKGS="dialog cryptsetup lvm2 mdadm $GRUB" | ||
readonly X_PKGS="$BASE_PKGS xorg-minimal xorg-input-drivers xorg-video-drivers setxkbmap xauth font-misc-misc terminus-font dejavu-fonts-ttf alsa-plugins-pulseaudio" | ||
readonly E_PKGS="$X_PKGS lxdm enlightenment terminology econnman udisks2 firefox-esr" | ||
readonly XFCE_PKGS="$X_PKGS lxdm xfce4 gnome-themes-standard gnome-keyring network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2 firefox-esr" | ||
readonly MATE_PKGS="$X_PKGS lxdm mate mate-extra gnome-keyring network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2 firefox-esr" | ||
readonly CINNAMON_PKGS="$X_PKGS lxdm cinnamon gnome-keyring colord gnome-terminal gvfs-afc gvfs-mtp gvfs-smb udisks2 firefox-esr" | ||
readonly KDE_PKGS="$X_PKGS kde" | ||
readonly LXDE_PKGS="$X_PKGS lxdm lxde gvfs-afc gvfs-mtp gvfs-smb udisks2 firefox-esr" | ||
readonly LXQT_PKGS="$X_PKGS lxdm lxqt gvfs-afc gvfs-mtp gvfs-smb udisks2 qupzilla" | ||
|
||
[ ! -x mklive.sh ] && exit 0 | ||
|
||
if [ -z "$IMAGE" -o "$IMAGE" = base ]; then | ||
if [ ! -e $BASE_IMG ]; then | ||
./mklive.sh -a $ARCH -o $BASE_IMG -p "$BASE_PKGS" ${REPO} $@ | ||
fi | ||
fi | ||
if [ -z "$IMAGE" -o "$IMAGE" = e ]; then | ||
if [ ! -e $E_IMG ]; then | ||
./mklive.sh -a $ARCH -o $E_IMG -p "$E_PKGS" ${REPO} $@ | ||
fi | ||
fi | ||
if [ -z "$IMAGE" -o "$IMAGE" = xfce ]; then | ||
if [ ! -e $XFCE_IMG ]; then | ||
./mklive.sh -a $ARCH -o $XFCE_IMG -p "$XFCE_PKGS" ${REPO} $@ | ||
fi | ||
fi | ||
if [ -z "$IMAGE" -o "$IMAGE" = mate ]; then | ||
if [ ! -e $MATE_IMG ]; then | ||
./mklive.sh -a $ARCH -o $MATE_IMG -p "$MATE_PKGS" ${REPO} $@ | ||
fi | ||
fi | ||
if [ -z "$IMAGE" -o "$IMAGE" = cinnamon ]; then | ||
if [ ! -e $CINNAMON_IMG ]; then | ||
./mklive.sh -a $ARCH -o $CINNAMON_IMG -p "$CINNAMON_PKGS" ${REPO} $@ | ||
fi | ||
fi | ||
if [ -z "$IMAGE" -o "$IMAGE" = lxde ]; then | ||
if [ ! -e $LXDE_IMG ]; then | ||
./mklive.sh -a $ARCH -o $LXDE_IMG -p "$LXDE_PKGS" ${REPO} $@ | ||
fi | ||
fi | ||
if [ -z "$IMAGE" -o "$IMAGE" = lxqt ]; then | ||
if [ ! -e $LXQT_IMG ]; then | ||
./mklive.sh -a $ARCH -o $LXQT_IMG -p "$LXQT_PKGS" ${REPO} $@ | ||
fi | ||
fi | ||
if [ "$IMAGE" = kde ]; then | ||
if [ ! -e $KDE_IMG ]; then | ||
./mklive.sh -a $ARCH -o $KDE_IMG -p "$KDE_PKGS" ${REPO} $@ | ||
fi | ||
fi |
Oops, something went wrong.