71 lines
2.3 KiB
Bash
Executable file
71 lines
2.3 KiB
Bash
Executable file
#!/bin/bash -e
|
|
|
|
# Prevent dhcp setting the "search" thing in /etc/resolv.conf, leads to many
|
|
# weird stuff (e.g. with numericable) where any domain will ping >.>
|
|
on_chroot << EOF
|
|
echo 'supersede domain-name "";' >> /etc/dhcp/dhclient.conf
|
|
echo 'supersede domain-search "";' >> /etc/dhcp/dhclient.conf
|
|
echo 'supersede search ""; ' >> /etc/dhcp/dhclient.conf
|
|
EOF
|
|
|
|
# Disable those damn supposedly "predictive" interface names
|
|
# c.f. https://unix.stackexchange.com/a/338730
|
|
on_chroot << EOF
|
|
ln -s /dev/null /etc/systemd/network/99-default.link
|
|
EOF
|
|
|
|
# Avahi and mysql/mariadb needs to do some stuff which conflicts with
|
|
# the "change the root password asap" so we disable it. In fact, now
|
|
# that YunoHost 3.3 syncs the password with admin password at
|
|
# postinstall we are happy with not triggering a password change at
|
|
# first boot. Assuming that ARM-boards won't be exposed to global
|
|
# network right after booting the first time ...
|
|
on_chroot << EOF
|
|
chage -d 99999999 root
|
|
EOF
|
|
|
|
# Run the actual install
|
|
on_chroot << EOF
|
|
apt-get install insserv resolvconf -y
|
|
curl https://install.yunohost.org/stretch | bash -s -- -a
|
|
rm -f /etc/ssh/ssh_host_*
|
|
EOF
|
|
|
|
echo "Enabling ssh login for root + setting default password"
|
|
on_chroot << EOF
|
|
touch /boot/ssh
|
|
sed -i '/PermitRootLogin/c\PermitRootLogin yes' /etc/ssh/sshd_config
|
|
echo "root:yunohost" | chpasswd
|
|
EOF
|
|
|
|
install -m 755 files/check_yunohost_is_installed.sh "${ROOTFS_DIR}/etc/profile.d/"
|
|
|
|
echo "Cleaning ..."
|
|
on_chroot << EOF
|
|
apt-get clean
|
|
find /var/log -type f -exec rm {} \;
|
|
EOF
|
|
|
|
# Gotta manually kill those stuff which are some sort of daemon running
|
|
# for slapd / nscd / nslcd ... otherwise the script is unable to unmount
|
|
# the rootfs/image after that ?
|
|
while lsof 2>/dev/null | grep -q /root/rpi-image/work/*/export-image/rootfs/dev;
|
|
do
|
|
for PID in `ps -ef --forest | grep "qemu-arm-static" | grep -v "grep" | grep "nginx\|nscd\|slapd\|nslcd" | awk '{print $2}'`
|
|
do
|
|
echo "Killing $PID"
|
|
kill -9 $PID || true
|
|
sleep 1
|
|
done
|
|
sleep 5
|
|
done
|
|
while ps -ef --forest | grep "qemu-arm-static" | grep -v "grep"
|
|
do
|
|
for PID in `ps -ef --forest | grep "qemu-arm-static" | grep -v "grep" | grep "nginx\|nscd\|slapd\|nslcd" | awk '{print $2}'`
|
|
do
|
|
echo "Killing $PID"
|
|
kill -9 $PID || true
|
|
sleep 1
|
|
done
|
|
sleep 5
|
|
done
|