summaryrefslogtreecommitdiff
path: root/releng/airootfs
diff options
context:
space:
mode:
Diffstat (limited to 'releng/airootfs')
-rw-r--r--releng/airootfs/etc/mkinitcpio.conf.d/archiso.conf2
-rw-r--r--releng/airootfs/etc/motd11
-rw-r--r--releng/airootfs/etc/plymouth/plymouthd.conf2
-rwxr-xr-xreleng/airootfs/root/.config/openbox/autostart3
-rwxr-xr-xreleng/airootfs/usr/share/calamares/kernel-install/95-raveos.install33
-rw-r--r--releng/airootfs/usr/share/plymouth/themes/raveos/dot-dim.pngbin0 -> 178 bytes
-rw-r--r--releng/airootfs/usr/share/plymouth/themes/raveos/dot-lit.pngbin0 -> 178 bytes
-rw-r--r--releng/airootfs/usr/share/plymouth/themes/raveos/raveos-owl.pngbin0 -> 302684 bytes
-rw-r--r--releng/airootfs/usr/share/plymouth/themes/raveos/raveos.plymouth8
-rw-r--r--releng/airootfs/usr/share/plymouth/themes/raveos/raveos.script127
-rw-r--r--releng/airootfs/usr/share/plymouth/themes/raveos/status-01.pngbin0 -> 1809 bytes
-rw-r--r--releng/airootfs/usr/share/plymouth/themes/raveos/status-02.pngbin0 -> 3811 bytes
-rw-r--r--releng/airootfs/usr/share/plymouth/themes/raveos/status-03.pngbin0 -> 3481 bytes
-rw-r--r--releng/airootfs/usr/share/plymouth/themes/raveos/status-04.pngbin0 -> 3465 bytes
-rw-r--r--releng/airootfs/usr/share/plymouth/themes/raveos/status-05.pngbin0 -> 3639 bytes
-rw-r--r--releng/airootfs/usr/share/plymouth/themes/raveos/status-06.pngbin0 -> 2462 bytes
16 files changed, 170 insertions, 16 deletions
diff --git a/releng/airootfs/etc/mkinitcpio.conf.d/archiso.conf b/releng/airootfs/etc/mkinitcpio.conf.d/archiso.conf
index 5c008e5..e53d079 100644
--- a/releng/airootfs/etc/mkinitcpio.conf.d/archiso.conf
+++ b/releng/airootfs/etc/mkinitcpio.conf.d/archiso.conf
@@ -1,3 +1,3 @@
-HOOKS=(base udev microcode modconf kms memdisk archiso archiso_loop_mnt archiso_pxe_common archiso_pxe_nbd archiso_pxe_http archiso_pxe_nfs block filesystems keyboard)
+HOOKS=(base udev plymouth microcode modconf kms memdisk archiso archiso_loop_mnt archiso_pxe_common archiso_pxe_nbd archiso_pxe_http archiso_pxe_nfs block filesystems keyboard)
COMPRESSION="xz"
COMPRESSION_OPTIONS=(-9e)
diff --git a/releng/airootfs/etc/motd b/releng/airootfs/etc/motd
index 4d9eda1..e69de29 100644
--- a/releng/airootfs/etc/motd
+++ b/releng/airootfs/etc/motd
@@ -1,11 +0,0 @@
-To install Arch Linux follow the installation guide:
-https://wiki.archlinux.org/title/Installation_guide
-
-For Wi-Fi, authenticate to the wireless network using the iwctl utility.
-For mobile broadband (WWAN) modems, connect with the mmcli utility.
-Ethernet, WLAN and WWAN interfaces using DHCP should work automatically.
-
-After connecting to the internet, the installation guide can be accessed
-via the convenience script Installation_guide.
-
-                                          
diff --git a/releng/airootfs/etc/plymouth/plymouthd.conf b/releng/airootfs/etc/plymouth/plymouthd.conf
new file mode 100644
index 0000000..288041e
--- /dev/null
+++ b/releng/airootfs/etc/plymouth/plymouthd.conf
@@ -0,0 +1,2 @@
+[Daemon]
+Theme=raveos
diff --git a/releng/airootfs/root/.config/openbox/autostart b/releng/airootfs/root/.config/openbox/autostart
index b1180b2..a69fa50 100755
--- a/releng/airootfs/root/.config/openbox/autostart
+++ b/releng/airootfs/root/.config/openbox/autostart
@@ -4,5 +4,8 @@ xset s off
xset -dpms
xset s noblank
+# X mar atvette a kepernyot, a Plymouth-quit itt mar zokkenomentes
+plymouth quit &
+
# Launch Calamares fullscreen
calamares &
diff --git a/releng/airootfs/usr/share/calamares/kernel-install/95-raveos.install b/releng/airootfs/usr/share/calamares/kernel-install/95-raveos.install
index fc31285..316204c 100755
--- a/releng/airootfs/usr/share/calamares/kernel-install/95-raveos.install
+++ b/releng/airootfs/usr/share/calamares/kernel-install/95-raveos.install
@@ -32,11 +32,36 @@ MICROCODE=""
# --------------------------------------------------
# Root device detection
# --------------------------------------------------
-ROOT_SRC="$(findmnt -no SOURCE /)"
-ROOT_FS="$(findmnt -no FSTYPE /)"
-ROOT_OPTS="$(findmnt -no OPTIONS /)"
+# findmnt can come back empty depending on the chroot/mount-namespace
+# context this hook runs in (e.g. during pacstrap). Fall back to
+# /proc/mounts, and finally /etc/fstab (once it exists), before giving up.
+ROOT_SRC="$(findmnt -no SOURCE / || true)"
+ROOT_FS="$(findmnt -no FSTYPE / || true)"
+ROOT_OPTS="$(findmnt -no OPTIONS / || true)"
-OPTIONS="rw quiet"
+if [ -z "$ROOT_SRC" ]; then
+ ROOT_SRC="$(awk '$2 == "/" {print $1; exit}' /proc/mounts)"
+ ROOT_FS="$(awk '$2 == "/" {print $3; exit}' /proc/mounts)"
+ ROOT_OPTS="$(awk '$2 == "/" {print $4; exit}' /proc/mounts)"
+fi
+
+if [ -z "$ROOT_SRC" ] && [ -f /etc/fstab ]; then
+ ROOT_SRC="$(awk '$2 == "/" {print $1; exit}' /etc/fstab)"
+ ROOT_FS="$(awk '$2 == "/" {print $3; exit}' /etc/fstab)"
+ ROOT_OPTS="$(awk '$2 == "/" {print $4; exit}' /etc/fstab)"
+fi
+
+# /proc/mounts and /etc/fstab may give "UUID=xxxx"/"PARTUUID=xxxx" directly
+# instead of a /dev/ path -- resolve to an actual device node so the blkid
+# lookups below work either way.
+case "$ROOT_SRC" in
+ UUID=*|PARTUUID=*|LABEL=*)
+ RESOLVED="$(blkid -t "$ROOT_SRC" -o device 2>/dev/null || true)"
+ [ -n "$RESOLVED" ] && ROOT_SRC="$RESOLVED"
+ ;;
+esac
+
+OPTIONS="rw quiet splash"
# LUKS
if [[ "$ROOT_SRC" == /dev/mapper/* ]]; then
diff --git a/releng/airootfs/usr/share/plymouth/themes/raveos/dot-dim.png b/releng/airootfs/usr/share/plymouth/themes/raveos/dot-dim.png
new file mode 100644
index 0000000..f95ae69
--- /dev/null
+++ b/releng/airootfs/usr/share/plymouth/themes/raveos/dot-dim.png
Binary files differ
diff --git a/releng/airootfs/usr/share/plymouth/themes/raveos/dot-lit.png b/releng/airootfs/usr/share/plymouth/themes/raveos/dot-lit.png
new file mode 100644
index 0000000..a429367
--- /dev/null
+++ b/releng/airootfs/usr/share/plymouth/themes/raveos/dot-lit.png
Binary files differ
diff --git a/releng/airootfs/usr/share/plymouth/themes/raveos/raveos-owl.png b/releng/airootfs/usr/share/plymouth/themes/raveos/raveos-owl.png
new file mode 100644
index 0000000..9903765
--- /dev/null
+++ b/releng/airootfs/usr/share/plymouth/themes/raveos/raveos-owl.png
Binary files differ
diff --git a/releng/airootfs/usr/share/plymouth/themes/raveos/raveos.plymouth b/releng/airootfs/usr/share/plymouth/themes/raveos/raveos.plymouth
new file mode 100644
index 0000000..478b7f0
--- /dev/null
+++ b/releng/airootfs/usr/share/plymouth/themes/raveos/raveos.plymouth
@@ -0,0 +1,8 @@
+[Plymouth Theme]
+Name=RaveOS
+Description=RaveOS boot splash
+ModuleName=script
+
+[script]
+ImageDir=/usr/share/plymouth/themes/raveos
+ScriptFile=/usr/share/plymouth/themes/raveos/raveos.script
diff --git a/releng/airootfs/usr/share/plymouth/themes/raveos/raveos.script b/releng/airootfs/usr/share/plymouth/themes/raveos/raveos.script
new file mode 100644
index 0000000..70ee581
--- /dev/null
+++ b/releng/airootfs/usr/share/plymouth/themes/raveos/raveos.script
@@ -0,0 +1,127 @@
+// RaveOS Plymouth boot splash script (live install medium)
+
+Window.SetBackgroundTopColor(0.102, 0.106, 0.114);
+Window.SetBackgroundBottomColor(0.075, 0.078, 0.086);
+
+screen_width = Window.GetWidth();
+screen_height = Window.GetHeight();
+
+// --- logo: owl icon, centered ---
+
+owl_image = Image("raveos-owl.png");
+owl_width = owl_image.GetWidth();
+owl_height = owl_image.GetHeight();
+
+logo_scale = 0.36;
+owl_width = owl_width * logo_scale;
+owl_height = owl_height * logo_scale;
+owl_image = owl_image.Scale(owl_width, owl_height);
+
+owl_sprite = Sprite(owl_image);
+
+owl_x = screen_width / 2 - owl_width / 2;
+owl_y = screen_height / 2 - owl_height / 2 - 20;
+owl_sprite.SetPosition(owl_x, owl_y, 10);
+
+// --- status text: pre-rendered PNG cycling by boot progress ---
+
+status_count = 6;
+status_images[0] = Image("status-01.png");
+status_images[1] = Image("status-02.png");
+status_images[2] = Image("status-03.png");
+status_images[3] = Image("status-04.png");
+status_images[4] = Image("status-05.png");
+status_images[5] = Image("status-06.png");
+
+status_sprite = Sprite();
+status_sprite.SetZ(10);
+status_scale = 0.5;
+status_y = owl_y + owl_height + 40;
+
+seconds_per_stage = 1.2;
+
+// --- progress dots ---
+
+dot_lit_image = Image("dot-lit.png");
+dot_dim_image = Image("dot-dim.png");
+dot_scale = 0.35;
+dot_size = dot_lit_image.GetWidth() * dot_scale;
+dot_gap = 10;
+dots_width = status_count * dot_size + (status_count - 1) * dot_gap;
+dots_y = status_y + 34;
+
+for (i = 0; i < status_count; i++)
+{
+ dot_sprites[i] = Sprite();
+ dot_sprites[i].SetZ(10);
+ dot_sprites[i].SetX(screen_width / 2 - dots_width / 2 + i * (dot_size + dot_gap));
+ dot_sprites[i].SetY(dots_y);
+}
+
+fun update_dots(index)
+{
+ for (i = 0; i < status_count; i++)
+ {
+ if (i <= index)
+ img = dot_lit_image.Scale(dot_size, dot_size);
+ else
+ img = dot_dim_image.Scale(dot_size, dot_size);
+ dot_sprites[i].SetImage(img);
+ }
+}
+
+fun update_status(index)
+{
+ if (index >= status_count)
+ index = status_count - 1;
+
+ img = status_images[index].Scale(status_images[index].GetWidth() * status_scale,
+ status_images[index].GetHeight() * status_scale);
+ status_sprite.SetImage(img);
+ status_sprite.SetX(screen_width / 2 - img.GetWidth() / 2);
+ status_sprite.SetY(status_y);
+
+ update_dots(index);
+}
+
+update_status(0);
+
+# "duration" a valos eltelt masodperc a boot ota - ez mindig pontos,
+# ellentetben a "progress" becslessel (ami elozo boot-idomeresre tamaszkodik,
+# es elso/friss elo boot-nal megbizhatatlan / gyakorlatilag 0-n ragad).
+Plymouth.SetBootProgressFunction(fun(duration, progress)
+{
+ index = Math.Int(duration / seconds_per_stage);
+ update_status(index);
+});
+
+// --- password prompt (LUKS unlock) ---
+
+fun display_password_callback(prompt, bullets)
+{
+ local.text = prompt;
+ if (local.text == "")
+ local.text = "Enter passphrase to unlock disk";
+
+ prompt_image = Image.Text(local.text, 0.9, 0.9, 0.9, 1, "Ubuntu Mono 11");
+ bullets_image = Image.Text(bullets, 0.36, 0.66, 0.32, 1, "Ubuntu Mono 11");
+
+ prompt_sprite = Sprite(prompt_image);
+ bullets_sprite = Sprite(bullets_image);
+
+ prompt_sprite.SetPosition(screen_width / 2 - prompt_image.GetWidth() / 2,
+ screen_height / 2 + 80, 20);
+ bullets_sprite.SetPosition(screen_width / 2 - bullets_image.GetWidth() / 2,
+ screen_height / 2 + 110, 20);
+}
+Plymouth.SetDisplayPasswordFunction(display_password_callback);
+
+fun display_normal_callback()
+{
+}
+Plymouth.SetDisplayNormalFunction(display_normal_callback);
+
+fun quit_callback()
+{
+}
+Plymouth.SetQuitFunction(quit_callback);
diff --git a/releng/airootfs/usr/share/plymouth/themes/raveos/status-01.png b/releng/airootfs/usr/share/plymouth/themes/raveos/status-01.png
new file mode 100644
index 0000000..734fd58
--- /dev/null
+++ b/releng/airootfs/usr/share/plymouth/themes/raveos/status-01.png
Binary files differ
diff --git a/releng/airootfs/usr/share/plymouth/themes/raveos/status-02.png b/releng/airootfs/usr/share/plymouth/themes/raveos/status-02.png
new file mode 100644
index 0000000..338a3e1
--- /dev/null
+++ b/releng/airootfs/usr/share/plymouth/themes/raveos/status-02.png
Binary files differ
diff --git a/releng/airootfs/usr/share/plymouth/themes/raveos/status-03.png b/releng/airootfs/usr/share/plymouth/themes/raveos/status-03.png
new file mode 100644
index 0000000..14ec3e6
--- /dev/null
+++ b/releng/airootfs/usr/share/plymouth/themes/raveos/status-03.png
Binary files differ
diff --git a/releng/airootfs/usr/share/plymouth/themes/raveos/status-04.png b/releng/airootfs/usr/share/plymouth/themes/raveos/status-04.png
new file mode 100644
index 0000000..11b3d6a
--- /dev/null
+++ b/releng/airootfs/usr/share/plymouth/themes/raveos/status-04.png
Binary files differ
diff --git a/releng/airootfs/usr/share/plymouth/themes/raveos/status-05.png b/releng/airootfs/usr/share/plymouth/themes/raveos/status-05.png
new file mode 100644
index 0000000..b515bec
--- /dev/null
+++ b/releng/airootfs/usr/share/plymouth/themes/raveos/status-05.png
Binary files differ
diff --git a/releng/airootfs/usr/share/plymouth/themes/raveos/status-06.png b/releng/airootfs/usr/share/plymouth/themes/raveos/status-06.png
new file mode 100644
index 0000000..c801dc3
--- /dev/null
+++ b/releng/airootfs/usr/share/plymouth/themes/raveos/status-06.png
Binary files differ