diff --git a/initrd/sys/config b/initrd/sys/config index fdd4fded..e197bfe0 100644 --- a/initrd/sys/config +++ b/initrd/sys/config @@ -1,3 +1,3 @@ screen=1024x768 kernel=boot/moon.elf -serial=1 \ No newline at end of file +verbose=1 \ No newline at end of file diff --git a/kernel/src/init/Init.cpp b/kernel/src/init/Init.cpp index 4bb9b343..2d485b5b 100644 --- a/kernel/src/init/Init.cpp +++ b/kernel/src/init/Init.cpp @@ -4,6 +4,7 @@ #include "cpu/CPU.h" #include "interrupts/Interrupts.h" #include "io/Serial.h" +#include "log/Log.h" #include "memory/RangeAllocator.h" #include "memory/VMM.h" #include "panic/hang.h" @@ -11,9 +12,10 @@ #include "rand/Mersenne.h" #include "render/Framebuffer.h" #include "render/TextRenderer.h" -#include +#include "std/string.h" extern BOOTBOOT bootboot; +extern "C" char environment[4096]; uintptr_t __stack_chk_guard = 0xfeff34; @@ -40,6 +42,13 @@ void Init::early_init() kernelPMM.init_from_mmap(); kernelVMM.init(); + if (strstr(environment, "quiet=1")) + { + KernelLog::toggle_log_level(LogLevel::DEBUG); + KernelLog::toggle_log_level(LogLevel::INFO); + } + else if (!strstr(environment, "verbose=1")) { KernelLog::toggle_log_level(LogLevel::DEBUG); } + Mersenne::init(); __stack_chk_guard = Mersenne::get();