// PID 1 ELF root. // // Built as a standalone aarch64-freestanding ET_EXEC (`pid1.elf`), // staged into the initramfs at `/sbin/init`. The kernel's // `kernel_process` locates that entry and hands its bytes to // `prepare_move_to_user_elf` — the same ELF path the exec-elf / // stackbomb / flibc test payloads already travel. // // The loader honours `e_entry` + `p_vaddr`, so section placement is the // linker script's job (`tools/pid1_linker.ld`, single PT_LOAD at // 0x100000) — no manual section pinning. use "kernel_tests" as tests use build_options const OK = "[ \x1b[32mOK\x1b[0m ] " const PID1_MSG [*:0]u8 = OK ++ "Reached target Userspace\n" const LOGIN_PATH [*:0]u8 = "/bin/login" // CI credential script. When the `ci-login-seed` build flag is set, // PID-1 injects these bytes into the console RX ring before exec'ing // /bin/login, so the real login path authenticates unattended under the boot // watchdog (no interactive typist on QEMU, which feeds `