diff --git a/lib/spack/spack/architecture.py b/lib/spack/spack/architecture.py
index a7c8062fad5c6dae22c36079f3e889bfe77254c3..975cb9e56ded08b8ad95c5b63c7a0992b3b6c50f 100644
--- a/lib/spack/spack/architecture.py
+++ b/lib/spack/spack/architecture.py
@@ -6,7 +6,7 @@
 """
 This module contains all the elements that are required to create an
 architecture object. These include, the target processor, the operating system,
-and the architecture platform (i.e. cray, darwin, linux, bgq, etc) classes.
+and the architecture platform (i.e. cray, darwin, linux, etc) classes.
 
 On a multiple architecture machine, the architecture spec field can be set to
 build a package against any target and operating system that is present on the
diff --git a/lib/spack/spack/cmd/help.py b/lib/spack/spack/cmd/help.py
index 1a5caddc6435aeb32dc008367f83e4380fc7b559..d730d4f0feba1ac7f9dce92a685a0c4b581a3bbb 100644
--- a/lib/spack/spack/cmd/help.py
+++ b/lib/spack/spack/cmd/help.py
@@ -46,7 +46,7 @@
       @B{variant=value1,value2,value3}  set multi-value <variant> values
 
     architecture variants:
-      @m{platform=platform}             linux, darwin, cray, bgq, etc.
+      @m{platform=platform}             linux, darwin, cray, etc.
       @m{os=operating_system}           specific <operating_system>
       @m{target=target}                 specific <target> processor
       @m{arch=platform-os-target}       shortcut for all three above
diff --git a/lib/spack/spack/operating_systems/cnk.py b/lib/spack/spack/operating_systems/cnk.py
deleted file mode 100644
index 53a12785daab1518285abe289030477444983284..0000000000000000000000000000000000000000
--- a/lib/spack/spack/operating_systems/cnk.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
-# Spack Project Developers. See the top-level COPYRIGHT file for details.
-#
-# SPDX-License-Identifier: (Apache-2.0 OR MIT)
-
-from spack.architecture import OperatingSystem
-
-
-class Cnk(OperatingSystem):
-    """ Compute Node Kernel (CNK) is the node level operating system for
-    the IBM Blue Gene series of supercomputers. The compute nodes of the
-    Blue Gene family of supercomputers run CNK, a lightweight kernel that
-    runs on each node and supports one application running for one user
-    on that node."""
-
-    def __init__(self):
-        name = 'cnk'
-        version = '1'
-        super(Cnk, self).__init__(name, version)
-
-    def __str__(self):
-        return self.name
diff --git a/lib/spack/spack/platforms/bgq.py b/lib/spack/spack/platforms/bgq.py
deleted file mode 100644
index 64d71743c4e6560823849dda0679b01a5ba2f3f4..0000000000000000000000000000000000000000
--- a/lib/spack/spack/platforms/bgq.py
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
-# Spack Project Developers. See the top-level COPYRIGHT file for details.
-#
-# SPDX-License-Identifier: (Apache-2.0 OR MIT)
-
-import os
-from spack.architecture import Platform, Target
-from spack.operating_systems.linux_distro import LinuxDistro
-from spack.operating_systems.cnk import Cnk
-
-
-class Bgq(Platform):
-    priority    = 30
-    front_end   = 'power7'
-    back_end    = 'ppc64'
-    default     = 'ppc64'
-
-    def __init__(self):
-        ''' IBM Blue Gene/Q system platform.'''
-
-        super(Bgq, self).__init__('bgq')
-
-        self.add_target(self.front_end, Target(self.front_end))
-        self.add_target(self.back_end, Target(self.back_end))
-
-        front_distro = LinuxDistro()
-        back_distro = Cnk()
-
-        self.front_os = str(front_distro)
-        self.back_os = str(back_distro)
-        self.default_os = self.back_os
-
-        self.add_operating_system(str(front_distro), front_distro)
-        self.add_operating_system(str(back_distro), back_distro)
-
-    @classmethod
-    def detect(cls):
-        return os.path.exists('/bgsys')
diff --git a/lib/spack/spack/test/architecture.py b/lib/spack/spack/test/architecture.py
index 80d3fc72c0677f9fd0440294bab5a62dfc21e777..7af5a8d15020276bc358544044803effc6208a05 100644
--- a/lib/spack/spack/test/architecture.py
+++ b/lib/spack/spack/test/architecture.py
@@ -15,7 +15,6 @@
 from spack.spec import Spec
 from spack.platforms.cray import Cray
 from spack.platforms.linux import Linux
-from spack.platforms.bgq import Bgq
 from spack.platforms.darwin import Darwin
 
 
@@ -42,8 +41,6 @@ def test_platform():
     output_platform_class = spack.architecture.real_platform()
     if os.path.exists('/opt/cray/pe'):
         my_platform_class = Cray()
-    elif os.path.exists('/bgsys'):
-        my_platform_class = Bgq()
     elif 'Linux' in py_platform.system():
         my_platform_class = Linux()
     elif 'Darwin' in py_platform.system():
diff --git a/lib/spack/spack/test/data/targets/bgq-rhel6-power7 b/lib/spack/spack/test/data/targets/bgq-rhel6-power7
deleted file mode 100644
index 39da8a49fe06920f0a9ac714612ccc625551523b..0000000000000000000000000000000000000000
--- a/lib/spack/spack/test/data/targets/bgq-rhel6-power7
+++ /dev/null
@@ -1,4 +0,0 @@
-processor	: 0
-cpu		: POWER7 (architected), altivec supported
-clock		: 3720.000000MHz
-revision	: 2.1 (pvr 003f 0201)
diff --git a/lib/spack/spack/test/llnl/util/cpu.py b/lib/spack/spack/test/llnl/util/cpu.py
index 319d9e684e8133ca00d62c000fc8923e21a7c61f..db2beadaf14ccccb50d986adb957653b88586769 100644
--- a/lib/spack/spack/test/llnl/util/cpu.py
+++ b/lib/spack/spack/test/llnl/util/cpu.py
@@ -37,7 +37,6 @@
     'darwin-mojave-ivybridge',
     'darwin-mojave-haswell',
     'darwin-mojave-skylake',
-    'bgq-rhel6-power7'
 ])
 def expected_target(request, monkeypatch):
     cpu = llnl.util.cpu
@@ -49,7 +48,7 @@ def expected_target(request, monkeypatch):
     )
 
     # Monkeypatch for linux
-    if platform in ('linux', 'bgq'):
+    if platform == 'linux':
         monkeypatch.setattr(cpu.detect.platform, 'system', lambda: 'Linux')
 
         @contextlib.contextmanager