On Tue, Mar 30, 2021 at 10:17 PM Andrii Nakryiko <andrii.nakryiko@xxxxxxxxx> wrote: > > On Mon, Mar 29, 2021 at 6:46 AM KP Singh <kpsingh@xxxxxxxxxx> wrote: > > > > On Fri, Mar 26, 2021 at 5:48 AM Andrii Nakryiko > > <andrii.nakryiko@xxxxxxxxx> wrote: > > > > > > On Mon, Mar 22, 2021 at 6:47 PM KP Singh <kpsingh@xxxxxxxxxx> wrote: > > > > > > > > The newly introduced -s command line option starts an interactive shell. > > > > If a command is specified, the shell is started after the command > > > > finishes executing. It's useful to have a shell especially when > > > > debugging failing tests or developing new tests. > > > > > > > > Since the user may terminate the VM forcefully, an extra "sync" is added > > > > after the execution of the command to persist any logs from the command > > > > into the log file. > > > > > > > > Signed-off-by: KP Singh <kpsingh@xxxxxxxxxx> > > > > --- > > > > > > I run: > > > > > > ./vmtest.sh -s > > > > > > And I get test_progs executed, not bash. What do I do wrong?... > > > > It does not seem to happen for me [classic, works on my machine :P] > > > > tools/testing/selftests/bpf$ ./vmtest.sh -s > > [...] > > + /etc/rcS.d/S50-startup > > bash: cannot set terminal process group (84): Inappropriate ioctl for device > > bash: no job control in this shell > > [root@(none) /]# > > > > To help debug this: > > > > Can you check the contents of /etc/rcS.d/S50-startup on the image, > > here's what mine looks like: > > > > [root@(none) /]# cat /etc/rcS.d/S50-startup > > #!/bin/bash > > bash > > Couldn't do it, because it would only run test_progs, no matter which > command I specified (that didn't happen before, strange). E.g., > running `./vmtest.sh -- cat /etc/rcS.d/S50-startup` gives this: > > starting pid 83, tty '': '/etc/init.d/rcS' > [ 1.070838] random: fast init done > + for path in /etc/rcS.d/S* > + '[' -x /etc/rcS.d/S10-mount ']' > + /etc/rcS.d/S10-mount > + /bin/mount proc /proc -t proc > + /bin/mount devtmpfs /dev -t devtmpfs > mount: mounting devtmpfs on /dev failed: Resource busy > + true > + /bin/mount sysfs /sys -t sysfs > + /bin/mount bpffs /sys/fs/bpf -t bpf > + /bin/mount debugfs /sys/kernel/debug -t debugfs > + echo 'Listing currently mounted file systems' > Listing currently mounted file systems > + /bin/mount > /dev/root on / type ext4 (rw,relatime) > devtmpfs on /dev type devtmpfs > (rw,relatime,size=1004288k,nr_inodes=251072,mode=755) > proc on /proc type proc (rw,relatime) > sysfs on /sys type sysfs (rw,relatime) > none on /sys/fs/bpf type bpf (rw,relatime) > debugfs on /sys/kernel/debug type debugfs (rw,relatime) > + for path in /etc/rcS.d/S* > + '[' -x /etc/rcS.d/S40-network ']' > + /etc/rcS.d/S40-network > + ip link set lo up > + for path in /etc/rcS.d/S* > + '[' -x /etc/rcS.d/S50-startup ']' > + /etc/rcS.d/S50-startup > ./test_progs > > And there was a bunch of messages like this before kernel started: > > error: Macro %global is a built-in (%define) > error: Macro %global is a built-in (%define) > warning: file /etc/rpm/macros.perl: 2 invalid macro definitions > > Don't know if related. > > > > > 2. Also, can you delete the cache in the home directory > > (~/.bpf_selftests by default) and try again? > > > > But this solved the issue. So must be something in cached data. > I've applied it to bpf-next, thanks! > > > > > > > tools/testing/selftests/bpf/vmtest.sh | 39 +++++++++++++++++++-------- > > > > 1 file changed, 28 insertions(+), 11 deletions(-) > > > > > > > > > > [...]