public inbox for buildroot@busybox.net
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v2 0/2] package/ndctl: new package
@ 2026-03-10  8:18 cp0613
  2026-03-10  8:18 ` [Buildroot] [PATCH v2 1/2] " cp0613
  2026-03-10  8:18 ` [Buildroot] [PATCH v2 2/2] DEVELOPERS: Add Chen Pei to ndctl cp0613
  0 siblings, 2 replies; 6+ messages in thread
From: cp0613 @ 2026-03-10  8:18 UTC (permalink / raw)
  To: buildroot; +Cc: ju.o, Chen Pei

From: Chen Pei <cp0613@linux.alibaba.com>

ndctl is a userspace utility for managing persistent memory (PMEM) and
NVDIMM devices on Linux, enabling configuration and monitoring of
namespaces, regions, and health status.

Adding ndctl to Buildroot allows embedded or server systems with PMEM
hardware to manage persistent memory directly on the target device in
a lightweight, self-contained manner.

I have submitted a patch to upstream regarding the issue caused by
disabling fwctl and keyutils. Currently, considering they will actually
be used, I've decided to always pass -Dfwctl=enabled -Dkeyutils=enabled
in Buildroot.

Finally, since docker services are currently unavailable in my region,
I did not use test-pkg. Please point out any issues, thank you.

Changes in v2:
 - Remove dependency BR2_LINUX_KERNEL, host-meson and host-ninja
 - Add BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_16 for __struct_group
 - Add invisible comments
 - Keep libtracefs optional
 - Sort all rows with "select BR2_PACKAGE_" and "_DEPENDENCIES" in alphabetical order
 - Update _LICENSE and _LICENSE_FILES
 - Add the missing dependency "udev"
 - Use $(STAGING_DIR) instead of $(TARGET_DIR)

Chen Pei (2):
  package/ndctl: new package
  DEVELOPERS: Add Chen Pei to ndctl

 DEVELOPERS               |  1 +
 package/Config.in        |  1 +
 package/ndctl/Config.in  | 25 ++++++++++++++++++++
 package/ndctl/ndctl.hash |  7 ++++++
 package/ndctl/ndctl.mk   | 51 ++++++++++++++++++++++++++++++++++++++++
 5 files changed, 85 insertions(+)
 create mode 100644 package/ndctl/Config.in
 create mode 100644 package/ndctl/ndctl.hash
 create mode 100644 package/ndctl/ndctl.mk

-- 
2.50.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Buildroot] [PATCH v2 1/2] package/ndctl: new package
  2026-03-10  8:18 [Buildroot] [PATCH v2 0/2] package/ndctl: new package cp0613
