torture: Update initrd documentation
The rcu-test-image.txt documentation covers a very uncommon case where a real userspace environment is required. However, someone reading this document might reasonably conclude that this is in fact a prerequisite. In addition, the initrd.txt file mentions dracut, which is no longer used. This commit therefore provides the needed updates. Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
This commit is contained in:
Родитель
afcdf2319d
Коммит
33595581f5
|
@ -1,12 +1,11 @@
|
|||
The rcutorture scripting tools automatically create the needed initrd
|
||||
directory using dracut. Failing that, this tool will create an initrd
|
||||
containing a single statically linked binary named "init" that loops
|
||||
over a very long sleep() call. In both cases, this creation is done
|
||||
by tools/testing/selftests/rcutorture/bin/mkinitrd.sh.
|
||||
The rcutorture scripting tools automatically create an initrd containing
|
||||
a single statically linked binary named "init" that loops over a
|
||||
very long sleep() call. In both cases, this creation is done by
|
||||
tools/testing/selftests/rcutorture/bin/mkinitrd.sh.
|
||||
|
||||
However, if you are attempting to run rcutorture on a system that does
|
||||
not have dracut installed, and if you don't like the notion of static
|
||||
linking, you might wish to press an existing initrd into service:
|
||||
However, if you don't like the notion of statically linked bare-bones
|
||||
userspace environments, you might wish to press an existing initrd
|
||||
into service:
|
||||
|
||||
------------------------------------------------------------------------
|
||||
cd tools/testing/selftests/rcutorture
|
||||
|
@ -15,24 +14,3 @@ mkdir initrd
|
|||
cd initrd
|
||||
cpio -id < /tmp/initrd.img.zcat
|
||||
# Manually verify that initrd contains needed binaries and libraries.
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Interestingly enough, if you are running rcutorture, you don't really
|
||||
need userspace in many cases. Running without userspace has the
|
||||
advantage of allowing you to test your kernel independently of the
|
||||
distro in place, the root-filesystem layout, and so on. To make this
|
||||
happen, put the following script in the initrd's tree's "/init" file,
|
||||
with 0755 mode.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
#!/bin/sh
|
||||
|
||||
while :
|
||||
do
|
||||
sleep 10
|
||||
done
|
||||
------------------------------------------------------------------------
|
||||
|
||||
This approach also allows most of the binaries and libraries in the
|
||||
initrd filesystem to be dispensed with, which can save significant
|
||||
space in rcutorture's "res" directory.
|
||||
|
|
|
@ -1,8 +1,33 @@
|
|||
This document describes one way to create the rcu-test-image file
|
||||
that contains the filesystem used by the guest-OS kernel. There are
|
||||
probably much better ways of doing this, and this filesystem could no
|
||||
doubt be smaller. It is probably also possible to simply download
|
||||
an appropriate image from any number of places.
|
||||
Normally, a minimal initrd is created automatically by the rcutorture
|
||||
scripting. But minimal really does mean "minimal", namely just a single
|
||||
root directory with a single statically linked executable named "init":
|
||||
|
||||
$ size tools/testing/selftests/rcutorture/initrd/init
|
||||
text data bss dec hex filename
|
||||
328 0 8 336 150 tools/testing/selftests/rcutorture/initrd/init
|
||||
|
||||
Suppose you need to run some scripts, perhaps to monitor or control
|
||||
some aspect of the rcutorture testing. This will require a more fully
|
||||
filled-out userspace, perhaps containing libraries, executables for
|
||||
the shell and other utilities, and soforth. In that case, place your
|
||||
desired filesystem here:
|
||||
|
||||
tools/testing/selftests/rcutorture/initrd
|
||||
|
||||
For example, your tools/testing/selftests/rcutorture/initrd/init might
|
||||
be a script that does any needed mount operations and starts whatever
|
||||
scripts need starting to properly monitor or control your testing.
|
||||
The next rcutorture build will then incorporate this filesystem into
|
||||
the kernel image that is passed to qemu.
|
||||
|
||||
Or maybe you need a real root filesystem for some reason, in which case
|
||||
please read on!
|
||||
|
||||
The remainder of this document describes one way to create the
|
||||
rcu-test-image file that contains the filesystem used by the guest-OS
|
||||
kernel. There are probably much better ways of doing this, and this
|
||||
filesystem could no doubt be smaller. It is probably also possible to
|
||||
simply download an appropriate image from any number of places.
|
||||
|
||||
That said, here are the commands:
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче