#include "syscall.h" #include "traps.h" .code64 .section .text .global start start: lea init(%rip), %rdi lea argv(%rip), %rsi mov $SYS_exec, %rax syscall exit: mov $SYS_exit, %rax syscall jmp exit // The kernel's very first exec. /bin/init remains as the older, hardcoded // fork-a-shell process 1; /bin/schinit is the supervisor that replaced it and // reads its jobs from /etc/schinit. init: .string "/bin/schinit" .p2align 3 argv: .quad init .quad 0