diff --git a/.zuul.d/jobs.yaml b/.zuul.d/jobs.yaml
index 45e45aca7..57e4651b9 100644
--- a/.zuul.d/jobs.yaml
+++ b/.zuul.d/jobs.yaml
@@ -287,6 +287,23 @@
           DIB_DISABLE_APT_CLEANUP: '1'
           DIB_DEBOOTSTRAP_EXTRA_ARGS: '--no-check-gpg'
 
+- job:
+    name: dib-nodepool-functional-openstack-debian-bullseye-src
+    description: |
+      Test building and booting a Debian bullseye image with Nodepool
+      and OpenStack
+    parent: dib-nodepool-functional-src-base
+    pre-run: playbooks/dib-nodepool/debootstrap.yaml
+    vars:
+      nodepool_diskimage:
+        base_element: debian-minimal
+        release: 'bullseye'
+        mirror: "http://{{ zuul_site_mirror_fqdn }}/debian"
+        env-vars:
+          DIB_APT_LOCAL_CACHE: '0'
+          DIB_DISABLE_APT_CLEANUP: '1'
+          DIB_DEBOOTSTRAP_EXTRA_ARGS: '--no-check-gpg'
+
 - job:
     name: dib-nodepool-functional-openstack-debian-buster-src
     description: |
diff --git a/.zuul.d/project.yaml b/.zuul.d/project.yaml
index 026d2a41d..9ee78607e 100644
--- a/.zuul.d/project.yaml
+++ b/.zuul.d/project.yaml
@@ -61,5 +61,6 @@
         - dib-nodepool-functional-openstack-gentoo-src
         - dib-nodepool-functional-openstack-debian-stretch-src
         - dib-nodepool-functional-openstack-debian-buster-src
+        - dib-nodepool-functional-openstack-debian-bullseye-src
         - octavia-v1-dsvm-scenario
         - octavia-v1-dsvm-py3x-scenario
diff --git a/diskimage_builder/elements/debian-minimal/environment.d/10-debian-minimal.bash b/diskimage_builder/elements/debian-minimal/environment.d/10-debian-minimal.bash
index 2f565305f..f393eb6cc 100644
--- a/diskimage_builder/elements/debian-minimal/environment.d/10-debian-minimal.bash
+++ b/diskimage_builder/elements/debian-minimal/environment.d/10-debian-minimal.bash
@@ -18,11 +18,17 @@ DIB_DEBIAN_SECURITY_SUBPATH=${DIB_DEBIAN_SECURITY_SUBPATH:-/updates}
 export DIB_DEBIAN_COMPONENTS=${DIB_DEBIAN_COMPONENTS:-main}
 export DIB_DEBIAN_COMPONENTS_WS=${DIB_DEBIAN_COMPONENTS//,/ }
 
+if [ "${DIB_RELEASE}" = "bullseye" ]; then
+    DIB_DEBIAN_SECURITY_PATH="${DIB_RELEASE}-security"
+else
+    DIB_DEBIAN_SECURITY_PATH="${DIB_RELEASE}"
+fi
+
 DIB_APT_SOURCES_CONF_DEFAULT=\
 "default:deb ${DIB_DISTRIBUTION_MIRROR} ${DIB_RELEASE} ${DIB_DEBIAN_COMPONENTS_WS}
 backports:deb ${DIB_DISTRIBUTION_MIRROR} ${DIB_RELEASE}-backports ${DIB_DEBIAN_COMPONENTS_WS}
 updates:deb ${DIB_DISTRIBUTION_MIRROR} ${DIB_RELEASE}-updates ${DIB_DEBIAN_COMPONENTS_WS}
-security:deb ${DIB_DEBIAN_SECURITY_MIRROR} ${DIB_RELEASE}${DIB_DEBIAN_SECURITY_SUBPATH} ${DIB_DEBIAN_COMPONENTS_WS}
+security:deb ${DIB_DEBIAN_SECURITY_MIRROR} ${DIB_DEBIAN_SECURITY_PATH}${DIB_DEBIAN_SECURITY_SUBPATH} ${DIB_DEBIAN_COMPONENTS_WS}
 "
 
 if [ "${DIB_RELEASE}" = "testing" -o "${DIB_RELEASE}" = "unstable" ]; then
diff --git a/diskimage_builder/elements/debootstrap/package-installs.yaml b/diskimage_builder/elements/debootstrap/package-installs.yaml
index 5847c7fd9..f56709c80 100644
--- a/diskimage_builder/elements/debootstrap/package-installs.yaml
+++ b/diskimage_builder/elements/debootstrap/package-installs.yaml
@@ -1,5 +1,6 @@
 adduser:
 ca-certificates:
+cloud-initramfs-growroot:
 locales:
 lsb-release:
   phase: pre-install.d
diff --git a/diskimage_builder/elements/debootstrap/pkg-map b/diskimage_builder/elements/debootstrap/pkg-map
index 2ff5c4211..383b11799 100644
--- a/diskimage_builder/elements/debootstrap/pkg-map
+++ b/diskimage_builder/elements/debootstrap/pkg-map
@@ -1,4 +1,11 @@
 {
+  "release": {
+    "debian": {
+      "bullseye": {
+        "cloud-initramfs-growroot": "cloud-initramfs-growroot"
+       }
+     }
+   },
   "default": {
     "cloud-initramfs-growroot": ""
   }