Initial build setup for x86_64 Stormux.
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
[Unit]
|
||||
# Ensure audio and speech-dispatcher are available before starting Fenrir
|
||||
# Wait for user audio initialization to complete
|
||||
After=sound.target stormux-audio-setup.service speech-dispatcherd.service user@1000.service
|
||||
Wants=stormux-audio-setup.service speech-dispatcherd.service user@1000.service
|
||||
@@ -0,0 +1 @@
|
||||
/usr/lib/systemd/system/fenrirscreenreader.service
|
||||
@@ -0,0 +1,3 @@
|
||||
[Service]
|
||||
ExecStart=
|
||||
ExecStart=-/sbin/agetty -o '-p -f -- \\u' --noclear --autologin root - $TERM
|
||||
@@ -0,0 +1,3 @@
|
||||
[Service]
|
||||
ExecStart=
|
||||
ExecStart=-/sbin/agetty -o '-p -f -- \\u' --noclear --autologin stormux - $TERM
|
||||
16
x86_64/airootfs/etc/systemd/system/log-to-ram-setup.service
Normal file
16
x86_64/airootfs/etc/systemd/system/log-to-ram-setup.service
Normal file
@@ -0,0 +1,16 @@
|
||||
[Unit]
|
||||
Description=Setup RAM logging and restore logs from disk
|
||||
DefaultDependencies=false
|
||||
After=local-fs.target
|
||||
Before=sysinit.target
|
||||
RequiresMountsFor=/var
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
ExecStartPre=/bin/mkdir -p /var/log.hdd
|
||||
ExecStartPre=/bin/sh -c 'if [ -d /var/log.hdd ] && [ "$(ls -A /var/log.hdd 2>/dev/null)" ]; then cp -au /var/log.hdd/* /var/log/ 2>/dev/null || true; fi'
|
||||
ExecStart=/bin/true
|
||||
|
||||
[Install]
|
||||
WantedBy=sysinit.target
|
||||
@@ -0,0 +1,14 @@
|
||||
[Unit]
|
||||
Description=Sync logs to disk before shutdown
|
||||
DefaultDependencies=false
|
||||
Before=shutdown.target reboot.target halt.target
|
||||
Conflicts=shutdown.target reboot.target halt.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=true
|
||||
ExecStart=/bin/sh -c 'rsync -aXv --delete --exclude="*.hdd" /var/log/ /var/log.hdd/ 2>/dev/null || true'
|
||||
TimeoutStopSec=30
|
||||
|
||||
[Install]
|
||||
WantedBy=shutdown.target reboot.target halt.target
|
||||
@@ -0,0 +1,8 @@
|
||||
[Unit]
|
||||
Description=Sync logs from RAM to disk
|
||||
After=local-fs.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStartPre=/bin/mkdir -p /var/log.hdd
|
||||
ExecStart=/bin/sh -c 'rsync -aXv --delete --exclude="*.hdd" /var/log/ /var/log.hdd/ 2>/dev/null || true'
|
||||
11
x86_64/airootfs/etc/systemd/system/log-to-ram-sync.timer
Normal file
11
x86_64/airootfs/etc/systemd/system/log-to-ram-sync.timer
Normal file
@@ -0,0 +1,11 @@
|
||||
[Unit]
|
||||
Description=Sync logs from RAM to disk every hour
|
||||
Requires=log-to-ram-sync.service
|
||||
|
||||
[Timer]
|
||||
OnBootSec=15min
|
||||
OnUnitActiveSec=1h
|
||||
Persistent=true
|
||||
|
||||
[Install]
|
||||
WantedBy=timers.target
|
||||
@@ -0,0 +1 @@
|
||||
/usr/lib/systemd/system/NetworkManager.service
|
||||
@@ -0,0 +1 @@
|
||||
/usr/lib/systemd/system/brltty.path
|
||||
@@ -0,0 +1 @@
|
||||
../stormux-repo-init.service
|
||||
@@ -0,0 +1,13 @@
|
||||
[Unit]
|
||||
Description=Setup Pipewire for Live Environment
|
||||
After=sound.target
|
||||
Before=fenrirscreenreader.service speech-dispatcherd.service
|
||||
DefaultDependencies=no
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
ExecStart=/usr/local/bin/setup-pipewire-live.sh
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -0,0 +1 @@
|
||||
../stormux-audio-setup.service
|
||||
@@ -0,0 +1,17 @@
|
||||
[Unit]
|
||||
Description=Setup audio for Stormux live environment
|
||||
# Wait for audio hardware to be ready
|
||||
Wants=systemd-udev-settle.service
|
||||
After=systemd-udev-settle.service sound.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
# Enable linger so pipewire can run without login
|
||||
ExecStartPre=/bin/mkdir -p /var/lib/systemd/linger
|
||||
ExecStartPre=/bin/touch /var/lib/systemd/linger/stormux
|
||||
# Unmute and set volume
|
||||
ExecStart=/usr/local/bin/livecd-sound
|
||||
|
||||
[Install]
|
||||
WantedBy=sound.target
|
||||
13
x86_64/airootfs/etc/systemd/system/stormux-repo-init.service
Normal file
13
x86_64/airootfs/etc/systemd/system/stormux-repo-init.service
Normal file
@@ -0,0 +1,13 @@
|
||||
[Unit]
|
||||
Description=Initialize Stormux repository key
|
||||
After=pacman-init.service
|
||||
Requires=pacman-init.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
ExecStart=/usr/bin/pacman-key --add /usr/share/stormux/stormux_repo.pub
|
||||
ExecStart=/usr/bin/pacman-key --lsign-key 52ADA49000F1FF0456F8AEEFB4CDE1CD56EF8E82
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
16
x86_64/airootfs/etc/systemd/system/stormux-speech.service
Normal file
16
x86_64/airootfs/etc/systemd/system/stormux-speech.service
Normal file
@@ -0,0 +1,16 @@
|
||||
[Unit]
|
||||
Description=Stormux screen reader and speech service
|
||||
After=stormux-audio-setup.service sound.target
|
||||
Wants=stormux-audio-setup.service
|
||||
Before=getty@tty1.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
# Give pipewire a moment to initialize
|
||||
ExecStartPre=/bin/sleep 2
|
||||
# Start Fenrir screen reader
|
||||
ExecStart=/bin/systemctl start fenrirscreenreader.service
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
1
x86_64/airootfs/etc/systemd/system/systemd-firstboot.service
Symbolic link
1
x86_64/airootfs/etc/systemd/system/systemd-firstboot.service
Symbolic link
@@ -0,0 +1 @@
|
||||
/dev/null
|
||||
11
x86_64/airootfs/etc/systemd/system/time_sync_at_boot.service
Normal file
11
x86_64/airootfs/etc/systemd/system/time_sync_at_boot.service
Normal file
@@ -0,0 +1,11 @@
|
||||
[Unit]
|
||||
Description=Update system time from worldtimeapi.org
|
||||
After=network-online.target
|
||||
Wants=network-online.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/local/bin/sync_time.sh
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
Reference in New Issue
Block a user