Here's a pretty crude patch to reload /etc/inittab when init receives a
SIGHUP. The mailing list archives weren't entirely clear on whether or
not it should already happen, but didn't appear to be.
The patch:
* Adds a new function, reload_signal() which just calls
parse_inittab() and run_actions(RESPAWN)
* Before entering the while (1) loop set up SIGHUP to call
reload_signal()
* Modify new_init_action to skip the action if the same command
already exists on the same terminal
This last bit means that changing already running entries is a bit
hairy as you can end up with, for example, two shells running on the
same virtual console. However, for solely adding/removing entries this patch
seems to work quite well.
Here's a bunch of fixes for the watchdog app in busybox. This does a
couple of things:
- configurable timer duration (userspace timer duration is
usually configurable within the device drivers themselves).
- run as a daemon
- shutdown the device properly on SIGINT or SIGHUP
- clear the counter immediately instead of sleeping first
as well as updating the usage information. This has also been switched
over to getopt to deal with the optional timer duration specifier.
The changes themselves are harmless and isolated, and I've veried that
this works on sh and x86 without any problems.
The current SC_x references automatically assume that everyone uses ttyS/tts
as their naming scheme for their serial ports. This isn't the case for quite
a few architectures, including sh, sh64, h8, arm, etc.
Hello all,
This patch adds more "Help" text to the config system. Almost
all applets now have a help entry. Also, I cleaned up the spacing of
the existing text so that things are consistent. This patch is against
this morning's CVS.
Thomas Cameron
CEI Systems, Inc.
Latest BusyBox from CVS (Jul 7 2003).
File coreutils/ls.c
"if" at line 970 should be enclosed in #ifdef CONFIG_FEATURE_LS_SORTFILES
"if" at line 976 should be enclosed in #ifdef CONFIG_FEATURE_LS_TIMESTAMPS
bb-tar "cjf" does not create a valid tbz2-archive -- if fact the result is a
plain tar-file (no compression) -- but does not warn about the unrecognized
parameter combination "cj" (bb does not have bzip2-compression yet, right?).
to fix this I have added an error message stating this does not work.
He also reported
cosmetic: versose "-v" does not show any output when used with "create"
which I have now fixed as well.
-Erik
I've found a problem with job control when the init process is restarted.
If the system boots for the first time, I get job control on a serial terminal -
no problems. However, when I restart init by issuing "init -q", then the shell
no longer has job control.
I traced this a problem in console_init in the file init.c. What was happening
after the restart is that the first compare
if (ioctl(0, TIOCGSERIAL, &sr) == 0) {
...
} else if (ioctl(0, VT_GETSTATE, &vt) == 0) {
...
} else {
... // assume /dev/console
}
returned error and subsequently the code assumes /dev/console as the console,
which does not support job control.
Checking the errno after the first call showed that the system was complaining
about the file descriptor. This is probably because the previous init process
had closed all its file descriptors which the new init process had inherited.
This patch fixes endian problems with get_netmask(). I don't know if
this is the cleanest solution, but it makes 'ipcalc -n' work on both
an i386 system and a ppc system.
He took a look into the recent reports of tar problems, and found an obvious
typo in last_patch91 from vodz which converted tar to use bb_getopt_ulflags.
Erik, et al.
The attached patch makes the following changes to networking/ifupdown.c:
(1) It swaps all calls to 'ip link set' and 'ip addr set'. This solves
two problems:
(a) Calling 'ip link set <dev> up' before assigning an address
generates an error message, and
(b) Under User Mode Linux, running in with ethernet interfaces
in daemon mode, the MAC address for an interface is selected
based on the IP address assigned to that interface. If the
interface is brought up before being assigned an IP address,
it gets a null MAC.
(2) It further cleans up run_mapping().
This patch is against ifupdown.c revision 1.25.
-- Lars