From 51c39c73692e755596eafb0d6f732581fee3ba98 Mon Sep 17 00:00:00 2001
From: dzwdz
Date: Sat, 25 Feb 2023 19:18:33 +0100
Subject: merge the initrd and sysroot directories

---
 Makefile                                |   4 ++--
 initrd/1.txt                            |   1 -
 initrd/2.txt                            |   1 -
 initrd/Users/dzwdz/private/secrets.txt  |   2 --
 initrd/Users/dzwdz/public/stuff.txt     |   2 --
 initrd/arp.ether                        | Bin 64 -> 0 bytes
 initrd/bin/sh/catall                    |  19 -------------------
 initrd/bin/sh/halt                      |   2 --
 initrd/bin/sh/mkuser                    |   7 -------
 initrd/dir/3.txt                        |   1 -
 initrd/dir/4                            |   0
 initrd/dir/5                            |   0
 initrd/long.txt                         |   7 -------
 sysroot/Users/dzwdz/private/secrets.txt |   2 ++
 sysroot/Users/dzwdz/public/stuff.txt    |   2 ++
 sysroot/bin/sh/fib                      |  10 ++++++++++
 sysroot/bin/sh/halt                     |   2 ++
 sysroot/bin/sh/mkuser                   |   7 +++++++
 sysroot/usr/arp.ether                   | Bin 0 -> 64 bytes
 sysroot/usr/long.txt                    |   7 +++++++
 20 files changed, 32 insertions(+), 44 deletions(-)
 delete mode 100644 initrd/1.txt
 delete mode 100644 initrd/2.txt
 delete mode 100644 initrd/Users/dzwdz/private/secrets.txt
 delete mode 100644 initrd/Users/dzwdz/public/stuff.txt
 delete mode 100644 initrd/arp.ether
 delete mode 100644 initrd/bin/sh/catall
 delete mode 100644 initrd/bin/sh/halt
 delete mode 100644 initrd/bin/sh/mkuser
 delete mode 100644 initrd/dir/3.txt
 delete mode 100644 initrd/dir/4
 delete mode 100644 initrd/dir/5
 delete mode 100644 initrd/long.txt
 create mode 100644 sysroot/Users/dzwdz/private/secrets.txt
 create mode 100644 sysroot/Users/dzwdz/public/stuff.txt
 create mode 100644 sysroot/bin/sh/fib
 create mode 100644 sysroot/bin/sh/halt
 create mode 100644 sysroot/bin/sh/mkuser
 create mode 100644 sysroot/usr/arp.ether
 create mode 100644 sysroot/usr/long.txt

diff --git a/Makefile b/Makefile
index 003343e..af881e9 100644
--- a/Makefile
+++ b/Makefile
@@ -118,14 +118,14 @@ $(foreach bin,$(USERBINS),$(eval $(call userbin_template,$(bin))))
 out/obj/user/app/ext2fs/ext2/example.c.o:
 	@touch $@
 
-out/initrd/%: initrd/%
+out/initrd/%: sysroot/%
 	@mkdir -p $(@D)
 	@cp $< $@
 
 out/initrd/font.psf:
 	curl -L https://github.com/legionus/kbd/raw/master/data/consolefonts/default8x16.psfu > $@
 
-out/initrd.tar: $(patsubst %,out/%,$(shell find initrd/ -type f)) \
+out/initrd.tar: $(patsubst sysroot/%,out/initrd/%,$(shell find sysroot/ -type f)) \
                 $(patsubst %,out/initrd/bin/amd64/%,$(USERBINS)) \
                 $(shell find out/initrd/) \
                 out/initrd/font.psf
