summaryrefslogtreecommitdiffstats
path: root/initrd
diff options
context:
space:
mode:
authorJon Santmyer <jon@jonsantmyer.com>2024-03-11 21:40:28 -0400
committerJon Santmyer <jon@jonsantmyer.com>2024-03-11 21:40:28 -0400
commit50392995d6e7f3a10fb74bb2f9073a4790f8933c (patch)
treec89b067b3bacf35e092af5c31fb6e6a08921f31c /initrd
downloadjove-env-master.tar.gz
jove-env-master.tar.bz2
jove-env-master.zip
simple env with basic test init programHEADmaster
Diffstat (limited to 'initrd')
-rw-r--r--initrd/Makefile15
-rwxr-xr-xinitrd/archive/initbin0 -> 4352 bytes
-rw-r--r--initrd/programs/init/Makefile8
-rw-r--r--initrd/programs/init/main.c9
4 files changed, 32 insertions, 0 deletions
diff --git a/initrd/Makefile b/initrd/Makefile
new file mode 100644
index 0000000..66f3753
--- /dev/null
+++ b/initrd/Makefile
@@ -0,0 +1,15 @@
+ARCHIVEDIR := archive
+PROGRAMSDIR := programs
+FILESDIR := files
+
+PROGRAMDIRS := $(wildcard $(PROGRAMSDIR)/*)
+PROGRAMBINS := $(patsubst $(PROGRAMSDIR)/%,$(ARCHIVEDIR)/%,$(PROGRAMDIRS))
+
+OUT = initrd.tar
+
+all: ${PROGRAMBINS}
+ tar -cf $(OUT) -C $(ARCHIVEDIR) .
+
+.PHONY: $(ARCHIVEDIR)/%
+$(ARCHIVEDIR)/% : $(PROGRAMSDIR)/%
+ $(MAKE) -C $< OUT=../../$@ ABIDIR=$(ABIDIR)
diff --git a/initrd/archive/init b/initrd/archive/init
new file mode 100755
index 0000000..44e70d6
--- /dev/null
+++ b/initrd/archive/init
Binary files differ
diff --git a/initrd/programs/init/Makefile b/initrd/programs/init/Makefile
new file mode 100644
index 0000000..3a283de
--- /dev/null
+++ b/initrd/programs/init/Makefile
@@ -0,0 +1,8 @@
+CFILES := $(wildcard *.c)
+OFILES := $(patsubst %.c,%.o,$(CFILES))
+
+all: ${OFILES}
+ $(CC) $< -o $(OUT) -lc
+
+%.o : %.c
+ $(CC) -I$(ABIDIR) -g $(CFLAGS) -c $< -o $@
diff --git a/initrd/programs/init/main.c b/initrd/programs/init/main.c
new file mode 100644
index 0000000..870ad28
--- /dev/null
+++ b/initrd/programs/init/main.c
@@ -0,0 +1,9 @@
+#include "syscall.h"
+
+int
+main(int argc, char *argv[])
+{
+ _syscall_log("Hello, Userland!\n");
+ for(;;);
+ return 0;
+}