50-firstboot.sh
49 lines
| 1.5 KiB
| application/x-sh
|
BashLexer
/ bootstrap.d / 50-firstboot.sh
Filip Pytloun
|
r56 | # | ||
# First boot actions | ||||
# | ||||
Jan Wagner
|
r67 | # Load utility functions | ||
Filip Pytloun
|
r56 | . ./functions.sh | ||
Jan Wagner
|
r67 | # Prepare rc.firstboot script | ||
drtyhlpr
|
r94 | cat files/firstboot/10-begin.sh > "${ETC_DIR}/rc.firstboot" | ||
Filip Pytloun
|
r56 | |||
# Ensure openssh server host keys are regenerated on first boot | ||||
Jan Wagner
|
r77 | if [ "$ENABLE_SSHD" = true ] ; then | ||
drtyhlpr
|
r94 | cat files/firstboot/21-generate-ssh-keys.sh >> "${ETC_DIR}/rc.firstboot" | ||
Filip Pytloun
|
r56 | fi | ||
Jan Wagner
|
r67 | # Prepare filesystem auto expand | ||
Filip Pytloun
|
r56 | if [ "$EXPANDROOT" = true ] ; then | ||
Jan Wagner
|
r82 | if [ "$ENABLE_CRYPTFS" = false ] ; then | ||
drtyhlpr
|
r94 | cat files/firstboot/22-expandroot.sh >> "${ETC_DIR}/rc.firstboot" | ||
Jan Wagner
|
r82 | else | ||
# Regenerate initramfs to remove encrypted root partition auto expand | ||||
drtyhlpr
|
r94 | cat files/firstboot/23-regenerate-initramfs.sh >> "${ETC_DIR}/rc.firstboot" | ||
Jan Wagner
|
r82 | fi | ||
Filip Pytloun
|
r56 | fi | ||
Jan Wagner
|
r73 | # Ensure that dbus machine-id exists | ||
drtyhlpr
|
r94 | cat files/firstboot/24-generate-machineid.sh >> "${ETC_DIR}/rc.firstboot" | ||
Jan Wagner
|
r73 | |||
# Create /etc/resolv.conf symlink | ||||
drtyhlpr
|
r94 | cat files/firstboot/25-create-resolv-symlink.sh >> "${ETC_DIR}/rc.firstboot" | ||
Jan Wagner
|
r73 | |||
drtyhlpr
|
r92 | # Configure automatic network interface names | ||
if [ "$ENABLE_IFNAMES" = true ] ; then | ||||
drtyhlpr
|
r94 | cat files/firstboot/26-config-ifnames.sh >> "${ETC_DIR}/rc.firstboot" | ||
drtyhlpr
|
r92 | fi | ||
Jan Wagner
|
r67 | # Finalize rc.firstboot script | ||
drtyhlpr
|
r94 | cat files/firstboot/99-finish.sh >> "${ETC_DIR}/rc.firstboot" | ||
chmod +x "${ETC_DIR}/rc.firstboot" | ||||
Filip Pytloun
|
r56 | |||
drtyhlpr
|
r92 | # Install default rc.local if it does not exist | ||
drtyhlpr
|
r94 | if [ ! -f "${ETC_DIR}/rc.local" ] ; then | ||
install_exec files/etc/rc.local "${ETC_DIR}/rc.local" | ||||
drtyhlpr
|
r92 | fi | ||
Jan Wagner
|
r67 | # Add rc.firstboot script to rc.local | ||
drtyhlpr
|
r94 | sed -i '/exit 0/d' "${ETC_DIR}/rc.local" | ||
echo /etc/rc.firstboot >> "${ETC_DIR}/rc.local" | ||||
echo exit 0 >> "${ETC_DIR}/rc.local" | ||||