From: Alexander Aring <alex.aring@gmail.com>
To: ptxdist@pengutronix.de
Cc: Alexander Aring <alex.aring@gmail.com>
Subject: [ptxdist] [PATCHv2] config: boardsetup: add nfs client specifications
Date: Mon, 25 Nov 2019 21:19:55 -0500 [thread overview]
Message-ID: <20191126021955.21475-1-alex.aring@gmail.com> (raw)
This patch adds additional client specifications for the nfsroot mount.
The default value is the same as it was hardcoded before. This offers to
change this line without maintaining the whole file in a separate BSP.
The client specifications is part of the official export format which is
set right after the directory which is exported, for more information
lookup:
https://linux.die.net/man/8/unfsd
Signed-off-by: Alexander Aring <alex.aring@gmail.com>
---
changes since v2:
s/client_specficiations/client_specificiations/
config/boardsetup/Kconfig | 17 +++++++++++++++++
scripts/lib/ptxd_make_nfsd.sh | 7 ++++++-
2 files changed, 23 insertions(+), 1 deletion(-)
diff --git a/config/boardsetup/Kconfig b/config/boardsetup/Kconfig
index 8ffa27224..2d3791807 100644
--- a/config/boardsetup/Kconfig
+++ b/config/boardsetup/Kconfig
@@ -39,6 +39,23 @@ config BOARDSETUP_NFSROOT_PATH
above given path is exported by nfs server. This field will be ignored
if you don't use nfsroot.
+config BOARDSETUP_NFSROOT_CLIENT_SPECIFICATIONS
+ string
+ prompt "nfsroot client specifications"
+ default "(rw,no_root_squash)"
+ help
+ Specify the list of client specifications for the nfsroot export.
+ Example: "1.2.3.4(rw) 192.168.2.0/24(ro,all_squash)"
+
+ Clients can be specified using either a hostname, an IP address, or an IP
+ network. Networks can be given by specifying the number of leading 1 bits
+ in the netmask or by giving the full netmask. If the hostname is empty, the
+ directory is exported to everyone.
+
+ Options can follow a client specification and have to be enclosed in
+ parenthesis, with the opening paren directly following the client name or
+ address. If no options are given, ro and root_squash are enabled by default.
+
config BOARDSETUP_TFTP_PATH
string
prompt "tftp path"
diff --git a/scripts/lib/ptxd_make_nfsd.sh b/scripts/lib/ptxd_make_nfsd.sh
index 0bc9c906b..c3e75edf7 100644
--- a/scripts/lib/ptxd_make_nfsd.sh
+++ b/scripts/lib/ptxd_make_nfsd.sh
@@ -8,6 +8,7 @@
ptxd_make_nfsd_exec() {
local port
+ local client_specificiations
local root="/$(basename "${ptx_nfsroot}")"
local base="$(dirname "${ptx_nfsroot}")"
@@ -15,11 +16,15 @@ ptxd_make_nfsd_exec() {
port=2049
fi
+ if ! client_specificiations="$(ptxd_get_kconfig "${PTXDIST_BOARDSETUP}" "PTXCONF_BOARDSETUP_NFSROOT_CLIENT_SPECIFICATIONS")"; then
+ client_specificiations="(rw,no_root_squash)"
+ fi
+
echo
echo "Mount rootfs with nfsroot=${root},v3,tcp,port=${port},mountport=${port}"
echo
- echo "/ (rw,no_root_squash)" > "${PTXDIST_TEMPDIR}/exports" &&
+ echo "/ ${client_specificiations}" > "${PTXDIST_TEMPDIR}/exports" &&
UNFS_BASE="${base}" unfsd -e "${PTXDIST_TEMPDIR}/exports" -n ${port} -m ${port} -p -d
}
export -f ptxd_make_nfsd_exec
--
2.20.1
_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
next reply other threads:[~2019-11-26 2:20 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-26 2:19 Alexander Aring [this message]
2019-11-26 7:27 ` Michael Olbrich
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191126021955.21475-1-alex.aring@gmail.com \
--to=alex.aring@gmail.com \
--cc=ptxdist@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox