aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJake Buchholz <tomalok@gmail.com>2018-12-30 12:29:27 -0800
committerMike Crute <mike@crute.us>2019-01-11 16:46:32 +0000
commitb669fc0a215500b02bfb3edd659be7533758332f (patch)
tree961920ef4e18cb2a503ae537c280c324c09a6b9e
parent80807fa647fa92b14d27cfe53d8dfb6b10478b41 (diff)
downloadalpine-ec2-ami-b669fc0a215500b02bfb3edd659be7533758332f.tar.bz2
alpine-ec2-ami-b669fc0a215500b02bfb3edd659be7533758332f.tar.xz
alpine-ec2-ami-b669fc0a215500b02bfb3edd659be7533758332f.zip
add mdev conf, links NVMEe devs to EBS xvd/sd devs
-rw-r--r--alpine-ami.yaml6
-rwxr-xr-xmake_ami.sh9
-rwxr-xr-xnvme-ebs-links.sh20
-rw-r--r--nvme-ebs-mdev.conf3
4 files changed, 38 insertions, 0 deletions
diff --git a/alpine-ami.yaml b/alpine-ami.yaml
index 18e14e0..5991115 100644
--- a/alpine-ami.yaml
+++ b/alpine-ami.yaml
@@ -53,6 +53,12 @@ builders:
53 53
54 54
55provisioners: 55provisioners:
56 - type: "file"
57 source: "nvme-ebs-links.sh"
58 destination: "/tmp/"
59 - type: "file"
60 source: "nvme-ebs-mdev.conf"
61 destination: "/tmp/"
56 - type: "shell" 62 - type: "shell"
57 script: "make_ami.sh" 63 script: "make_ami.sh"
58 environment_vars: 64 environment_vars:
diff --git a/make_ami.sh b/make_ami.sh
index 3db2eb1..7652edc 100755
--- a/make_ami.sh
+++ b/make_ami.sh
@@ -133,6 +133,7 @@ install_core_packages() {
133 chroot "$target" apk --no-cache add \ 133 chroot "$target" apk --no-cache add \
134 linux-virt \ 134 linux-virt \
135 alpine-mirrors \ 135 alpine-mirrors \
136 nvme-cli \
136 chrony \ 137 chrony \
137 openssh \ 138 openssh \
138 sudo \ 139 sudo \
@@ -153,6 +154,13 @@ install_core_packages() {
153 sed -i "s/^export PS1='/&\\\\u@/" "$target"/etc/profile 154 sed -i "s/^export PS1='/&\\\\u@/" "$target"/etc/profile
154} 155}
155 156
157setup_mdev() {
158 local target="$1"
159
160 cp -a /tmp/nvme-ebs-links.sh "$target"/lib/mdev
161 sed -n -i -e '/# fallback/r /tmp/nvme-ebs-mdev.conf' -e 1x -e '2,${x;p}' -e '${x;p}' "$target"/etc/mdev.conf
162}
163
156create_initfs() { 164create_initfs() {
157 local target="$1" 165 local target="$1"
158 166
@@ -327,6 +335,7 @@ main() {
327 install_extlinux "$target" 335 install_extlinux "$target"
328 336
329 einfo "Configuring system" 337 einfo "Configuring system"
338 setup_mdev "$target"
330 setup_fstab "$target" 339 setup_fstab "$target"
331 setup_networking "$target" 340 setup_networking "$target"
332 enable_services "$target" 341 enable_services "$target"
diff --git a/nvme-ebs-links.sh b/nvme-ebs-links.sh
new file mode 100755
index 0000000..ca8c4f6
--- /dev/null
+++ b/nvme-ebs-links.sh
@@ -0,0 +1,20 @@
1#!/bin/sh
2
3[ -x /usr/sbin/nvme ] || exit
4
5case $ACTION in
6 add|"")
7 BASE=$(echo $MDEV | sed -re 's/^(nvme[0-9]+n[0-9]+).*/\1/')
8 PART=$(echo $MDEV | sed -re 's/nvme[0-9]+n[0-9]+p?//g')
9 EBS=$(/usr/sbin/nvme id-ctrl "/dev/$BASE" -b 2>/dev/null | dd bs=32 skip=96 count=1 2>/dev/null | tr -d ' ')
10 EBS=${EBS#/dev/}$PART
11 ln -sf $MDEV ${EBS/xvd/sd}
12 ln -sf $MDEV ${EBS/sd/xvd}
13 ;;
14 remove)
15 for TARGET in sd* xvd*
16 do
17 [ "$(readlink $TARGET 2>/dev/null)" = $MDEV ] && rm -f $TARGET
18 done
19 ;;
20esac
diff --git a/nvme-ebs-mdev.conf b/nvme-ebs-mdev.conf
new file mode 100644
index 0000000..2d60927
--- /dev/null
+++ b/nvme-ebs-mdev.conf
@@ -0,0 +1,3 @@
1# ebs nvme links
2nvme[0-9]+n[0-9]+.* root:root 0660 */lib/mdev/nvme-ebs-links.sh
3