* Fixed "du" so it gives the same answers as GNU "du" (busybox du used
to count hard-linked files more then once). Many thanks to
Friedrich Vedder <fwv@myrtle.lahn.de> for the fix.
- * Removed /proc dependancies for init and free (while maintaining exactly
- the same functionality). /proc takes up 90k of kernel space, so it is
- nice to avoid using it at all costs.
- * init no longer tries to mount /proc (unless there is less the 1 meg free).
- Use of /proc (or not) is policy that should be set up in /etc/fstab (or
- in hardcoded scripts), not in init.
+ * Removed /proc dependancies for init and free (while maintaining
+ exactly the same functionality). /proc takes up 90k of kernel
+ space, so it is nice to avoid using it at all costs.
+ * init no longer tries to mount /proc (unless there is less the 1 meg
+ free). Use of /proc (or not) is policy that should be set up in
+ /etc/fstab (or in hardcoded scripts), not in init.
+ * Fixed rebooting when init runs as an initrd.
-Erik Andersen
extern const char mtab_file[]; /* Defined in utility.c */
+
/* These functions are here because the getmntent functions do not appear
* to be re-entrant, which leads to all sorts of problems when we try to
* use them recursively - randolph
+ *
+ * TODO: Perhaps switch to using Glibc's getmntent_r
+ * -Erik
*/
void mtab_read(void)
{
extern const char mtab_file[]; /* Defined in utility.c */
+
/* These functions are here because the getmntent functions do not appear
* to be re-entrant, which leads to all sorts of problems when we try to
* use them recursively - randolph
+ *
+ * TODO: Perhaps switch to using Glibc's getmntent_r
+ * -Erik
*/
void mtab_read(void)
{
for (init_pid = 1; init_pid < 65536; init_pid++) {
FILE *status;
- sprintf(filename, "/proc/%d/status", init_pid);
+ sprintf(filename, "/proc/%d/cmdline", init_pid);
status = fopen(filename, "r");
if (!status) {
continue;
fgets(buffer, 256, status);
fclose(status);
- if ((strstr(buffer, "init\n") != NULL)) {
+ if ((strstr(buffer, "init") != NULL)) {
return init_pid;
}
}