diff --git a/config/grub2/00_cloud b/config/grub2/00_cloud
new file mode 100644
index 000000000..3f9c5a185
--- /dev/null
+++ b/config/grub2/00_cloud
@@ -0,0 +1,26 @@
+#!/bin/sh
+# This is an IPFire helper script for GRUB to enable the serial console
+# on AWS instances at the time of the first boost
+
+set -e
+
+# Do nothing if first boot isn't enabled
+if [ "${GRUB_FIRST_BOOT}" != "true" ]; then
+	exit 0
+fi
+
+. "${pkgdatadir}/grub-mkconfig_lib"
+
+if [ -z "${boot_device_id}" ]; then
+	boot_device_id="$(grub_get_device_id "${GRUB_DEVICE}")"
+fi
+
+cat <<EOF
+# Read the system manufacturer string from the BIOS
+smbios --type 1 --get-string 4 --set system_manufacturer
+
+# Are we on Amazon EC2?
+if [ "\$system_manufacturer" = "Amazon EC2" ]; then
+	next_entry=gnulinux-serial-${boot_device_id}
+fi
+EOF
diff --git a/config/rootfiles/common/aarch64/grub b/config/rootfiles/common/aarch64/grub
index 2c8951249..ae6bdfec3 100644
--- a/config/rootfiles/common/aarch64/grub
+++ b/config/rootfiles/common/aarch64/grub
@@ -4,6 +4,7 @@ boot/grub/splash.png
 #etc/bash_completion.d/grub
 etc/default/grub
 #etc/grub.d
+etc/grub.d/00_cloud
 etc/grub.d/00_header
 etc/grub.d/10_linux
 etc/grub.d/20_linux_xen
diff --git a/config/rootfiles/common/i586/grub b/config/rootfiles/common/i586/grub
index 72884a234..74e646150 100644
--- a/config/rootfiles/common/i586/grub
+++ b/config/rootfiles/common/i586/grub
@@ -5,6 +5,7 @@ boot/grub/splash.png
 #etc/bash_completion.d/grub
 etc/default/grub
 #etc/grub.d
+etc/grub.d/00_cloud
 etc/grub.d/00_header
 etc/grub.d/10_linux
 etc/grub.d/20_linux_xen
diff --git a/config/rootfiles/common/x86_64/grub b/config/rootfiles/common/x86_64/grub
index 8cddfcff9..5450499e3 100644
--- a/config/rootfiles/common/x86_64/grub
+++ b/config/rootfiles/common/x86_64/grub
@@ -5,6 +5,7 @@ boot/grub/splash.png
 #etc/bash_completion.d/grub
 etc/default/grub
 #etc/grub.d
+etc/grub.d/00_cloud
 etc/grub.d/00_header
 etc/grub.d/10_linux
 etc/grub.d/20_linux_xen
diff --git a/lfs/grub b/lfs/grub
index cc1581306..aed9e6ad8 100644
--- a/lfs/grub
+++ b/lfs/grub
@@ -125,6 +125,10 @@ ifeq "$(BUILD_PC)" "1"
 	touch /boot/grub/grub.cfg
 endif
 
+	# Install our own helpers
+	install -v -m 644 $(DIR_SRC)/config/grub2/00_cloud \
+		/etc/grub.cfg
+
 	# Install background image
 	-mkdir -pv /boot/grub
 	install -m 644 $(DIR_SRC)/config/grub2/splash.png /boot/grub/splash.png
