diff --git a/MAINTAINERS b/MAINTAINERS
index 631f6f62e..01d0fe8c8 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -173,7 +173,7 @@ F: lib/librte_eal/common/*malloc*
 F: lib/librte_eal/common/eal_common_fbarray.c
 F: lib/librte_eal/common/eal_common_mem*
 F: lib/librte_eal/common/eal_hugepages.h
-F: lib/librte_eal/linuxapp/eal/eal_mem*
+F: lib/librte_eal/linux/eal/eal_mem*
 F: lib/librte_eal/freebsd/eal/eal_mem*
 F: doc/guides/prog_guide/env_abstraction_layer.rst
 F: app/test/test_external_mem.c
@@ -244,8 +244,8 @@ F: lib/librte_eal/common/arch/x86/
 F: lib/librte_eal/common/include/arch/x86/
 
 Linux EAL (with overlaps)
-F: lib/librte_eal/linuxapp/Makefile
-F: lib/librte_eal/linuxapp/eal/
+F: lib/librte_eal/linux/Makefile
+F: lib/librte_eal/linux/eal/
 F: doc/guides/linux_gsg/
 
 Linux UIO
@@ -255,7 +255,7 @@ F: drivers/bus/pci/linux/*uio*
 
 Linux VFIO
 M: Anatoly Burakov <anatoly.burakov@intel.com>
-F: lib/librte_eal/linuxapp/eal/*vfio*
+F: lib/librte_eal/linux/eal/*vfio*
 F: drivers/bus/pci/linux/*vfio*
 
 FreeBSD EAL (with overlaps)
diff --git a/devtools/build-tags.sh b/devtools/build-tags.sh
index caf9c5348..67b12f65a 100755
--- a/devtools/build-tags.sh
+++ b/devtools/build-tags.sh
@@ -67,7 +67,7 @@ common_sources()
 
 linux_sources()
 {
-	find_sources "lib/librte_eal/linuxapp" '*.[chS]'
+	find_sources "lib/librte_eal/linux" '*.[chS]'
 }
 
 bsd_sources()
diff --git a/doc/guides/prog_guide/env_abstraction_layer.rst b/doc/guides/prog_guide/env_abstraction_layer.rst
index 4f33c0c2d..8780928a6 100644
--- a/doc/guides/prog_guide/env_abstraction_layer.rst
+++ b/doc/guides/prog_guide/env_abstraction_layer.rst
@@ -346,7 +346,7 @@ To ease the idle polling with tiny throughput, it's useful to pause the polling
 The RX interrupt is the first choice to be such kind of wake-up event, but probably won't be the only one.
 
 EAL provides the event APIs for this event-driven thread mode.
-Taking linuxapp as an example, the implementation relies on epoll. Each thread can monitor an epoll instance
+Taking Linux as an example, the implementation relies on epoll. Each thread can monitor an epoll instance
 in which all the wake-up events' file descriptors are added. The event file descriptors are created and mapped to
 the interrupt vectors according to the UIO/VFIO spec.
 From FreeBSD's perspective, kqueue is the alternative way, but not implemented yet.
diff --git a/drivers/bus/dpaa/Makefile b/drivers/bus/dpaa/Makefile
index 800e5cd20..248c024eb 100644
--- a/drivers/bus/dpaa/Makefile
+++ b/drivers/bus/dpaa/Makefile
@@ -17,7 +17,7 @@ CFLAGS += -Wno-cast-qual
 CFLAGS += -I$(RTE_BUS_DPAA)/
 CFLAGS += -I$(RTE_BUS_DPAA)/include
 CFLAGS += -I$(RTE_BUS_DPAA)/base/qbman
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/linuxapp/eal
+CFLAGS += -I$(RTE_SDK)/lib/librte_eal/linux/eal
 CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common/include
 
 # versioning export map
diff --git a/drivers/crypto/caam_jr/Makefile b/drivers/crypto/caam_jr/Makefile
index 88cdf7410..b078453d7 100644
--- a/drivers/crypto/caam_jr/Makefile
+++ b/drivers/crypto/caam_jr/Makefile
@@ -21,7 +21,7 @@ CFLAGS += -I$(RTE_SDK)/drivers/crypto/caam_jr
 #sharing the hw flib headers from dpaa2_sec pmd
 CFLAGS += -I$(RTE_SDK)/drivers/crypto/dpaa2_sec/
 CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common/include
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/linuxapp/eal
+CFLAGS += -I$(RTE_SDK)/lib/librte_eal/linux/eal
 
 # versioning export map
 EXPORT_MAP := rte_pmd_caam_jr_version.map
diff --git a/drivers/crypto/dpaa2_sec/Makefile b/drivers/crypto/dpaa2_sec/Makefile
index f537f76a6..63dbe8527 100644
--- a/drivers/crypto/dpaa2_sec/Makefile
+++ b/drivers/crypto/dpaa2_sec/Makefile
@@ -27,7 +27,7 @@ CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/qbman/include
 CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/mc
 CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/portal
 CFLAGS += -I$(RTE_SDK)/drivers/mempool/dpaa2/
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/linuxapp/eal
+CFLAGS += -I$(RTE_SDK)/lib/librte_eal/linux/eal
 
 # versioning export map
 EXPORT_MAP := rte_pmd_dpaa2_sec_version.map
diff --git a/drivers/crypto/dpaa_sec/Makefile b/drivers/crypto/dpaa_sec/Makefile
index 5ce95c23f..aa214c032 100644
--- a/drivers/crypto/dpaa_sec/Makefile
+++ b/drivers/crypto/dpaa_sec/Makefile
@@ -20,7 +20,7 @@ CFLAGS += -I$(RTE_SDK)/drivers/crypto/dpaa_sec/
 #sharing the hw flib headers from dpaa2_sec pmd
 CFLAGS += -I$(RTE_SDK)/drivers/crypto/dpaa2_sec/
 CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common/include
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/linuxapp/eal
+CFLAGS += -I$(RTE_SDK)/lib/librte_eal/linux/eal
 LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
 LDLIBS += -lrte_cryptodev
 
diff --git a/drivers/event/dpaa/Makefile b/drivers/event/dpaa/Makefile
index 6f93e7f40..9b3d6bac4 100644
--- a/drivers/event/dpaa/Makefile
+++ b/drivers/event/dpaa/Makefile
@@ -20,7 +20,7 @@ CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa
 CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa/include/
 CFLAGS += -I$(RTE_SDK)/drivers/mempool/dpaa
 CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common/include
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/linuxapp/eal/include
+CFLAGS += -I$(RTE_SDK)/lib/librte_eal/linux/eal/include
 
 EXPORT_MAP := rte_pmd_dpaa_event_version.map
 
diff --git a/drivers/event/dpaa2/Makefile b/drivers/event/dpaa2/Makefile
index e0134cc46..e245682cf 100644
--- a/drivers/event/dpaa2/Makefile
+++ b/drivers/event/dpaa2/Makefile
@@ -17,7 +17,7 @@ CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/mc
 CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/portal
 CFLAGS += -I$(RTE_SDK)/drivers/mempool/dpaa2
 CFLAGS += -I$(RTE_SDK)/drivers/event/dpaa2
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/linuxapp/eal
+CFLAGS += -I$(RTE_SDK)/lib/librte_eal/linux/eal
 LDLIBS += -lrte_eal -lrte_eventdev
 LDLIBS += -lrte_bus_fslmc -lrte_mempool_dpaa2 -lrte_pmd_dpaa2
 LDLIBS += -lrte_bus_vdev
diff --git a/drivers/mempool/dpaa2/Makefile b/drivers/mempool/dpaa2/Makefile
index 96c0f2b63..5f3e4eae9 100644
--- a/drivers/mempool/dpaa2/Makefile
+++ b/drivers/mempool/dpaa2/Makefile
@@ -13,7 +13,7 @@ CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
 CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc
 CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/qbman/include
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/linuxapp/eal
+CFLAGS += -I$(RTE_SDK)/lib/librte_eal/linux/eal
 
 # versioning export map
 EXPORT_MAP := rte_mempool_dpaa2_version.map
diff --git a/drivers/net/dpaa/Makefile b/drivers/net/dpaa/Makefile
index 1c4f7d914..5b8e7f8da 100644
--- a/drivers/net/dpaa/Makefile
+++ b/drivers/net/dpaa/Makefile
@@ -21,7 +21,7 @@ CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa/base/qbman
 CFLAGS += -I$(RTE_SDK)/drivers/mempool/dpaa
 CFLAGS += -I$(RTE_SDK)/drivers/event/dpaa
 CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common/include
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/linuxapp/eal/include
+CFLAGS += -I$(RTE_SDK)/lib/librte_eal/linux/eal/include
 
 EXPORT_MAP := rte_pmd_dpaa_version.map
 
diff --git a/drivers/net/dpaa2/Makefile b/drivers/net/dpaa2/Makefile
index 562551175..553731a04 100644
--- a/drivers/net/dpaa2/Makefile
+++ b/drivers/net/dpaa2/Makefile
@@ -19,7 +19,7 @@ CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/qbman/include
 CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/mc
 CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/portal
 CFLAGS += -I$(RTE_SDK)/drivers/mempool/dpaa2
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/linuxapp/eal
+CFLAGS += -I$(RTE_SDK)/lib/librte_eal/linux/eal
 
 # versioning export map
 EXPORT_MAP := rte_pmd_dpaa2_version.map
diff --git a/drivers/raw/dpaa2_qdma/Makefile b/drivers/raw/dpaa2_qdma/Makefile
index bdd99c976..5c75f5fa0 100644
--- a/drivers/raw/dpaa2_qdma/Makefile
+++ b/drivers/raw/dpaa2_qdma/Makefile
@@ -12,7 +12,7 @@ CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
 
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/linuxapp/eal
+CFLAGS += -I$(RTE_SDK)/lib/librte_eal/linux/eal
 CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc
 CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/qbman/include
 
diff --git a/kernel/linux/kni/meson.build b/kernel/linux/kni/meson.build
index a09af5aa5..877ff5c47 100644
--- a/kernel/linux/kni/meson.build
+++ b/kernel/linux/kni/meson.build
@@ -21,7 +21,7 @@ custom_target('rte_kni',
 		'src=' + meson.current_source_dir(),
 		'MODULE_CFLAGS=-include ' + meson.source_root() + '/config/rte_config.h' +
 		' -I' + meson.source_root() + '/lib/librte_eal/common/include' +
-		' -I' + meson.source_root() + '/lib/librte_eal/linuxapp/eal/include' +
+		' -I' + meson.source_root() + '/lib/librte_eal/linux/eal/include' +
 		' -I' + meson.build_root() +
 		' -I' + meson.current_source_dir() +
 		' -I' + meson.current_source_dir() + '/ethtool/ixgbe' +
diff --git a/lib/librte_eal/Makefile b/lib/librte_eal/Makefile
index 39d64bb7a..c6bd39f02 100644
--- a/lib/librte_eal/Makefile
+++ b/lib/librte_eal/Makefile
@@ -4,8 +4,8 @@
 include $(RTE_SDK)/mk/rte.vars.mk
 
 DIRS-y += common
-DIRS-$(CONFIG_RTE_EXEC_ENV_LINUXAPP) += linuxapp
-DEPDIRS-linuxapp := common
+DIRS-$(CONFIG_RTE_EXEC_ENV_LINUXAPP) += linux
+DEPDIRS-linux := common
 DIRS-$(CONFIG_RTE_EXEC_ENV_BSDAPP) += freebsd
 DEPDIRS-freebsd := common
 
diff --git a/lib/librte_eal/linuxapp/Makefile b/lib/librte_eal/linux/Makefile
similarity index 100%
rename from lib/librte_eal/linuxapp/Makefile
rename to lib/librte_eal/linux/Makefile
diff --git a/lib/librte_eal/linuxapp/eal/Makefile b/lib/librte_eal/linux/eal/Makefile
similarity index 100%
rename from lib/librte_eal/linuxapp/eal/Makefile
rename to lib/librte_eal/linux/eal/Makefile
diff --git a/lib/librte_eal/linuxapp/eal/eal.c b/lib/librte_eal/linux/eal/eal.c
similarity index 100%
rename from lib/librte_eal/linuxapp/eal/eal.c
rename to lib/librte_eal/linux/eal/eal.c
diff --git a/lib/librte_eal/linuxapp/eal/eal_alarm.c b/lib/librte_eal/linux/eal/eal_alarm.c
similarity index 100%
rename from lib/librte_eal/linuxapp/eal/eal_alarm.c
rename to lib/librte_eal/linux/eal/eal_alarm.c
diff --git a/lib/librte_eal/linuxapp/eal/eal_cpuflags.c b/lib/librte_eal/linux/eal/eal_cpuflags.c
similarity index 100%
rename from lib/librte_eal/linuxapp/eal/eal_cpuflags.c
rename to lib/librte_eal/linux/eal/eal_cpuflags.c
diff --git a/lib/librte_eal/linuxapp/eal/eal_debug.c b/lib/librte_eal/linux/eal/eal_debug.c
similarity index 100%
rename from lib/librte_eal/linuxapp/eal/eal_debug.c
rename to lib/librte_eal/linux/eal/eal_debug.c
diff --git a/lib/librte_eal/linuxapp/eal/eal_dev.c b/lib/librte_eal/linux/eal/eal_dev.c
similarity index 100%
rename from lib/librte_eal/linuxapp/eal/eal_dev.c
rename to lib/librte_eal/linux/eal/eal_dev.c
diff --git a/lib/librte_eal/linuxapp/eal/eal_hugepage_info.c b/lib/librte_eal/linux/eal/eal_hugepage_info.c
similarity index 100%
rename from lib/librte_eal/linuxapp/eal/eal_hugepage_info.c
rename to lib/librte_eal/linux/eal/eal_hugepage_info.c
diff --git a/lib/librte_eal/linuxapp/eal/eal_interrupts.c b/lib/librte_eal/linux/eal/eal_interrupts.c
similarity index 100%
rename from lib/librte_eal/linuxapp/eal/eal_interrupts.c
rename to lib/librte_eal/linux/eal/eal_interrupts.c
diff --git a/lib/librte_eal/linuxapp/eal/eal_lcore.c b/lib/librte_eal/linux/eal/eal_lcore.c
similarity index 100%
rename from lib/librte_eal/linuxapp/eal/eal_lcore.c
rename to lib/librte_eal/linux/eal/eal_lcore.c
diff --git a/lib/librte_eal/linuxapp/eal/eal_log.c b/lib/librte_eal/linux/eal/eal_log.c
similarity index 100%
rename from lib/librte_eal/linuxapp/eal/eal_log.c
rename to lib/librte_eal/linux/eal/eal_log.c
diff --git a/lib/librte_eal/linuxapp/eal/eal_memalloc.c b/lib/librte_eal/linux/eal/eal_memalloc.c
similarity index 100%
rename from lib/librte_eal/linuxapp/eal/eal_memalloc.c
rename to lib/librte_eal/linux/eal/eal_memalloc.c
diff --git a/lib/librte_eal/linuxapp/eal/eal_memory.c b/lib/librte_eal/linux/eal/eal_memory.c
similarity index 100%
rename from lib/librte_eal/linuxapp/eal/eal_memory.c
rename to lib/librte_eal/linux/eal/eal_memory.c
diff --git a/lib/librte_eal/linuxapp/eal/eal_thread.c b/lib/librte_eal/linux/eal/eal_thread.c
similarity index 100%
rename from lib/librte_eal/linuxapp/eal/eal_thread.c
rename to lib/librte_eal/linux/eal/eal_thread.c
diff --git a/lib/librte_eal/linuxapp/eal/eal_timer.c b/lib/librte_eal/linux/eal/eal_timer.c
similarity index 100%
rename from lib/librte_eal/linuxapp/eal/eal_timer.c
rename to lib/librte_eal/linux/eal/eal_timer.c
diff --git a/lib/librte_eal/linuxapp/eal/eal_vfio.c b/lib/librte_eal/linux/eal/eal_vfio.c
similarity index 100%
rename from lib/librte_eal/linuxapp/eal/eal_vfio.c
rename to lib/librte_eal/linux/eal/eal_vfio.c
diff --git a/lib/librte_eal/linuxapp/eal/eal_vfio.h b/lib/librte_eal/linux/eal/eal_vfio.h
similarity index 100%
rename from lib/librte_eal/linuxapp/eal/eal_vfio.h
rename to lib/librte_eal/linux/eal/eal_vfio.h
diff --git a/lib/librte_eal/linuxapp/eal/eal_vfio_mp_sync.c b/lib/librte_eal/linux/eal/eal_vfio_mp_sync.c
similarity index 100%
rename from lib/librte_eal/linuxapp/eal/eal_vfio_mp_sync.c
rename to lib/librte_eal/linux/eal/eal_vfio_mp_sync.c
diff --git a/lib/librte_eal/linuxapp/eal/include/exec-env/rte_kni_common.h b/lib/librte_eal/linux/eal/include/exec-env/rte_kni_common.h
similarity index 100%
rename from lib/librte_eal/linuxapp/eal/include/exec-env/rte_kni_common.h
rename to lib/librte_eal/linux/eal/include/exec-env/rte_kni_common.h
diff --git a/lib/librte_eal/linuxapp/eal/meson.build b/lib/librte_eal/linux/eal/meson.build
similarity index 100%
rename from lib/librte_eal/linuxapp/eal/meson.build
rename to lib/librte_eal/linux/eal/meson.build
diff --git a/lib/librte_eal/meson.build b/lib/librte_eal/meson.build
index 4ae0efccb..cb8d1094f 100644
--- a/lib/librte_eal/meson.build
+++ b/lib/librte_eal/meson.build
@@ -11,7 +11,7 @@ subdir('common') # defines common_sources, common_objs, etc.
 # The <exec-env>/eal/meson.build file should define env_sources, etc.
 if host_machine.system() == 'linux'
 	dpdk_conf.set('RTE_EXEC_ENV_LINUXAPP', 1)
-	subdir('linuxapp/eal')
+	subdir('linux/eal')
 
 elif host_machine.system() == 'freebsd'
 	dpdk_conf.set('RTE_EXEC_ENV_BSDAPP', 1)
