mirror of
https://github.com/troglobit/finit.git
synced 2026-11-03 13:28:27 +00:00
Load plugins much earlier, for future banner plugin
This patch moves the plugin loader much earlier, making it possible to provide a custom banner/logo in a plugin. To facilitate this move we need to also move banner later and parsing of the kernel cmdline earlier, right after mouting /proc. Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
This commit is contained in:
1 parent
709e4230c8
commit
878885e2b2
2 files changed
+21
-19
No files matched your search
+20
-16
@@ -223,6 +223,7 @@ static void emergency_shell(void)
|
|||||||
|
|
||||||
int main(int argc, char* argv[])
|
int main(int argc, char* argv[])
|
||||||
{
|
{
|
||||||
|
int ret;
|
||||||
char *devfsd;
|
char *devfsd;
|
||||||
uev_ctx_t loop;
|
uev_ctx_t loop;
|
||||||
|
|
||||||
@@ -241,11 +242,6 @@ int main(int argc, char* argv[])
|
|||||||
*/
|
*/
|
||||||
emergency_shell();
|
emergency_shell();
|
||||||
|
|
||||||
/*
|
|
||||||
* Hello world.
|
|
||||||
*/
|
|
||||||
banner();
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Initial setup of signals, ignore all until we're up.
|
* Initial setup of signals, ignore all until we're up.
|
||||||
*/
|
*/
|
||||||
@@ -272,6 +268,25 @@ int main(int argc, char* argv[])
|
|||||||
if (fisdir("/proc/bus/usb"))
|
if (fisdir("/proc/bus/usb"))
|
||||||
mount("none", "/proc/bus/usb", "usbfs", 0, NULL);
|
mount("none", "/proc/bus/usb", "usbfs", 0, NULL);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Parse kernel parameters, including log_init()
|
||||||
|
*/
|
||||||
|
conf_parse_cmdline();
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Load plugins early, finit.conf may contain references to
|
||||||
|
* features implemented by plugins.
|
||||||
|
*/
|
||||||
|
ret = plugin_init(&loop, PLUGIN_PATH);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Hello world.
|
||||||
|
*/
|
||||||
|
banner();
|
||||||
|
|
||||||
|
/* Show results after banner() */
|
||||||
|
print(ret, "Loading plugins");
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Check file filesystems in /etc/fstab
|
* Check file filesystems in /etc/fstab
|
||||||
*/
|
*/
|
||||||
@@ -305,11 +320,6 @@ int main(int argc, char* argv[])
|
|||||||
mount("tmpfs", "/run", "tmpfs", MS_NODEV, "mode=0755,size=10%");
|
mount("tmpfs", "/run", "tmpfs", MS_NODEV, "mode=0755,size=10%");
|
||||||
umask(022);
|
umask(022);
|
||||||
|
|
||||||
/*
|
|
||||||
* Parse kernel parameters
|
|
||||||
*/
|
|
||||||
conf_parse_cmdline();
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Populate /dev and prepare for runtime events from kernel.
|
* Populate /dev and prepare for runtime events from kernel.
|
||||||
*/
|
*/
|
||||||
@@ -332,12 +342,6 @@ int main(int argc, char* argv[])
|
|||||||
run("udevadm settle --timeout=120");
|
run("udevadm settle --timeout=120");
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Load plugins first, finit.conf may contain references to
|
|
||||||
* features implemented by plugins.
|
|
||||||
*/
|
|
||||||
plugin_init(&loop, PLUGIN_PATH);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Parse /etc/finit.conf, main configuration file
|
* Parse /etc/finit.conf, main configuration file
|
||||||
*/
|
*/
|
||||||
|
|||||||
+1
-3
@@ -322,8 +322,6 @@ static int load_plugins(char *path)
|
|||||||
DIR *dp;
|
DIR *dp;
|
||||||
struct dirent *entry;
|
struct dirent *entry;
|
||||||
|
|
||||||
print_desc("Loading plugins", NULL);
|
|
||||||
|
|
||||||
dp = opendir(path);
|
dp = opendir(path);
|
||||||
if (!dp) {
|
if (!dp) {
|
||||||
_e("Failed, cannot open plugin directory %s: %s", path, strerror(errno));
|
_e("Failed, cannot open plugin directory %s: %s", path, strerror(errno));
|
||||||
@@ -358,7 +356,7 @@ int plugin_init(uev_ctx_t *ctx, char *path)
|
|||||||
if (!load_plugins(path))
|
if (!load_plugins(path))
|
||||||
fail = init_plugins(ctx);
|
fail = init_plugins(ctx);
|
||||||
|
|
||||||
return print_result(fail);
|
return fail;
|
||||||
}
|
}
|
||||||
|
|
||||||
void plugin_exit(void)
|
void plugin_exit(void)
|
||||||
|
|||||||
Reference in new issue
Block a user