diff --git a/.github/workflows/build-gluon.yml b/.github/workflows/build-gluon.yml
index dd2600456a799d72901dfa9c8b2dc39cc6c29439..a8504986a2572bd9b7ebce053514a5c42e3f2641 100644
--- a/.github/workflows/build-gluon.yml
+++ b/.github/workflows/build-gluon.yml
@@ -412,6 +412,27 @@ jobs:
           name: x86-geode_output
           path: output
 
+  x86-legacy:
+    name: x86-legacy
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v1
+      - name: Install Dependencies
+        run: sudo contrib/actions/install-dependencies.sh
+      - name: Build
+        run: contrib/actions/run-build.sh x86-legacy
+      - name: Archive build logs
+        if: ${{ !cancelled() }}
+        uses: actions/upload-artifact@v1
+        with:
+          name: x86-legacy_logs
+          path: openwrt/logs
+      - name: Archive build output
+        uses: actions/upload-artifact@v1
+        with:
+          name: x86-legacy_output
+          path: output
+
   x86-64:
     name: x86-64
     runs-on: ubuntu-latest
diff --git a/targets/targets.mk b/targets/targets.mk
index 9009898eab8813f0f14ffe88af09d688f062925e..bad38ac2131827462e2dc09e4dbe448afccdbe21 100644
--- a/targets/targets.mk
+++ b/targets/targets.mk
@@ -19,6 +19,7 @@ $(eval $(call GluonTarget,ramips,rt305x))
 $(eval $(call GluonTarget,sunxi,cortexa7))
 $(eval $(call GluonTarget,x86,generic))
 $(eval $(call GluonTarget,x86,geode))
+$(eval $(call GluonTarget,x86,legacy))
 $(eval $(call GluonTarget,x86,64))
 
 
diff --git a/targets/x86-legacy b/targets/x86-legacy
new file mode 100644
index 0000000000000000000000000000000000000000..79667dad2a8cbb40a0b235ddd683b710181e5181
--- /dev/null
+++ b/targets/x86-legacy
@@ -0,0 +1,10 @@
+include 'x86.inc'
+
+packages {
+        '-kmod-gpio-nct5104d',
+        '-kmod-leds-gpio',
+        '-kmod-leds-apu2',
+}
+
+factory_image('x86-legacy', 'combined-squashfs', '.img.gz')
+sysupgrade_image('x86-legacy', 'combined-squashfs', '.img.gz')