diff --git a/Changelog b/Changelog index 3273e439..7345c50a 100644 --- a/Changelog +++ b/Changelog @@ -8,6 +8,7 @@ - use direct calls to set loopback instead of system("ifconfig") - replace system("cat") and system("dd") with C implementation - moved finit-mod and finit-alt helpers to helpers.c + - replace system("echo;cat") to draw shutdown splash with C calls 0.1 (20081214) - initial release diff --git a/finit-alt.c b/finit-alt.c index dc17ee00..6c3da8b6 100644 --- a/finit-alt.c +++ b/finit-alt.c @@ -316,9 +316,9 @@ int main() /* parent process */ - system(GETTY " &"); + system(GETTY "&"); sleep(1); - system("/usr/sbin/services.sh &> /dev/null &"); + system("/usr/sbin/services.sh &>/dev/null&"); while (1) { sigemptyset(&nmask); @@ -339,9 +339,9 @@ void do_shutdown(int sig) kill(-1, SIGTERM); - system("/bin/echo -e \"\033[?25l\033[30;40m\"; " - "/bin/cp /boot/shutdown.fb /dev/fb/0"); - sleep(1); + write(1, "\033[?25l\033[30;40m", 14); + copyfile("/boot/shutdown.fb", "/dev/fb/0"); + sleep(2); system("/usr/sbin/alsactl store > /dev/null 2>&1"); system("/sbin/hwclock --systohc --localtime" HWCLOCK_DIRECTISA); diff --git a/finit-mod.c b/finit-mod.c index c95b244e..89acd48b 100644 --- a/finit-mod.c +++ b/finit-mod.c @@ -37,6 +37,7 @@ Changelog from the original Eeepc fastinit: - Change /proc/acpi/sleep to /sys/power/state (by Metalshark) - Set loopback interface using direct calls instead of system("ifconfig") - Copy 4096 data block in C instead of system("cat") or system("dd") +- Draw shutdown splash screen using C calls instead of system("echo;cat") */ @@ -254,9 +255,9 @@ int main() /* parent process */ - system("/sbin/getty 38400 tty3 &"); + system("/sbin/getty 38400 tty3&"); sleep(1); - system("/usr/sbin/services.sh &> /dev/null &"); + system("/usr/sbin/services.sh &>/dev/null&"); while (1) { sigemptyset(&nmask); @@ -276,10 +277,9 @@ void do_shutdown(int sig) kill(-1, SIGTERM); - system("/bin/echo -e \"\033[?25l\033[30;40m\"; " - "/bin/cp /boot/shutdown.fb /dev/fb/0"); - sleep(1); - sleep(1); + write(1, "\033[?25l\033[30;40m", 14); + copyfile("/boot/shutdown.fb", "/dev/fb/0"); + sleep(2); system("/usr/sbin/alsactl store > /dev/null 2>&1"); system("/sbin/hwclock --systohc --localtime" HWCLOCK_DIRECTISA);