main.rs 1007 B

1234567891011121314151617181920212223242526272829303132333435
  1. use pkg_compile_time::{pkg_compile_date, pkg_compile_time};
  2. use crate::log::{ConsoleLogBackend, logger};
  3. use crate::op::{makesure, once, seq};
  4. mod log;
  5. mod mount;
  6. mod env;
  7. mod repl;
  8. mod power;
  9. mod cfg;
  10. mod exec;
  11. mod op;
  12. mod swroot;
  13. mod swap;
  14. fn main() {
  15. let console_log_backend = Box::new(ConsoleLogBackend{});
  16. log::logger_init(console_log_backend);
  17. logger().info("main", "ELIP4NG initramfs mounted. This program named 'rumia' will process the pre-init phase.");
  18. logger().info("main",format!("this version has been compiled at {} {}", pkg_compile_date!(), pkg_compile_time!()).as_str());
  19. log::set_debug_mode_from_env();
  20. log::print_debug_mode();
  21. once::mount_sysfs();
  22. once::mount_proc();
  23. once::mount_temporary_devtmpfs();
  24. cfg::load_phase1();
  25. makesure::mkdir_p("/var/lock");
  26. repl::check_enter_pause_to_shell();
  27. seq::prepare();
  28. seq::fstab_mount();
  29. once::turn_on_swap();
  30. seq::new_env();
  31. seq::move_prepare_mount();
  32. swroot::switch_root();
  33. }