Merge "Refactor the first boot routine."
This commit is contained in:
commit
495381c2f5
11
elements/base/dib-first-boot
Executable file
11
elements/base/dib-first-boot
Executable file
@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
set -o xtrace
|
||||||
|
|
||||||
|
touch /var/log/first-boot.d.log
|
||||||
|
chmod 0600 /var/log/first-boot.d.log
|
||||||
|
|
||||||
|
run-parts /etc/first-boot.d >> /var/log/first-boot.d.log 2>&1
|
||||||
|
rm -fr /etc/first-boot.d
|
||||||
|
# delete itself
|
||||||
|
rm $0
|
6
elements/base/finalise.d/01-install-dib-first-boot
Executable file
6
elements/base/finalise.d/01-install-dib-first-boot
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if [ -d /etc/first-boot.d ]; then
|
||||||
|
install -m 0755 -o root -g root $(dirname $0)/../dib-first-boot /usr/sbin/
|
||||||
|
fi
|
35
elements/fedora/finalise.d/99-setup-first-boot
Executable file
35
elements/fedora/finalise.d/99-setup-first-boot
Executable file
@ -0,0 +1,35 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if [ -d /etc/first-boot.d ]; then
|
||||||
|
rc_local=/etc/rc.d/rc.local
|
||||||
|
|
||||||
|
FILE_EXISTED=
|
||||||
|
if [ -f $rc_local ]
|
||||||
|
then
|
||||||
|
FILE_EXISTED=1
|
||||||
|
mv $rc_local $rc_local.REAL
|
||||||
|
fi
|
||||||
|
|
||||||
|
dd of=$rc_local <<EOF
|
||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
set -o xtrace
|
||||||
|
|
||||||
|
dib-first-boot
|
||||||
|
EOF
|
||||||
|
|
||||||
|
if [ $FILE_EXISTED ]
|
||||||
|
then
|
||||||
|
echo "mv $rc_local.REAL $rc_local" >> $rc_local
|
||||||
|
else
|
||||||
|
echo "rm \$0" >> $rc_local
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "exit 0" >> $rc_local
|
||||||
|
|
||||||
|
chmod 755 $rc_local
|
||||||
|
|
||||||
|
# Enable the service
|
||||||
|
systemctl enable rc-local.service
|
||||||
|
fi
|
21
elements/ubuntu/finalise.d/99-setup-first-boot
Executable file
21
elements/ubuntu/finalise.d/99-setup-first-boot
Executable file
@ -0,0 +1,21 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if [ -d /etc/first-boot.d ]; then
|
||||||
|
rc_local=/etc/rc.local
|
||||||
|
|
||||||
|
mv $rc_local $rc_local.REAL
|
||||||
|
|
||||||
|
dd of=$rc_local <<EOF
|
||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
set -o xtrace
|
||||||
|
|
||||||
|
dib-first-boot
|
||||||
|
|
||||||
|
mv $rc_local.REAL $rc_local
|
||||||
|
exit 0
|
||||||
|
EOF
|
||||||
|
|
||||||
|
chmod 755 $rc_local
|
||||||
|
fi
|
@ -129,26 +129,6 @@ 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
|
||||||
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
|
|
||||||
#!/bin/bash
|
|
||||||
set -e
|
|
||||||
set -o xtrace
|
|
||||||
|
|
||||||
touch /var/log/first-boot.d.log
|
|
||||||
chmod 0600 /var/log/first-boot.d.log
|
|
||||||
|
|
||||||
run-parts /etc/first-boot.d >> /var/log/first-boot.d.log 2>&1
|
|
||||||
rm -fr /etc/first-boot.d
|
|
||||||
rm -f /etc/rc.local
|
|
||||||
if [ -f /etc/rc.local.REAL ] ; then
|
|
||||||
mv /etc/rc.local.REAL /etc/rc.local
|
|
||||||
fi
|
|
||||||
exit 0
|
|
||||||
EOF
|
|
||||||
run_in_target chmod 755 /etc/rc.local
|
|
||||||
fi
|
fi
|
||||||
check_break after-first-boot run_in_target bash
|
check_break after-first-boot run_in_target bash
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user