apio
16b0531d42
All checks were successful
continuous-integration/drone/push Build is passing
init is now split into two parts: preinit, which lives in the initrd and prepares the root file system for init, and the actual /usr/bin/init, which lives in the root partition and starts services and reaps zombies. The kernel now looks for /bin/preinit instead of /bin/init as the executable for the init process. All configuration files in initrd/etc have been moved to base/etc. (The plan is to have only moon and preinit in the initrd.) Since the current Ext2 implementation is read-only (and it's on a CDROM so it would be read-only anyways), /home/selene is a tmpfs (as well as /tmp), to allow for a writable home directory. The system is slower now, but that's to expect since the Ext2 code doesn't use caching and the ATA code still uses PIO.
42 lines
1.3 KiB
CMake
42 lines
1.3 KiB
CMake
function(luna_app SOURCE_FILE APP_NAME)
|
|
add_executable(${APP_NAME} ${SOURCE_FILE})
|
|
target_compile_options(${APP_NAME} PRIVATE -Os ${COMMON_FLAGS} -Wno-write-strings)
|
|
add_dependencies(${APP_NAME} libc)
|
|
target_include_directories(${APP_NAME} PRIVATE ${LUNA_BASE}/usr/include)
|
|
target_link_libraries(${APP_NAME} PRIVATE os)
|
|
install(TARGETS ${APP_NAME} DESTINATION ${LUNA_BASE}/usr/bin)
|
|
endfunction()
|
|
|
|
add_executable(preinit preinit.cpp)
|
|
target_compile_options(preinit PRIVATE -Os ${COMMON_FLAGS} -Wno-write-strings)
|
|
add_dependencies(preinit libc)
|
|
target_include_directories(preinit PRIVATE ${LUNA_BASE}/usr/include)
|
|
install(TARGETS preinit DESTINATION ${LUNA_ROOT}/initrd/bin)
|
|
|
|
luna_app(init.cpp init)
|
|
luna_app(env.cpp env)
|
|
luna_app(su.cpp su)
|
|
luna_app(sh.cpp sh)
|
|
luna_app(cat.cpp cat)
|
|
luna_app(date.cpp date)
|
|
luna_app(edit.cpp edit)
|
|
luna_app(ls.cpp ls)
|
|
luna_app(chown.cpp chown)
|
|
luna_app(chmod.cpp chmod)
|
|
luna_app(mkdir.cpp mkdir)
|
|
luna_app(rm.cpp rm)
|
|
luna_app(stat.cpp stat)
|
|
luna_app(uname.cpp uname)
|
|
luna_app(base64.cpp base64)
|
|
luna_app(login.cpp login)
|
|
luna_app(ipc-test.cpp ipc-test)
|
|
luna_app(mount.cpp mount)
|
|
luna_app(umount.cpp umount)
|
|
luna_app(ps.cpp ps)
|
|
luna_app(time.cpp time)
|
|
luna_app(ln.cpp ln)
|
|
luna_app(mktemp.cpp mktemp)
|
|
luna_app(sysfuzz.cpp sysfuzz)
|
|
luna_app(pivot_root.cpp pivot_root)
|
|
luna_app(cp.cpp cp)
|