use pkg_compile_time::{pkg_compile_date, pkg_compile_time}; use crate::log::{ConsoleLogBackend, logger}; use crate::op::{makesure, once, seq}; mod log; mod mount; mod env; mod repl; mod power; mod cfg; mod exec; mod op; mod swroot; mod swap; fn main() { let console_log_backend = Box::new(ConsoleLogBackend{}); log::logger_init(console_log_backend); logger().info("main", "ELIP4NG initramfs mounted. This program named 'rumia' will process the pre-init phase."); logger().info("main",format!("this version has been compiled at {} {}", pkg_compile_date!(), pkg_compile_time!()).as_str()); log::set_debug_mode_from_env(); log::print_debug_mode(); once::mount_sysfs(); once::mount_proc(); once::mount_temporary_devtmpfs(); cfg::load_phase1(); makesure::mkdir_p("/var/lock"); repl::check_enter_pause_to_shell(); seq::prepare(); seq::fstab_mount(); once::turn_on_swap(); seq::new_env(); seq::move_prepare_mount(); swroot::switch_root(); }