summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilipp Gesang <phg@phi-gamma.net>2015-05-31 09:54:01 +0200
committerPhilipp Gesang <phg@phi-gamma.net>2015-05-31 09:54:01 +0200
commitcaf8ec2e2623407dfd933959eaaea4f08612729f (patch)
tree10c9e003108f01b077ffddec8ed1953dba3b092a
parent5047d01be77832cc7a03608777122b471c4a9156 (diff)
downloadvtcol-caf8ec2e2623407dfd933959eaaea4f08612729f.tar.gz
misc: add example initramfs setup
-rw-r--r--.gitignore2
-rw-r--r--misc/etc/initcpio/hooks/vtcol21
-rw-r--r--misc/etc/initcpio/install/vtcol29
-rw-r--r--misc/etc/mkinitcpio-vtcol.conf26
-rw-r--r--misc/etc/mkinitcpio.d/vtcol.preset32
5 files changed, 109 insertions, 1 deletions
diff --git a/.gitignore b/.gitignore
index 05957dd..1ccdd63 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,5 @@
# build result
-vtcol
+./vtcol
# build side-effects
target/*
diff --git a/misc/etc/initcpio/hooks/vtcol b/misc/etc/initcpio/hooks/vtcol
new file mode 100644
index 0000000..be02f24
--- /dev/null
+++ b/misc/etc/initcpio/hooks/vtcol
@@ -0,0 +1,21 @@
+#!/usr/bin/ash
+###############################################################################
+# Copyright 2015 Philipp Gesang
+# Example mkinitcpio hook invoking vtcol in the initramfs environment
+###############################################################################
+#
+# See mkinitcpio(8) for details.
+#
+
+run_hook ()
+{
+ binary=/usr/bin/vtcol
+ scheme=solarized
+ schemedir=/usr/share/vtcol/schemes
+
+ if [ -f "${schemedir}/${scheme}" ] && [ -x "${binary}" ]; then
+ "${binary}" --scheme "${schemedir}/${scheme}"
+ fi
+}
+
+# vim:ft=sh:sw=4:et
diff --git a/misc/etc/initcpio/install/vtcol b/misc/etc/initcpio/install/vtcol
new file mode 100644
index 0000000..3fb01c9
--- /dev/null
+++ b/misc/etc/initcpio/install/vtcol
@@ -0,0 +1,29 @@
+#!/bin/bash
+###############################################################################
+# Copyright 2015 Philipp Gesang
+# Example mkinitcpio build hook invoking vtcol in the initramfs environment
+###############################################################################
+#
+# See mkinitcpio(8) for details.
+#
+# This does nothing besides invoking ``add_runscript`` to add the vtcol
+# initcpio hook and displaying some basic info.
+
+build () {
+ add_runscript
+}
+
+help () {
+ cat <<ENOUGH
+-------------------------------------------------------------------------------
+ vtcol
+-------------------------------------------------------------------------------
+
+ Set the frambuffer console color scheme
+ during early boot.
+
+-------------------------------------------------------------------------------
+ENOUGH
+}
+
+# vim:ft=sh:sw=4:et
diff --git a/misc/etc/mkinitcpio-vtcol.conf b/misc/etc/mkinitcpio-vtcol.conf
new file mode 100644
index 0000000..128afbe
--- /dev/null
+++ b/misc/etc/mkinitcpio-vtcol.conf
@@ -0,0 +1,26 @@
+###############################################################################
+# Copyright 2015 Philipp Gesang
+# Example configuration for the initramfs
+###############################################################################
+#
+# See mkinitcpio.conf(5) for details.
+#
+# This includes the vtcol binary which should be installed somewhere in the
+# shell lookup path, as well as the solarized (dark) color scheme. Then the
+# vtcol hook is executed early on during startup, earlier even than the file
+# systems are initialized. Keeping the binary around in the ramdisk makes this
+# possible.
+
+# BINARIES
+BINARIES="vtcol"
+
+# FILES
+FILES="/usr/share/vtcol/schemes/solarized"
+
+# HOOKS
+HOOKS="base udev autodetect modconf vtcol block encrypt lvm2 filesystems keyboard keymap fsck"
+
+# COMPRESSION
+COMPRESSION="xz"
+
+# vim:ft=sh:et:sw=2
diff --git a/misc/etc/mkinitcpio.d/vtcol.preset b/misc/etc/mkinitcpio.d/vtcol.preset
new file mode 100644
index 0000000..cccd004
--- /dev/null
+++ b/misc/etc/mkinitcpio.d/vtcol.preset
@@ -0,0 +1,32 @@
+###############################################################################
+# Copyright 2015 Philipp Gesang
+# Example initcpio preset for vtcol
+###############################################################################
+#
+# This preset will enable the configuration at ``/mkinitcpio-vtcol.conf`` Its
+# presence allows you to invoke ``mkinitcpio -p vtcol`` and have the images
+# built corresponding to the path settings configured below. See
+#
+# https://wiki.archlinux.org/index.php/Mkinitcpio#Image_creation_and_activation
+#
+# for details.
+
+# You’ll need to come up with a custom initcpio configuration that includes the
+# color scheme and the vtcol binary in your initramfs.
+ALL_config="/etc/mkinitcpio-vtcol.conf"
+
+# Enter the kernel image you target here. Leave it unmodified if you run the
+# stock Arch kernel.
+ALL_kver="/boot/vmlinuz-linux"
+
+# Create both an ordinary and a fallback image.
+PRESETS=("default" "fallback")
+
+# Location of the kernel image for the default ramdisk.
+default_image="/boot/initramfs-linux-vtcol.img"
+
+# Location of the kernel image for the fallback ramdisk and additional options.
+fallback_image="/boot/initramfs-linux-vtcol-fallback.img"
+fallback_options="-S autodetect"
+
+# vim:ft=sh