From 1c21ebf8d5464d3d84e8d2dc247a77870f3961df Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Wed, 6 Jun 2018 12:19:17 +0100 Subject: [PATCH] Add initscript that automatically configures IPFire on AWS EC2 Signed-off-by: Michael Tremer --- config/rootfiles/common/aarch64/initscripts | 2 + config/rootfiles/common/armv5tel/initscripts | 2 + config/rootfiles/common/i586/initscripts | 2 + config/rootfiles/common/x86_64/initscripts | 2 + lfs/initscripts | 1 + src/initscripts/system/aws | 103 +++++++++++++++++++ 6 files changed, 112 insertions(+) create mode 100644 src/initscripts/system/aws diff --git a/config/rootfiles/common/aarch64/initscripts b/config/rootfiles/common/aarch64/initscripts index 9e9e1a71a5..6a40bc1ff0 100644 --- a/config/rootfiles/common/aarch64/initscripts +++ b/config/rootfiles/common/aarch64/initscripts @@ -5,6 +5,7 @@ etc/rc.d/helper/getdnsfromdhcpc.pl #etc/rc.d/init.d etc/rc.d/init.d/acpid etc/rc.d/init.d/apache +etc/rc.d/init.d/aws etc/rc.d/init.d/beep etc/rc.d/init.d/checkfs etc/rc.d/init.d/cleanfs @@ -184,6 +185,7 @@ etc/rc.d/rcsysinit.d/S50cleanfs etc/rc.d/rcsysinit.d/S60setclock etc/rc.d/rcsysinit.d/S70console etc/rc.d/rcsysinit.d/S73swconfig +etc/rc.d/rcsysinit.d/S74aws etc/rc.d/rcsysinit.d/S75firstsetup etc/rc.d/rcsysinit.d/S80localnet etc/rc.d/rcsysinit.d/S81pakfire diff --git a/config/rootfiles/common/armv5tel/initscripts b/config/rootfiles/common/armv5tel/initscripts index 9e9e1a71a5..6a40bc1ff0 100644 --- a/config/rootfiles/common/armv5tel/initscripts +++ b/config/rootfiles/common/armv5tel/initscripts @@ -5,6 +5,7 @@ etc/rc.d/helper/getdnsfromdhcpc.pl #etc/rc.d/init.d etc/rc.d/init.d/acpid etc/rc.d/init.d/apache +etc/rc.d/init.d/aws etc/rc.d/init.d/beep etc/rc.d/init.d/checkfs etc/rc.d/init.d/cleanfs @@ -184,6 +185,7 @@ etc/rc.d/rcsysinit.d/S50cleanfs etc/rc.d/rcsysinit.d/S60setclock etc/rc.d/rcsysinit.d/S70console etc/rc.d/rcsysinit.d/S73swconfig +etc/rc.d/rcsysinit.d/S74aws etc/rc.d/rcsysinit.d/S75firstsetup etc/rc.d/rcsysinit.d/S80localnet etc/rc.d/rcsysinit.d/S81pakfire diff --git a/config/rootfiles/common/i586/initscripts b/config/rootfiles/common/i586/initscripts index cc0e4580d8..f3ea792230 100644 --- a/config/rootfiles/common/i586/initscripts +++ b/config/rootfiles/common/i586/initscripts @@ -5,6 +5,7 @@ etc/rc.d/helper/getdnsfromdhcpc.pl #etc/rc.d/init.d etc/rc.d/init.d/acpid etc/rc.d/init.d/apache +etc/rc.d/init.d/aws etc/rc.d/init.d/beep etc/rc.d/init.d/checkfs etc/rc.d/init.d/cleanfs @@ -182,6 +183,7 @@ etc/rc.d/rcsysinit.d/S45udev_retry etc/rc.d/rcsysinit.d/S50cleanfs etc/rc.d/rcsysinit.d/S60setclock etc/rc.d/rcsysinit.d/S70console +etc/rc.d/rcsysinit.d/S74aws etc/rc.d/rcsysinit.d/S75firstsetup etc/rc.d/rcsysinit.d/S80localnet etc/rc.d/rcsysinit.d/S81pakfire diff --git a/config/rootfiles/common/x86_64/initscripts b/config/rootfiles/common/x86_64/initscripts index cc0e4580d8..f3ea792230 100644 --- a/config/rootfiles/common/x86_64/initscripts +++ b/config/rootfiles/common/x86_64/initscripts @@ -5,6 +5,7 @@ etc/rc.d/helper/getdnsfromdhcpc.pl #etc/rc.d/init.d etc/rc.d/init.d/acpid etc/rc.d/init.d/apache +etc/rc.d/init.d/aws etc/rc.d/init.d/beep etc/rc.d/init.d/checkfs etc/rc.d/init.d/cleanfs @@ -182,6 +183,7 @@ etc/rc.d/rcsysinit.d/S45udev_retry etc/rc.d/rcsysinit.d/S50cleanfs etc/rc.d/rcsysinit.d/S60setclock etc/rc.d/rcsysinit.d/S70console +etc/rc.d/rcsysinit.d/S74aws etc/rc.d/rcsysinit.d/S75firstsetup etc/rc.d/rcsysinit.d/S80localnet etc/rc.d/rcsysinit.d/S81pakfire diff --git a/lfs/initscripts b/lfs/initscripts index 0d7f40cadb..9b611a2765 100644 --- a/lfs/initscripts +++ b/lfs/initscripts @@ -173,6 +173,7 @@ $(TARGET) : ln -sf ../init.d/setclock /etc/rc.d/rc0.d/K47setclock ln -sf ../init.d/setclock /etc/rc.d/rc6.d/K47setclock ln -sf ../init.d/console /etc/rc.d/rcsysinit.d/S70console + ln -sf ../init.d/aws /etc/rc.d/rcsysinit.d/S74aws ln -sf ../init.d/firstsetup /etc/rc.d/rcsysinit.d/S75firstsetup ln -sf ../init.d/localnet /etc/rc.d/rcsysinit.d/S80localnet ln -sf ../init.d/pakfire /etc/rc.d/rcsysinit.d/S81pakfire diff --git a/src/initscripts/system/aws b/src/initscripts/system/aws new file mode 100644 index 0000000000..a61834b610 --- /dev/null +++ b/src/initscripts/system/aws @@ -0,0 +1,103 @@ +#!/bin/sh +######################################################################## +# Begin $rc_base/init.d/aws +######################################################################## + +. /etc/sysconfig/rc +. ${rc_functions} + +MD_URL="http://169.254.169.254/latest/meta-data" + +# https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/identify_ec2_instances.html +running_on_ec2() { + local uuid + + # Check if the hypervisor UUID starts with ec2 + if [ -r "/sys/hypervisor/uuid" ]; then + uuid=$( /var/ipfire/main/settings + fi + + # Remove any IP addresses + ip addr flush dev "${intf}" + echo_ok + + # This script has now completed the first steps of setup + touch /var/ipfire/main/firstsetup_ok + ;; + + status) + if running_on_ec2; then + echo "This system is running on AWS EC2" + exit 0 + else + echo "This system is NOT running on AWS EC2" + exit 1 + fi + ;; + + *) + echo "Usage: ${0} {start|status}" + exit 1 + ;; +esac + +# End $rc_base/init.d/aws -- 2.39.2