aboutsummaryrefslogtreecommitdiff
path: root/init
AgeCommit message (Collapse)Author
2005-04-16jfb2 writes in Bug 119:Mike Frysinger
The init applet will restart (re-exec) itsself when it receives a SIGHUP. However, just before it enters its main loop, it resets SIGHUP to either re-load the inittab (or ignore it if no inittab is used). Thus preventing the re-exec option from being triggerable. This patch adds a signal handler for SIGQUIT for init that always causes init to re-exec itsself (along with killing anything else that might be still running).
2004-10-08Hiroshi Ito writes:Eric Andersen
Hello, all. Busybox init does not handle removed inittab entry correctly. # I'm sorry about my poor english, but you can find # what I would like to say from patch, isn't it? even if you apply this path, when yoy try to change a command line option in inittab, you have to do following steps. 1. remove old line from initrd 2. send HUP signal to init 3. kill old proces which is invoked from init. 4. append new line to inittab 5. send HUP signal to init, again patch is against current CVS + last patch witch I send it last.
2004-10-08Hiroshi Ito writes:Eric Andersen
"kill -HUP 1" reloads inittab, and when I append one line to inittab and send HUP signal two times, It will starts 2 process. patch against current CVS is attached.
2004-10-08egor duda writes:Eric Andersen
Hi! I've created a patch to busybox' build system to allow building it in separate tree in a manner similar to kbuild from kernel version 2.6. That is, one runs command like 'make O=/build/some/where/for/specific/target/and/options' and everything is built in this exact directory, provided that it exists. I understand that applyingc such invasive changes during 'release candidates' stage of development is at best unwise. So, i'm currently asking for comments about this patch, starting from whether such thing is needed at all to whether it coded properly. 'make check' should work now, and one make creates Makefile in build directory, so one can run 'make' in build directory after that. One possible caveat is that if we build in some directory other than source one, the source directory should be 'distclean'ed first. egor
2004-08-27Quiet a few warningsEric Andersen
2004-08-16Do not use vfork, as init is not vfork safe. Do not allowEric Andersen
askfirst when mmuless.
2004-06-22Patch from Bastian Blank:Eric Andersen
On Sat, Jun 19, 2004 at 10:57:37PM +0200, Bastian Blank wrote: > The following patch changes klogd to use openlog/syslog themself > instead of calling syslog_msg which always calls the triple > openlog/syslog/closelog. Updated patch: get rid of syslog_msg entirely. Request from Erik Andersen. Bastian
2004-05-26As discussed, drop minit, which was not being supported in busybox.Eric Andersen
People wishing to use minit can obtain it and obtain support from http://www.fefe.de/minit/
2004-04-25Update my email address, document some of my tasks in the AUTHORS fileGlenn L McGrath
2004-04-12Silly meEric Andersen
2004-04-12As reported by Quy Tonthat, init has problems with inittab's thatEric Andersen
contain only actions sysinit/wait/once. It does not clean up zombies in that case.
2004-04-12Jamie Guinan writes:Eric Andersen
It looks like latest uClibc defines ARCH_HAS_MMU, but a few busybox files test UCLIBC_HAS_MMU, resulting in vfork() getting called instead of fork(), etc. Patch below. Only tested for lash. Cheers, -Jamie
2004-03-15Remove trailing whitespace. Update copyright to include 2004.Eric Andersen
2004-02-22Thomas Geulig, remove duplicate headerGlenn L McGrath
2003-10-22Andreas Mohr writes:Eric Andersen
the busybox menuconfig triggered my "inacceptable number of spelling mistakes" upper level, so I decided to make a patch ;-) I also improved some wording to describe some things in a better way. Many thanks for an incredible piece of software! Andreas Mohr, random OSS developer
2003-09-26Patch by Guillaume MorinGlenn L McGrath
Fix two race conditions, as described at. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=212764
2003-09-15comparison was always false due to limited range of data types.Eric Andersen
Carefully cast to unsigned long long prior to multiply to get the expected result.
2003-09-11Update definition of struct serial_struct, per linux-2.6.0-test5,Eric Andersen
to avoid stack corruption problems on some 64bit architectures when sizeof(void*) != sizeof(int). Thanks to Atsushi Nemoto for finding this problem.
2003-09-03more crond+crontab integrating with loginutil libbb functions and deletedGlenn L McGrath
patch from Thomas Gleixner to init. Viodz last_patch_108
2003-09-02move all "-/bin/sh" "/bin/sh" and "sh" to libbb/messages.c file as oneGlenn L McGrath
constant. Vodz last_patch_107
2003-08-26Fix overflow for machines greater than 4GB, return unsigned int to avoidGlenn L McGrath
a cast and for greater accuracy.
2003-07-29Yang Xiaopeng writes:Eric Andersen
>I'm sure that no user process use old root now, but when run "umount >/old_root", it says: > umount: /old_root: Device or resource busy > >I have tried to remount /proc within the new root *after* chroot, but >get the same result. > > I found the problem, I said that no user process use old root when run my scripts, but I'm wrong, actually there is a '3' fd open the file "/old_root/dev/console". By adding debug message in init/init.c, I found the problem: when init restart(in exec_signal()), before open the new terminal device, there is still a file opened(I don't know which file it is), so the terminal device(stdin) get fd '1', and the first dup(0)(stdout) return '2', the second(stderr) return '3'. I attach a simple patch to solve this problem.
2003-07-26Move start_stop_daemon to debianutils.Eric Andersen
Cleanup run_parts a bit and add long opts
2003-07-26cleanup and add long optionsEric Andersen
2003-07-26Patch from Thomas Gleixner to reap any zombie processes that areEric Andersen
reparented to init...
2003-07-22Several simplifications and indenting changes, perEric Andersen
last_patch97 from vodz
2003-07-22As vodz noticed, I screwed up rebootEric Andersen
2003-07-22Patch from Andrew Flegg:Eric Andersen
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.
2003-07-22Support reboot, halt, and poweroff independent of busybox init.Eric Andersen
Simplify and fixup some logic. -Erik
2003-07-22Remove remaining libc5 support codeEric Andersen
2003-07-14Update a bunch of docs. Run a script to update my email addr.Eric Andersen
2003-07-14Patch from Thomas Cameron:Eric Andersen
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.
2003-07-14Patch from Lars Kellogg-Stedman:Eric Andersen
The attached two patches add config documentation to init/Config.in and fileutils/Config.in.
2003-07-05oopsEric Andersen
2003-07-05Daniel writes:Eric Andersen
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.
2003-07-05Patch from Kent Robotti adding a bunch of needed docs!Eric Andersen
-Erik
2003-06-27Apply last_patch93 from vodz:Eric Andersen
andersen@busybox.net wrote: >Message: 4 >Modified Files: > init.c >Log Message: >Remove code for unsupported kernel versions Hmm. Current init.c have check >= 2.2.0 kernel one time too. Ok. Last patch removed this point and move common init code to new file for /init dir
2003-06-27Remove bdflush garbage, which is only relevant to unsupportedEric Andersen
kernel versions
2003-05-11minit, a Minimal init system.Glenn L McGrath
2003-04-24There have been many reports of init failing to reboot and/or failing to haltEric Andersen
over the years. Well I finally took the time to track this down. It turns out that inside linux/kernel/sys.c the kernel will call machine_halt(); do_exit(0); when halting, or will call machine_power_off(); do_exit(0); during a reboot. Unlike sysv init, we call reboot from within the init process, so if the call to machine_halt() or machine_power_off() returns, the call to do_exit(0) will cause the kernel to panic. Which is a very bad thing to happen. So I just added this little patch to fork and call the reboot syscall from within the forked child process, thereby neatly avoiding the problem. But IMHO, both calls to do_exit(0) within linux/kernel/sys.c are bugs and should be fixed. -Erik
2003-03-19Major coreutils update.Manuel Novoa III
2003-01-23Fix a silly compile error, thanks to a patch from Wen-chien Jesse SungEric Andersen
2003-01-13Correct some init issues, update email address, last_patch78 by VladimirGlenn L McGrath
N. Oleynik
2002-12-17Odd. I never brought this forward from bb.stable. Should handleEric Andersen
reaping child processes better. -Erik
2002-12-07include "busybox" after the libc includes tofix compile errorsGlenn L McGrath
2002-12-05Yet another major rework of the BusyBox config system, using the considerablyEric Andersen
modified Kbuild system I put into uClibc. With this, there should be no more need to modify Rules.mak since I've moved all the interesting options into the config system. I think I've got everything updated, but you never know, I may have made some mistakes, so watch closely. -Erik
2002-11-28Use error_msg instead of fprintf(stderrGlenn L McGrath
2002-11-11Move readlink, mktemp, run-parts and which to a new debianutils dir.Glenn L McGrath
2002-10-22I committed the fflush in the wrong spot. I should go to bedEric Andersen
earlier so I don't screw up such easy stuff. -Erik
2002-10-22Be absurdly careful about flushing stdout.Eric Andersen