@ 2026-03-10  8:18 ` cp0613
  2026-03-19 20:51   ` Julien Olivain via buildroot
  2026-03-10  8:18 ` [Buildroot] [PATCH v2 2/2] DEVELOPERS: Add Chen Pei to ndctl cp0613
  1 sibling, 1 reply; 6+ messages in thread
From: cp0613 @ 2026-03-10  8:18 UTC (permalink / raw)
  To: buildroot; +Cc: ju.o, Chen Pei

From: Chen Pei <cp0613@linux.alibaba.com>

A "device memory" enabling project encompassing tools and
libraries for CXL, NVDIMMs, DAX, memory tiering and other
platform memory device topics.

Signed-off-by: Chen Pei <cp0613@linux.alibaba.com>
---
 package/Config.in        |  1 +
 package/ndctl/Config.in  | 25 ++++++++++++++++++++
 package/ndctl/ndctl.hash |  7 ++++++
 package/ndctl/ndctl.mk   | 51 ++++++++++++++++++++++++++++++++++++++++
 4 files changed, 84 insertions(+)
 create mode 100644 package/ndctl/Config.in
 create mode 100644 package/ndctl/ndctl.hash
 create mode 100644 package/ndctl/ndctl.mk

diff --git a/package/Config.in b/package/Config.in
index fab482c52f..d56b882db5 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -2836,6 +2836,7 @@ menu "System tools"
 	source "package/monit/Config.in"
 	source "package/multipath-tools/Config.in"
 	source "package/ncdu/Config.in"
+	source "package/ndctl/Config.in"
 	source "package/nerdctl/Config.in"
 	source "package/netifrc/Config.in"
 	source "package/numactl/Config.in"
diff --git a/package/ndctl/Config.in b/package/ndctl/Config.in
new file mode 100644
index 0000000000..ef7cec6962
--- /dev/null
+++ b/package/ndctl/Config.in
@@ -0,0 +1,25 @@
+config BR2_PACKAGE_NDCTL
+	bool "ndctl"
+	depends on BR2_PACKAGE_HAS_UDEV
+	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_16
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+	depends on BR2_USE_MMU
+	select BR2_PACKAGE_INIPARSER
+	select BR2_PACKAGE_JSON_C
+	select BR2_PACKAGE_KEYUTILS
+	select BR2_PACKAGE_KMOD
+	select BR2_PACKAGE_UTIL_LINUX
+	select BR2_PACKAGE_UTIL_LINUX_LIBS
+	select BR2_PACKAGE_UTIL_LINUX_LIBUUID
+	help
+	  A "device memory" enabling project encompassing tools and
+	  libraries for CXL, NVDIMMs, DAX, memory tiering and other
+	  platform memory device topics.
+
+	  https://github.com/pmem/ndctl
+
+comment "ndctl needs udev /dev management, a toolchain headers >= 5.16"
+	depends on BR2_USE_MMU
+	depends on !BR2_PACKAGE_HAS_UDEV \
+		|| !BR2_TOOLCHAIN_HAS_THREADS \
+		|| !BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_16
diff --git a/package/ndctl/ndctl.hash b/package/ndctl/ndctl.hash
new file mode 100644
index 0000000000..f731fb7263
--- /dev/null
+++ b/package/ndctl/ndctl.hash
@@ -0,0 +1,7 @@
+# locally computed
+sha256  dd4b9b9a9dc0a15e980670b6f889e910a80ad60f2309e03bfd9cc6071d14dd30  ndctl-83.tar.gz
+sha256  1334f22048052d69647860fe9fb24997dc3b33737cb494297d68949f589fa1cf  COPYING
+sha256  5c37e41135091a39821cfb306ad8516625b0bb49510ce56ad85c347bbc46df29  LICENSES/other/CC0-1.0
+sha256  89807acf2309bd285f033404ee78581602f3cd9b819a16ac2f0e5f60ff4a473e  LICENSES/other/MIT
+sha256  ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6  LICENSES/preferred/GPL-2.0
+sha256  9397d01be0ec93d29384447ba18e532ab7b01af8c8b582ece9f10ad45b9568db  LICENSES/preferred/LGPL-2.1
diff --git a/package/ndctl/ndctl.mk b/package/ndctl/ndctl.mk
new file mode 100644
index 0000000000..2f631c946c
--- /dev/null
+++ b/package/ndctl/ndctl.mk
@@ -0,0 +1,51 @@
+################################################################################
+#
+# ndctl
+#
+################################################################################
+
+NDCTL_VERSION = 83
+NDCTL_SITE = $(call github,pmem,ndctl,v$(NDCTL_VERSION))
+NDCTL_LICENSE = \
+	CC0-1.0 (helper routines), \
+	GPL-2.0+ (tools), \
+	LGPL-2.1+ (libraries), \
+	MIT (helper routines)
+NDCTL_LICENSE_FILES = \
+	COPYING \
+	LICENSES/other/CC0-1.0 \
+	LICENSES/other/MIT \
+	LICENSES/preferred/GPL-2.0 \
+	LICENSES/preferred/LGPL-2.1
+
+NDCTL_DEPENDENCIES = \
+	iniparser \
+	json-c \
+	keyutils \
+	kmod \
+	udev \
+	util-linux-libs
+
+# Currently, disabling keyutils or fwctl support will cause builds to
+# fail. Therefore, always pass the -Dfwctl=enabled and -Dkeyutils=enabled.
+NDCTL_CONF_OPTS = \
+	-Ddocs=disabled \
+	-Dfwctl=enabled \
+	-Dkeyutils=enabled \
+	-Diniparserdir=$(STAGING_DIR)/usr/include/iniparser
+
+ifeq ($(BR2_PACKAGE_SYSTEMD),y)
+NDCTL_CONF_OPTS += -Dsystemd=enabled
+NDCTL_DEPENDENCIES += systemd
+else
+NDCTL_CONF_OPTS += -Dsystemd=disabled
+endif
+
+ifeq ($(BR2_PACKAGE_LIBTRACEFS)$(BR2_PACKAGE_LIBTRACEEVENT),yy)
+NDCTL_CONF_OPTS += -Dlibtracefs=enabled
+NDCTL_DEPENDENCIES += libtraceevent libtracefs
+else
+NDCTL_CONF_OPTS += -Dlibtracefs=disabled
+endif
+
+$(eval $(meson-package))
-- 
2.50.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [Buildroot] [PATCH v2 2/2] DEVELOPERS: Add Chen Pei to ndctl
  2026-03-10  8:18 [Buildroot] [PATCH v2 0/2] package/ndctl: new package cp0613
  2026-03-10  8:18 ` [Buildroot] [PATCH v2 1/2] " cp0613
