mbox series

[v3,0/3] Support for D-Link DNS-320L

Message ID 20231006140511.3840643-1-enki@fsck.pl
Headers show
Series Support for D-Link DNS-320L | expand

Message

enki Oct. 6, 2023, 2:05 p.m. UTC
Hello,

This is a short patchset to support a D-Link DNS-320L NAS.
There are two device-specific packages which are required for proper
system management on the device as well as a out-of-tree DTS.
I am going to send it upstream when I learn more about device trees.
I have added myself as a maintainer to the DEVELOPERS file for all
relevant parts.

The packages have been checked with no issues detected:

➜  buildroot git:(master) ✗ utils/docker-run make check-package
389271 lines processed
0 warnings generated

An example boot log is presented below:
https://gist.github.com/enkiusz/482fab68ef7a630c8cfaad6f13f63919

The packages build successfully using test-pkg:

➜  buildroot git:(master) ✗ cat iniparser.config
BR2_PACKAGE_INIPARSER=y
➜  buildroot git:(master) ✗ utils/test-pkg --config iniparser.config -p iniparser
                    bootlin-armv5-uclibc [1/6]: OK
                     bootlin-armv7-glibc [2/6]: OK
                   bootlin-armv7m-uclibc [3/6]: OK
                     bootlin-x86-64-musl [4/6]: OK
                      br-arm-full-static [5/6]: OK
                            sourcery-arm [6/6]: OK
6 builds, 0 skipped, 0 build failed, 0 legal-info failed, 0 show-info failed
➜  buildroot git:(master) ✗

➜  buildroot git:(master) ✗ cat dns320l-daemon.config
BR2_PACKAGE_DNS320L_DAEMON=y
➜  buildroot git:(master) ✗ utils/test-pkg --config dns320l-daemon.config -p dns320l-daemon
                    bootlin-armv5-uclibc [1/6]: OK
                     bootlin-armv7-glibc [2/6]: OK
                   bootlin-armv7m-uclibc [3/6]: SKIPPED
                     bootlin-x86-64-musl [4/6]: OK
                      br-arm-full-static [5/6]: OK
                            sourcery-arm [6/6]: OK
6 builds, 1 skipped, 0 build failed, 0 legal-info failed, 0 show-info failed
➜  buildroot git:(master) ✗

---
changes v1 -> v2:
- don't build iniparser on the host
- properly handle building static and shared iniparser in all combos
- disable dns320l-daemon on platforms without fork()
- DNS-320L is manufactured by D-Link not Netgear, change commit summaries to reflect that

changes v2 -> v3:
- use SIGTERM to restart dns320l-daemon not to trigger a device poweroff when the daemon is restarted
- add a special 'poweroff' verb to the dns320l-daemon init script to trigger device poweroff
- patch the default dns320l-daemon configuration to listen on localhost only 

Maciej Grela (3):
  package/iniparser: new package
  package/dns320l-daemon: new package
  board/d-link/dns320l: new board

 DEVELOPERS                                    |   6 +
 board/d-link/dns320l/dts/kirkwood-dns320l.dts | 218 ++++++++++++++++++
 configs/dns320l_defconfig                     |  16 ++
 package/Config.in                             |   2 +
 .../0001-listen-on-localhost.patch            |  21 ++
 package/dns320l-daemon/Config.in              |   8 +
 package/dns320l-daemon/S50dns320l-daemon      |  42 ++++
 package/dns320l-daemon/dns320l-daemon.hash    |   1 +
 package/dns320l-daemon/dns320l-daemon.mk      |  32 +++
 package/iniparser/Config.in                   |   6 +
 package/iniparser/iniparser.hash              |   2 +
 package/iniparser/iniparser.mk                |  56 +++++
 12 files changed, 410 insertions(+)
 create mode 100644 board/d-link/dns320l/dts/kirkwood-dns320l.dts
 create mode 100644 configs/dns320l_defconfig
 create mode 100644 package/dns320l-daemon/0001-listen-on-localhost.patch
 create mode 100644 package/dns320l-daemon/Config.in
 create mode 100644 package/dns320l-daemon/S50dns320l-daemon
 create mode 100644 package/dns320l-daemon/dns320l-daemon.hash
 create mode 100644 package/dns320l-daemon/dns320l-daemon.mk
 create mode 100644 package/iniparser/Config.in
 create mode 100644 package/iniparser/iniparser.hash
 create mode 100644 package/iniparser/iniparser.mk