[Toybox] pull: fix modprobe, login, switch_root, improve init, reboot

Rob Landley rob at landley.net
Fri Oct 2 10:03:39 PDT 2015


On 10/02/2015 10:00 AM, Isaac Dunham wrote:
> On Fri, Oct 02, 2015 at 06:26:09AM -0500, Rob Landley wrote:
>> What I really need for this is _test_cases_. Preferably ones I can
>> reproduce in an automated fashion under qemu.
> <snip>
>> There's a lot of bits to fit together here. I'll probably need a "make
>> test_image" target in toybox that does a build and creates an
>> appropraite squashfs to act as the build control imamge for aboriginal
>> to run the test in a known root environment. And stuff on the aboriginal
>> side to build a modular kernel with some modules I can have insmod and
>> modprobe try to use, and maybe doing that can trigger hotplug events for
>> mdev tests...
> 
> I think to have modprobe trigger hotplug events that load more modules,
> you'll need to have modular drivers for controllers and hard drives/CDs.
> (Note that most distro kernels already use such a config.)
> 
> In this case, if you want to have the hard drive accessible, you will also
> need to load modules on coldplug.
> Typically, mdev-based scripts will either look for /sys/.../modalias
> or grep for MODALIAS= in uevent.

The test script call call modprobe manually to kick off a first thing.

> [in the context of long running processes]
>> Rich Felker wrote:
>>> Isaac Dunham wrote:
>>>> Agreed. But then, wouldn't xrun() also be the wrong thing?
>>> Why?
> If I'm not mistaken, xfork() and XVFORK() will perror_exit on failure.

Yes, that's the x part.

> This results in a fork-bomb killing a long-running hotplug helper.

Which is why you can setjmp(toys.rebound) and xexit() will longjmp() to
that instead of exiting.

The infrastructure may need some adjustment, and I may need to audit to
make sure there's no missing cleanup (mallocs without free and unclosed
filehandles are most likely) on the paths these things call, but in
theory there's a way to do it.

Rob

 1443805419.0


More information about the Toybox mailing list