diff --git a/initrd/1.txt b/initrd/1.txt
deleted file mode 100644
index 8e08ed0..0000000
--- a/initrd/1.txt
+++ /dev/null
@@ -1 +0,0 @@
-i am /1.txt
diff --git a/initrd/2.txt b/initrd/2.txt
deleted file mode 100644
index c214a20..0000000
--- a/initrd/2.txt
+++ /dev/null
@@ -1 +0,0 @@
-i am /2.txt
diff --git a/initrd/Users/dzwdz/private/secrets.txt b/initrd/Users/dzwdz/private/secrets.txt
deleted file mode 100644
index 7f1bcbc..0000000
--- a/initrd/Users/dzwdz/private/secrets.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-I enjoyed Twilight.
-
diff --git a/initrd/Users/dzwdz/public/stuff.txt b/initrd/Users/dzwdz/public/stuff.txt
deleted file mode 100644
index b864fc2..0000000
--- a/initrd/Users/dzwdz/public/stuff.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-A publicly readable file.
-
diff --git a/initrd/arp.ether b/initrd/arp.ether
deleted file mode 100644
index c8fbec7..0000000
Binary files a/initrd/arp.ether and /dev/null differ
diff --git a/initrd/bin/sh/catall b/initrd/bin/sh/catall
deleted file mode 100644
index a1c8c76..0000000
--- a/initrd/bin/sh/catall
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/shell
-# equalivent to the old "catall" builtin, meant to demo shadowing
-# TODO shadow here
-echo /init/fake.txt:
-cat /init/fake.txt
-echo
-
-echo /init/1.txt:
-cat /init/1.txt
-echo
-
-echo /init/2.txt:
-cat /init/2.txt
-echo
-
-echo /init/dir/3.txt:
-cat /init/dir/3.txt
-echo
-
diff --git a/initrd/bin/sh/halt b/initrd/bin/sh/halt
deleted file mode 100644
index 563aded..0000000
--- a/initrd/bin/sh/halt
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/shell
-echo halt > /initctl
\ No newline at end of file
diff --git a/initrd/bin/sh/mkuser b/initrd/bin/sh/mkuser
deleted file mode 100644
index a1544c6..0000000
--- a/initrd/bin/sh/mkuser
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/shell
-touch /Users/user/
-cd /Users/user/
-touch private/
-echo secrets! > private/secret.txt
-touch public/
-echo no secrets here > public/hi.txt
\ No newline at end of file
diff --git a/initrd/dir/3.txt b/initrd/dir/3.txt
deleted file mode 100644
index 6ab8da4..0000000
--- a/initrd/dir/3.txt
+++ /dev/null
@@ -1 +0,0 @@
-i am /dir/3.txt
diff --git a/initrd/dir/4 b/initrd/dir/4
deleted file mode 100644
index e69de29..0000000
diff --git a/initrd/dir/5 b/initrd/dir/5
deleted file mode 100644
index e69de29..0000000
diff --git a/initrd/long.txt b/initrd/long.txt
deleted file mode 100644
index ed0b66a..0000000
--- a/initrd/long.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-this file is longer than 512 characters. each line is exactly 80 characters long
-01234567890123456789012345678901234567890123456789012345678901234567890123456789
-0         10        20        30        40        50        60        70      80
-for this file to be over 512 bytes, it needs 512/81 = 7 lines. that's a fun fact
- ,_____O> [duck sound]  | that's as good of a duck as i can make. it's very good
-~|____|                 | /-- this X is the 513th byte in this file. very coolio
-  |  |  ,.  . .,  ,  ., | X. here it is. what you've waited for. idk what to say
diff --git a/sysroot/Users/dzwdz/private/secrets.txt b/sysroot/Users/dzwdz/private/secrets.txt
new file mode 100644
index 0000000..7f1bcbc
--- /dev/null
+++ b/sysroot/Users/dzwdz/private/secrets.txt
@@ -0,0 +1,2 @@
+I enjoyed Twilight.
+
diff --git a/sysroot/Users/dzwdz/public/stuff.txt b/sysroot/Users/dzwdz/public/stuff.txt
new file mode 100644
index 0000000..b864fc2
--- /dev/null
+++ b/sysroot/Users/dzwdz/public/stuff.txt
@@ -0,0 +1,2 @@
+A publicly readable file.
+
diff --git a/sysroot/bin/sh/fib b/sysroot/bin/sh/fib
new file mode 100644
index 0000000..6d84b1b
--- /dev/null
+++ b/sysroot/bin/sh/fib
@@ -0,0 +1,10 @@
+#!/bin/lua
+
+function fib(n)
+    if n <= 1 then return 1 end
+    return fib(n-1) + fib(n-2)
+end
+
+for i=1,13 do
+    print("fib("..i..")\t= " .. fib(i))
+end
diff --git a/sysroot/bin/sh/halt b/sysroot/bin/sh/halt
new file mode 100644
index 0000000..563aded
--- /dev/null
+++ b/sysroot/bin/sh/halt
@@ -0,0 +1,2 @@
+#!/bin/shell
+echo halt > /initctl
\ No newline at end of file
diff --git a/sysroot/bin/sh/mkuser b/sysroot/bin/sh/mkuser
new file mode 100644
index 0000000..a1544c6
--- /dev/null
+++ b/sysroot/bin/sh/mkuser
@@ -0,0 +1,7 @@
+#!/bin/shell
+touch /Users/user/
+cd /Users/user/
+touch private/
+echo secrets! > private/secret.txt
+touch public/
+echo no secrets here > public/hi.txt
\ No newline at end of file
diff --git a/sysroot/usr/arp.ether b/sysroot/usr/arp.ether
new file mode 100644
index 0000000..c8fbec7
Binary files /dev/null and b/sysroot/usr/arp.ether differ
diff --git a/sysroot/usr/long.txt b/sysroot/usr/long.txt
new file mode 100644
index 0000000..ed0b66a
--- /dev/null
+++ b/sysroot/usr/long.txt
@@ -0,0 +1,7 @@
+this file is longer than 512 characters. each line is exactly 80 characters long
+01234567890123456789012345678901234567890123456789012345678901234567890123456789
+0         10        20        30        40        50        60        70      80
+for this file to be over 512 bytes, it needs 512/81 = 7 lines. that's a fun fact
+ ,_____O> [duck sound]  | that's as good of a duck as i can make. it's very good
+~|____|                 | /-- this X is the 513th byte in this file. very coolio
+  |  |  ,.  . .,  ,  ., | X. here it is. what you've waited for. idk what to say
-- 
cgit v1.2.3