@ 2026-03-10  8:18 ` cp0613
  1 sibling, 0 replies; 6+ messages in thread
From: cp0613 @ 2026-03-10  8:18 UTC (permalink / raw)
  To: buildroot; +Cc: ju.o, Chen Pei

From: Chen Pei <cp0613@linux.alibaba.com>

Signed-off-by: Chen Pei <cp0613@linux.alibaba.com>
---
 DEVELOPERS | 1 +
 1 file changed, 1 insertion(+)

diff --git a/DEVELOPERS b/DEVELOPERS
index 106510ea84..0513a50531 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -612,6 +612,7 @@ F:	package/qoriq-cadence-dp-firmware/
 
 N:	Chen Pei <cp0613@linux.alibaba.com>
 F:	package/iniparser/
+F:	package/ndctl/
 
 N:	Chris Packham <judge.packham@gmail.com>
 F:	package/coremark/
-- 
2.50.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [Buildroot] [PATCH v2 1/2] package/ndctl: new package
  2026-03-10  8:18 ` [Buildroot] [PATCH v2 1/2] " cp0613
@ 2026-03-19 20:51   ` Julien Olivain via buildroot
  2026-03-27 12:57     ` cp0613
  0 siblings, 1 reply; 6+ messages in thread
From: Julien Olivain via buildroot @ 2026-03-19 20:51 UTC (permalink / raw)
  To: cp0613; +Cc: buildroot

On 10/03/2026 09:18, cp0613@linux.alibaba.com wrote:
> From: Chen Pei <cp0613@linux.alibaba.com>
> 
> A "device memory" enabling project encompassing tools and
> libraries for CXL, NVDIMMs, DAX, memory tiering and other
> platform memory device topics.
> 
> Signed-off-by: Chen Pei <cp0613@linux.alibaba.com>

Applied to master, thanks. For info, I relaxed the minimal
toolchains headers to 5.10. Looking a bit more into this,
I realized this was backported to 5.10 and 5.15.
See:
https://gitlab.com/buildroot.org/buildroot/-/commit/039c1ae13ec12f7cebddf86f37080d0a1fee28e6

Doing this review, I also saw that a new v84 version was
also released, in case you would like to update:
https://github.com/pmem/ndctl/releases/tag/v84

Best regards,

