Fix VM settings running while / is readonly.
This commit is contained in:
parent
60adadff73
commit
d15696ebef
@ -549,6 +549,7 @@ The Qubes core startup configuration for SystemD init.
|
|||||||
/lib/systemd/system/qubes-network.service
|
/lib/systemd/system/qubes-network.service
|
||||||
/lib/systemd/system/qubes-iptables.service
|
/lib/systemd/system/qubes-iptables.service
|
||||||
/lib/systemd/system/qubes-sysinit.service
|
/lib/systemd/system/qubes-sysinit.service
|
||||||
|
/lib/systemd/system/qubes-early-vm-config.service
|
||||||
/lib/systemd/system/qubes-update-check.service
|
/lib/systemd/system/qubes-update-check.service
|
||||||
/lib/systemd/system/qubes-update-check.timer
|
/lib/systemd/system/qubes-update-check.timer
|
||||||
/lib/systemd/system/qubes-updates-proxy.service
|
/lib/systemd/system/qubes-updates-proxy.service
|
||||||
|
@ -57,6 +57,7 @@ disable sshd.service
|
|||||||
disable tcsd.service
|
disable tcsd.service
|
||||||
|
|
||||||
enable qubes-sysinit.service
|
enable qubes-sysinit.service
|
||||||
|
enable qubes-early-vm-config.service
|
||||||
enable qubes-db.service
|
enable qubes-db.service
|
||||||
enable qubes-gui-agent.service
|
enable qubes-gui-agent.service
|
||||||
enable qubes-update-check.timer
|
enable qubes-update-check.timer
|
||||||
|
13
vm-systemd/qubes-early-vm-config.service
Normal file
13
vm-systemd/qubes-early-vm-config.service
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Early Qubes VM settings
|
||||||
|
DefaultDependencies=no
|
||||||
|
Before=sysinit.target
|
||||||
|
After=local-fs.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
RemainAfterExit=yes
|
||||||
|
ExecStart=/usr/lib/qubes/init/qubes-early-vm-config.sh
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=sysinit.target
|
37
vm-systemd/qubes-early-vm-config.sh
Executable file
37
vm-systemd/qubes-early-vm-config.sh
Executable file
@ -0,0 +1,37 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# This is invoked by qubes-early-vm-config.service.
|
||||||
|
# It happens after local-fs.target is reached
|
||||||
|
# but before sysinit.target is reached.
|
||||||
|
|
||||||
|
# Source Qubes library.
|
||||||
|
. /usr/lib/qubes/init/functions
|
||||||
|
|
||||||
|
# Set the hostname
|
||||||
|
if ! is_protected_file /etc/hostname ; then
|
||||||
|
name=`qubesdb-read /name`
|
||||||
|
if [ -n "$name" ]; then
|
||||||
|
hostname $name
|
||||||
|
if [ -e /etc/debian_version ]; then
|
||||||
|
ipv4_localhost_re="127\.0\.1\.1"
|
||||||
|
else
|
||||||
|
ipv4_localhost_re="127\.0\.0\.1"
|
||||||
|
fi
|
||||||
|
sed -i "s/^\($ipv4_localhost_re\(\s.*\)*\s\).*$/\1${name}/" /etc/hosts
|
||||||
|
sed -i "s/^\(::1\(\s.*\)*\s\).*$/\1${name}/" /etc/hosts
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Set the timezone
|
||||||
|
if ! is_protected_file /etc/timezone ; then
|
||||||
|
timezone=`qubesdb-read /qubes-timezone 2> /dev/null`
|
||||||
|
if [ -n "$timezone" ]; then
|
||||||
|
ln -sf ../usr/share/zoneinfo/"$timezone" /etc/localtime
|
||||||
|
if [ -e /etc/debian_version ]; then
|
||||||
|
echo "$timezone" > /etc/timezone
|
||||||
|
elif test -d /etc/sysconfig ; then
|
||||||
|
echo "# Clock configuration autogenerated based on Qubes dom0 settings" > /etc/sysconfig/clock
|
||||||
|
echo "ZONE=\"$timezone\"" >> /etc/sysconfig/clock
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
@ -60,35 +60,6 @@ for srv in `qubesdb-multiread /qubes-service/ 2>/dev/null |grep ' = 0'|cut -f 1
|
|||||||
rm -f /var/run/qubes-service/$srv
|
rm -f /var/run/qubes-service/$srv
|
||||||
done
|
done
|
||||||
|
|
||||||
# Set the hostname
|
|
||||||
if ! is_protected_file /etc/hostname ; then
|
|
||||||
name=`qubesdb-read /name`
|
|
||||||
if [ -n "$name" ]; then
|
|
||||||
hostname $name
|
|
||||||
if [ -e /etc/debian_version ]; then
|
|
||||||
ipv4_localhost_re="127\.0\.1\.1"
|
|
||||||
else
|
|
||||||
ipv4_localhost_re="127\.0\.0\.1"
|
|
||||||
fi
|
|
||||||
sed -i "s/^\($ipv4_localhost_re\(\s.*\)*\s\).*$/\1${name}/" /etc/hosts
|
|
||||||
sed -i "s/^\(::1\(\s.*\)*\s\).*$/\1${name}/" /etc/hosts
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Set the timezone
|
|
||||||
if ! is_protected_file /etc/timezone ; then
|
|
||||||
timezone=`qubesdb-read /qubes-timezone 2> /dev/null`
|
|
||||||
if [ -n "$timezone" ]; then
|
|
||||||
ln -sf ../usr/share/zoneinfo/"$timezone" /etc/localtime
|
|
||||||
if [ -e /etc/debian_version ]; then
|
|
||||||
echo "$timezone" > /etc/timezone
|
|
||||||
elif test -d /etc/sysconfig ; then
|
|
||||||
echo "# Clock configuration autogenerated based on Qubes dom0 settings" > /etc/sysconfig/clock
|
|
||||||
echo "ZONE=\"$timezone\"" >> /etc/sysconfig/clock
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Prepare environment for other services
|
# Prepare environment for other services
|
||||||
echo > /var/run/qubes-service-environment
|
echo > /var/run/qubes-service-environment
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user