diff --git a/target/linux/orion/config-4.4 b/target/linux/orion/config-4.4
index 472850199e3476e3862377fa8df5be1d6dec7a2a..56fedce8844919a5cb7e4bae4f009de9b7542d6c 100644
--- a/target/linux/orion/config-4.4
+++ b/target/linux/orion/config-4.4
@@ -244,7 +244,7 @@ CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
 # CONFIG_MACH_RD88F5182 is not set
 # CONFIG_MACH_RD88F5182_DT is not set
 # CONFIG_MACH_RD88F6183AP_GE is not set
-# CONFIG_MACH_TERASTATION_PRO2 is not set
+CONFIG_MACH_TERASTATION_PRO2=y
 # CONFIG_MACH_TS209 is not set
 # CONFIG_MACH_TS409 is not set
 # CONFIG_MACH_TS78XX is not set
diff --git a/target/linux/orion/image/generic.mk b/target/linux/orion/image/generic.mk
index 905997d8cb11cfa4eb1825d290a63a193c3cdcbf..18ea3991e9dfd5f02e0ce3edc36682ef116592e1 100644
--- a/target/linux/orion/image/generic.mk
+++ b/target/linux/orion/image/generic.mk
@@ -67,6 +67,14 @@ endif
  ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y)  # nothing more to do for a ramdisk build
 $(call Image/Default/FileSizeCheck,$(KDIR)/wrt350nv2-uImage,$(shell expr $(KERNEL_MTD_SIZE) \* 1024))
  endif
+
+ ## Buffalo Terastation Pro II/Live: mach id 1584 (0x0630)
+$(call Image/BuildKernel/ARM/zImage,terastation-pro2,"\x06\x1c\xa0\xe3\x30\x10\x81\xe3")
+$(call Image/BuildKernel/ARM/uImage,terastation-pro2)
+ifeq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y)
+$(call Image/BuildKernel/ARM/zImage,terastation-pro2,"\x06\x1c\xa0\xe3\x30\x10\x81\xe3",-initramfs)
+$(call Image/BuildKernel/ARM/uImage,terastation-pro2,-initramfs)
+endif
 endef
 
 define Image/BuildKernel/ARM/zImage
@@ -124,6 +132,9 @@ $(call Image/Build/Default,$(1),wnr854t,$(ERASE_SIZE_128K),$(KERNEL_MTD_SIZE),.j
 
  ## Linksys WRT350N v2
 $(call Image/Build/Linksys/wrt350nv2,$(1),wrt350nv2,$(ERASE_SIZE_64K),$(KERNEL_MTD_SIZE),)
+
+ ## Buffalo Terastation Pro II/Live
+$(call Image/Build/Default,$(1),terastation-pro2,$(ERASE_SIZE_128K),$(KERNEL_MTD_SIZE),.jffs2,TERASTATION_PRO2)
 endef
 
 define Image/Build/squashfs