Fix for running /etc/rc.local on Fedora
With systemd rc.local lives in /etc/rc.d and is only run if the rc-local service is enabled. This change creates a /etc/rc.d/rc.local symlink, and modifies img-functions prepare_first_boot to tolerate an initially missing /etc/rc.local. Fixes bug #1179674 Change-Id: I7e6102b62224950c1de5d48205dc4feff60f9389
This commit is contained in:
parent
6b44b6d274
commit
c6da246b73
|
@ -0,0 +1,4 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
ln -s /etc/rc.local /etc/rc.d/rc.local
|
||||||
|
systemctl enable rc-local.service
|
|
@ -129,7 +129,9 @@ function prepare_first_boot () {
|
||||||
check_break before-first-boot run_in_target bash
|
check_break before-first-boot run_in_target bash
|
||||||
if [ -d ${TMP_HOOKS_PATH}/first-boot.d ] ; then
|
if [ -d ${TMP_HOOKS_PATH}/first-boot.d ] ; then
|
||||||
sudo cp -t $TMP_MOUNT_PATH/etc/ -a $TMP_HOOKS_PATH/first-boot.d
|
sudo cp -t $TMP_MOUNT_PATH/etc/ -a $TMP_HOOKS_PATH/first-boot.d
|
||||||
run_in_target mv /etc/rc.local /etc/rc.local.REAL
|
if [ -f $TMP_MOUNT_PATH/etc/rc.local ] ; then
|
||||||
|
run_in_target mv /etc/rc.local /etc/rc.local.REAL
|
||||||
|
fi
|
||||||
sudo dd of=$TMP_MOUNT_PATH/etc/rc.local <<EOF
|
sudo dd of=$TMP_MOUNT_PATH/etc/rc.local <<EOF
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -e
|
set -e
|
||||||
|
@ -140,7 +142,10 @@ chmod 0600 /var/log/first-boot.d.log
|
||||||
|
|
||||||
run-parts /etc/first-boot.d >> /var/log/first-boot.d.log 2>&1
|
run-parts /etc/first-boot.d >> /var/log/first-boot.d.log 2>&1
|
||||||
rm -fr /etc/first-boot.d
|
rm -fr /etc/first-boot.d
|
||||||
mv /etc/rc.local.REAL /etc/rc.local
|
rm -f /etc/rc.local
|
||||||
|
if [ -f /etc/rc.local.REAL ] ; then
|
||||||
|
mv /etc/rc.local.REAL /etc/rc.local
|
||||||
|
fi
|
||||||
exit 0
|
exit 0
|
||||||
EOF
|
EOF
|
||||||
run_in_target chmod 755 /etc/rc.local
|
run_in_target chmod 755 /etc/rc.local
|
||||||
|
|
Loading…
Reference in New Issue