aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Crute <mike@crute.us>2020-05-28 15:11:30 -0700
committerMike Crute <mike@crute.us>2020-05-30 13:17:56 -0700
commit83d07e4b9a9cb9b2a79889fc81f1e66486f744ee (patch)
treeb93e05728cf0c4cc2200c84561d010d52702c936
parentb1da6a47d63b70b7100644faaa68b3ee0bedb66e (diff)
downloadalpine-ec2-ami-83d07e4b9a9cb9b2a79889fc81f1e66486f744ee.tar.bz2
alpine-ec2-ami-83d07e4b9a9cb9b2a79889fc81f1e66486f744ee.tar.xz
alpine-ec2-ami-83d07e4b9a9cb9b2a79889fc81f1e66486f744ee.zip
Initfs features are in profiles
-rw-r--r--packer.conf1
-rw-r--r--profiles/base/16
-rwxr-xr-xscripts/builder.py15
-rwxr-xr-xscripts/setup-ami5
4 files changed, 16 insertions, 11 deletions
diff --git a/packer.conf b/packer.conf
index dafb071..e741255 100644
--- a/packer.conf
+++ b/packer.conf
@@ -87,6 +87,7 @@ provisioners = [
87 "SVCS={{user `svcs`}}" 87 "SVCS={{user `svcs`}}"
88 "KERNEL_MODS={{user `kernel_modules`}}" 88 "KERNEL_MODS={{user `kernel_modules`}}"
89 "KERNEL_OPTS={{user `kernel_options`}}" 89 "KERNEL_OPTS={{user `kernel_options`}}"
90 "INITFS_FEATURES={{user `initfs_features`}}"
90 ] 91 ]
91 use_env_var_file = "true" 92 use_env_var_file = "true"
92 execute_command = "sudo sh -c '. {{.EnvVarFile}} && {{.Path}}'" 93 execute_command = "sudo sh -c '. {{.EnvVarFile}} && {{.Path}}'"
diff --git a/profiles/base/1 b/profiles/base/1
index 666e5d4..936018f 100644
--- a/profiles/base/1
+++ b/profiles/base/1
@@ -91,3 +91,9 @@ kernel_options {
91 "console=ttyS0" = true 91 "console=ttyS0" = true
92 "console=tty0" = true 92 "console=tty0" = true
93} 93}
94# NOTE: nvme and ena are critical for i3, a1, m6g, and anything in the 5 series
95# forward. Without them these instances will not boot.
96initfs_features {
97 nvme = true
98 ena = true
99}
diff --git a/scripts/builder.py b/scripts/builder.py
index 08c0fa7..bfbd5d4 100755
--- a/scripts/builder.py
+++ b/scripts/builder.py
@@ -487,13 +487,14 @@ class ConfigBuilder:
487 self.out_dir = out_dir 487 self.out_dir = out_dir
488 488
489 self._keys_to_transform = { 489 self._keys_to_transform = {
490 "kernel_modules" : self.fold_comma, 490 "kernel_modules" : self.fold_comma,
491 "kernel_options" : self.fold_space, 491 "kernel_options" : self.fold_space,
492 "repos" : self.fold_repos, 492 "initfs_features" : self.fold_space,
493 "pkgs" : self.fold_packages, 493 "repos" : self.fold_repos,
494 "svcs" : self.fold_services, 494 "pkgs" : self.fold_packages,
495 "revision" : self.resolve_now, 495 "svcs" : self.fold_services,
496 "end_of_life" : lambda x: \ 496 "revision" : self.resolve_now,
497 "end_of_life" : lambda x: \
497 self.force_iso_date(self.resolve_tomorrow(x)), 498 self.force_iso_date(self.resolve_tomorrow(x)),
498 } 499 }
499 500
diff --git a/scripts/setup-ami b/scripts/setup-ami
index 1b43495..023c208 100755
--- a/scripts/setup-ami
+++ b/scripts/setup-ami
@@ -158,10 +158,7 @@ setup_mdev() {
158} 158}
159 159
160create_initfs() { 160create_initfs() {
161 # Enable ENA and NVME features these don't hurt for any instance and are 161 sed -Ei "s/^features=\"([^\"]+)\"/features=\"\1 $INITFS_FEATURES\"/" \
162 # hard requirements of the 5 series and i3 series of instances
163 # TODO: profile-ize?
164 sed -Ei 's/^features="([^"]+)"/features="\1 nvme ena"/' \
165 "$TARGET/etc/mkinitfs/mkinitfs.conf" 162 "$TARGET/etc/mkinitfs/mkinitfs.conf"
166 163
167 chroot "$TARGET" /sbin/mkinitfs $(basename $(find "$TARGET/lib/modules/"* -maxdepth 0)) 164 chroot "$TARGET" /sbin/mkinitfs $(basename $(find "$TARGET/lib/modules/"* -maxdepth 0))