summaryrefslogtreecommitdiffstats
path: root/scripts/runqemu-export-rootfs
AgeCommit message (Collapse)Author
2022-11-29qemu-helper: depend on unfs3 and pseudo directlyAlexander Kanavin
The eliminates having to do extra steps (e.g. meta-ide-support) when booting an image with a nfs mount as rootfs - startng runqemu with a nfs mount starts to 'just work' after building an image. Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2022-11-29unfs: update 0.9.22 -> 0.10.0Alexander Kanavin
This is the first release in 13 years; I have reviewed the accumulated patches, and dropped some of them where purpose or issue being fixed is not clear. Specifically: 0001-Add-listen-action-for-a-tcp-socket.patch 0001-daemon.c-Libtirpc-porting-fixes.patch fixed upstream in https://github.com/unfs3/unfs3/commit/84ab475f93c0af437ece21770617603c508dee8c 0001-attr-fix-utime-for-symlink.patch addresses an open issue in https://github.com/unfs3/unfs3/issues/4 please rebase and re-submit as a PR if the problem is still present. alternate_rpc_ports.patch unnecessary as of https://git.yoctoproject.org/poky/commit/?id=6bb9860ef7ba9c84fe9bd3a81aa6555f67ebd38e Command line options introduced by the patch no longer used anywhere. fix_compile_warning.patch merged upstream. fix_pid_race_parent_writes_child_pid.patch rebased and re-submitted upstream. no-yywrap.patch dropped as backport. relative_max_socket_path_len.patch needs to be re-submitted by the original author, purpose and reproducer scenario unclear. rename_fh_cache.patch merged upstream. tcp_no_delay.patch purpose and use case for oe unclear. unfs3_parallel_build.patch fixed upstream in https://github.com/unfs3/unfs3/commit/987d32ca12222aeb48d46b4e1c9d39bab38ad431 https://github.com/unfs3/unfs3/commit/a39a78995ca8c6f8dd22da93dd60b4a1f8d32728 Drop -N option from oeqa nfs helper and runqemu helper; the option was provided by tcp_no_delay.patch and is not needed for the tests or qemu. Drop ad hoc libtirpc support; upstream supports it directly now. Drop the check for portmap/rpcbind, it is unnecessary as of https://git.yoctoproject.org/poky/commit/?id=6bb9860ef7ba9c84fe9bd3a81aa6555f67ebd38e Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2019-05-09meta/lib+scripts: Convert to SPDX license headersRichard Purdie
This adds SPDX license headers in place of the wide assortment of things currently in our script headers. We default to GPL-2.0-only except for the oeqa code where it was clearly submitted and marked as MIT on the most part or some scripts which had the "or later" GPL versioning. The patch also drops other obsolete bits of file headers where they were encoountered such as editor modelines, obsolete maintainer information or the phrase "All rights reserved" which is now obsolete and not required in copyright headers (in this case its actually confusing for licensing as all rights were not reserved). More work is needed for OE-Core but this takes care of the bulk of the scripts and meta/lib directories. The top level LICENSE files are tweaked to match the new structure and the SPDX naming. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-12runqemu-export-rootfs: don't change RPC portsCody P Schafer
RPC ports (also known as rpc program numbers) are values: - given to rpcbind (aka portmapper) to allow nfsv3 clients that don't know the tcp/udp port number of nfsd and mountd to look it up the tcp/udp port number, and to - allow a single transport (ie: tcp/udp port) to provide multiple sunrpc services. OE has carried patches to nfsutils & linux for some time to support the mountprog & nfsprog options. In the case of runqemu-export-rootfs, we don't need to use custom rpc program numbers because runqemu-export-rootfs tells unfsd not to register with the portmapper, and unfsd runs the nfs and mount rpc services on tcp/udp ports unfsd binds itself (iow: the tcp/udp ports are not shared in the sunrpc sense). Linux's nfs client does not query rpcbind when tcp/udp port numbers are specified (in net/sunrpc/clnt.c, call_bind checks for the tcp/udp port with xprt_bound() and skips the call to rpcbind if xprtsock.c's xs_setup_udp() or xs_setup_tcp() has found a non-zero tcp/udp port). The program numbers _are_ sent over the mount & nfs protocol (really, over sunrpc), and checked to match at both ends. As a result, even when rpcbind is unused, using different program numbers in unfsd vs linux nfs client causes mounts to fail (and nfsroot mounts to timeout). The result is that specifying custom program numbers in runqemu-export-rootfs doesn't solve any conflicts, it simply requires that users of runqemu-export-rootfs carry a kernel patch & adds 2 extra parameters to the kernel command line unnecessarily. Change runqemu-export-rootfs to use the default program numbers. For now, I have not dropped the custom program number patches to linux, nfs-utils, and unfsd just in case someone is using them in a non-runqemu-export-rootfs context. CC: Bruce Ashfield <bruce.ashfield@gmail.com> CC: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Cody P Schafer <dev@codyps.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-04-13oe-find-native-sysroot: work with RSSRobert Yang
The generic STAGING_DIR_NATIVE is gone since RSS, so when find OECORE_NATIVE_SYSROOT, the user has to specify which recipe's STAGING_DIR_NATIVE will be used as OECORE_NATIVE_SYSROOT. * The usage is changed from ". oe-find-native-sysroot" to ". oe-find-native-sysroot <recipe>". * The oe-run-native's usage has changed from "oe-run-native tool" to "oe-run-native native-recipe tool". Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23runqemu: support multiple qemus running when nfsRobert Yang
Fixed: * In build1: $ runqemu nfs qemux86-64 In build2: $ runqemu nfs qemux86-64 It would fail before since the port numerbs and conf files are conflicted, now make runqemu-export-rootfs work together with runqemu to fix the problem. * And we don't need export PSEUDO_LOCALSTATEDIR in runqemu, the runqemu-export-rootfs can handle it well based on NFS_EXPORT_DIR. * Remove "async" option from unfsd to fix warning in syslog: Warning: unknown exports option `async' ignored * Fixed typos Both slirp and tap can work. Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
2017-01-19runqemu-export-rootfs: fix inconsistent var namesRobert Yang
Fixed: $ runqemu nfs qemux86-64 [snip] On your target please remember to add the following options for NFS nfsroot=IP_ADDRESS:/path/to/nfsroot,nfsvers=3,port=,mountprog=,nfsprog=,udp,mountport= [snip] Note that the values are null, this is because their var names are inconsistent. [YOCTO #10519] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-10-29runqemu-export-rootfs: update location of unfsd binaryMaxin B. John
oe-core commit: 24b80d211f3808a0ffebee426932f11b8d4d46e0 sets sbindir = "${bindir}" in the nativesdk class. So, update the location of unfsd binary from "/usr/sbin" to "/usr/bin" in runqemu-export-rootfs. Also update unfs3-native to install unfsd under "bin" directory so the binary is always in the same location. [YOCTO #8315] Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-10-24Revert "runqemu-export-rootfs: update location of unfsd binary"Ross Burton
unfsd appears to be moving around and is in sbin for at least two different users, so revert the change to expect it in bin. This reverts commit e56bda210e216251c04d872211081a89ac06dde6. Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-09-28runqemu-export-rootfs: update location of unfsd binaryMaxin B. John
Update the location of unfsd binary from "/usr/sbin" to "/usr/bin" in runqemu-export-rootfs [YOCTO #8315] Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2014-02-20runqemu-export-rootfs: Fix missing # in commentSaul Wold
Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-28runqemu-export-rootfs: update for unfs3Jason Wessel
The unfs3 no longer has an rpc.mountd component. There is just a single server for mountd and nfsd requests. This means changing the name of the server in the scripts that check for it. [YOCTO #5639] Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2014-01-28runqemu: Use the newer unfs3 for serving user space nfsSaul Wold
This new version correctly handles the 64bit ext3 / ext4 issues we were seeing with the older unfs-server which did not handle 64bit file systems correctly, producing the duplicate cookies. [YOCTO #5639] Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-10-04runqemu: allow multiple unfs instances to run simultaneouslyScott Garman
A miscalculation in the way the port numbers of mountd and nfsd are created was causing conflicts when starting multiple instances of qemu using userspace nfs. Thanks to Rudolf Streif for proposing this fix! Fixes [YOCTO #1969] Signed-off-by: Scott Garman <scott.a.garman@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-04runqemu-export-rootfs: improve rpcbind error detectionScott Garman
mountd requires rpcbind or portmap. Check that one of these services is running before doing anything else, and report a user-friendly error when they are not found. Signed-off-by: Scott Garman <scott.a.garman@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-04runqemu-export-rootfs: use consistent whitespaceScott Garman
Signed-off-by: Scott Garman <scott.a.garman@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-28runqemu-export-rootfs and friends: don't put pseudo db in target fsPeter Seebach
In a few places, we have scripts which use <rootfs>/var/pseudo for the pseudo state directory controlling a given filesystem. This seems possibly risky because it means that stuff running under qemu or whatnot could wipe out the data being used to handle that rootfs. Move this to: <rootfs>/../$(basename_rootfs).pseudo_state to avoid problems. This also solves at least one case (not directly hit by yocto's tree) wherein you could end up trying to remove a rootfs while pseudo was using a database inside that rootfs, and thus the remove would fail. Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
2011-10-10Allow user mode NFS server to run without rpcbind / portmapJason Wessel
and nfsroot mount without the need to talk to an RPC info server as long as the port numbers for mountd and nfsd are known in advance. This patch updates the qemu startup scripts and the user mode NFS server to have the ability to start without the need to use rpcbind or portmap services. Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04runqemu-export-rootfs: Add HOW-TO for ubuntu 11.10 for rpcbind problemKhem Raj
The existing instruction to tackle RPC: Authentication error; why = Client credential too weak Are not applicable to ubuntu 11.10 especially Therefore add the magic needed for ubuntu 11.10 Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-02scripts: Show sensible warning messages if expected binaries don't existRichard Purdie
[YOCTO #1438] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23Use OECORE_DISTRO_VERSION instead of POKY_DISTRO_VERSIONOtavio Salvador
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2011-04-21Further cleanup of various poky referencesRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-04-21Rename ~/.poky-sdk/ temp workdir to ~/.runqemu-sdk/Richard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-04-20Rename the remaining poky-* scripts to oe-* or runqemu-*Richard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>