Julien.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Buildroot] [PATCH v2 1/2] package/ndctl: new package
  2026-03-19 20:51   ` Julien Olivain via buildroot
@ 2026-03-27 12:57     ` cp0613
  2026-03-27 18:34       ` Julien Olivain via buildroot
  0 siblings, 1 reply; 6+ messages in thread
From: cp0613 @ 2026-03-27 12:57 UTC (permalink / raw)
  To: ju.o; +Cc: buildroot

On Thu, 19 Mar 2026 21:51:18 +0100, ju.o@free.fr wrote:

> > From: Chen Pei <cp0613@linux.alibaba.com>
> > 
> > A "device memory" enabling project encompassing tools and
> > libraries for CXL, NVDIMMs, DAX, memory tiering and other
> > platform memory device topics.
> > 
> > Signed-off-by: Chen Pei <cp0613@linux.alibaba.com>
> 
> Applied to master, thanks. For info, I relaxed the minimal
> toolchains headers to 5.10. Looking a bit more into this,
> I realized this was backported to 5.10 and 5.15.
> See:
> https://gitlab.com/buildroot.org/buildroot/-/commit/039c1ae13ec12f7cebddf86f37080d0a1fee28e6
> 
> Doing this review, I also saw that a new v84 version was
> also released, in case you would like to update:
> https://github.com/pmem/ndctl/releases/tag/v84

Hi, Julien,

Thank you for your review and help. I did notice that a new v84 version was
also released. However, I will wait for the next version (which should be
v85) to be released before updating. I have already fixed the upstream bug
in ndctl that you found during my code review, and it has been merged. See:
https://github.com/pmem/ndctl/tree/pending

Thanks,
Pei

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Buildroot] [PATCH v2 1/2] package/ndctl: new package
  2026-03-27 12:57     ` cp0613
@ 2026-03-27 18:34       ` Julien Olivain via buildroot
  0 siblings, 0 replies; 6+ messages in thread
From: Julien Olivain via buildroot @ 2026-03-27 18:34 UTC (permalink / raw)
  To: cp0613; +Cc: buildroot

Hi Pei,

On 27/03/2026 13:57, cp0613@linux.alibaba.com wrote:
> On Thu, 19 Mar 2026 21:51:18 +0100, ju.o@free.fr wrote:
> 
>> > From: Chen Pei <cp0613@linux.alibaba.com>
>> >
>> > A "device memory" enabling project encompassing tools and
>> > libraries for CXL, NVDIMMs, DAX, memory tiering and other
>> > platform memory device topics.
>> >
>> > Signed-off-by: Chen Pei <cp0613@linux.alibaba.com>
>> 
>> Applied to master, thanks. For info, I relaxed the minimal
>> toolchains headers to 5.10. Looking a bit more into this,
>> I realized this was backported to 5.10 and 5.15.
>> See:
>> https://gitlab.com/buildroot.org/buildroot/-/commit/039c1ae13ec12f7cebddf86f37080d0a1fee28e6
>> 
>> Doing this review, I also saw that a new v84 version was
>> also released, in case you would like to update:
>> https://github.com/pmem/ndctl/releases/tag/v84
> 
> Hi, Julien,
> 
> Thank you for your review and help. I did notice that a new v84 version 
> was
> also released. However, I will wait for the next version (which should 
> be
> v85) to be released before updating. I have already fixed the upstream 
> bug
> in ndctl that you found during my code review, and it has been merged. 
> See:
> https://github.com/pmem/ndctl/tree/pending

Thanks for the heads up.  We'll wait for the v85, then.

> Thanks,
> Pei

Best regards,

Julien.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-03-27 18:34 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-10  8:18 [Buildroot] [PATCH v2 0/2] package/ndctl: new package cp0613
2026-03-10  8:18 ` [Buildroot] [PATCH v2 1/2] " cp0613
2026-03-19 20:51   ` Julien Olivain via buildroot
2026-03-27 12:57     ` cp0613
2026-03-27 18:34       ` Julien Olivain via buildroot
2026-03-10  8:18 ` [Buildroot] [PATCH v2 2/2] DEVELOPERS: Add Chen Pei to ndctl cp0613

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox