From dd942939275a3b57f8c76db3c616f1511215a9ea Mon Sep 17 00:00:00 2001
From: 4lDO2 <4lDO2@protonmail.com>
Date: Wed, 10 Aug 2022 12:12:37 +0200
Subject: [PATCH] Add initfs gen recipe using regular dependencies.

---
 recipes/initfs/init.rc     | 16 ++++++++++++++++
 recipes/initfs/recipe.toml | 30 ++++++++++++++++++++++++++++++
 2 files changed, 46 insertions(+)
 create mode 100644 recipes/initfs/init.rc
 create mode 100644 recipes/initfs/recipe.toml

diff --git a/recipes/initfs/init.rc b/recipes/initfs/init.rc
new file mode 100644
index 000000000..bfbcad7a6
--- /dev/null
+++ b/recipes/initfs/init.rc
@@ -0,0 +1,16 @@
+export PATH /bin
+export TMPDIR /tmp
+nulld
+zerod
+randd
+vesad T T G
+logd debug: display:1
+stdio log:
+ps2d us
+ramfs logging
+acpid
+pcid /etc/pcid/initfs.toml
+redoxfs --uuid $REDOXFS_UUID file $REDOXFS_BLOCK
+cd file:
+export PATH file:/bin
+run.d /etc/init.d
diff --git a/recipes/initfs/recipe.toml b/recipes/initfs/recipe.toml
new file mode 100644
index 000000000..a5c2c4c42
--- /dev/null
+++ b/recipes/initfs/recipe.toml
@@ -0,0 +1,30 @@
+[build]
+template = "custom"
+dependencies = [
+  "drivers-initfs",
+  "init",
+  "logd",
+  "nulld",
+  "ramfs",
+  "randd",
+  "redoxfs",
+  "zerod",
+]
+script = """
+INITFS_RM_BINS='redoxfs-ar redoxfs-mkfs'
+
+mkdir -p $COOKBOOK_BUILD/initfs/etc
+
+cp -r $COOKBOOK_SYSROOT/* $COOKBOOK_BUILD/initfs
+
+# TODO: Move init.rc to another recipe, perhaps initfs-misc? Then it can be installed as a regular dependency.
+cp $COOKBOOK_RECIPE/init.rc $COOKBOOK_BUILD/initfs/etc/init.rc
+
+for bin in $INITFS_RM_BINS; do
+  rm -f $COOKBOOK_BUILD/initfs/bin/$bin
+done
+
+env -u CARGO cargo run --manifest-path $COOKBOOK_SOURCE/tools/Cargo.toml --bin redox-initfs-ar -- $COOKBOOK_BUILD/initfs -o $COOKBOOK_BUILD/initfs.img
+
+cp $COOKBOOK_BUILD/initfs.img $COOKBOOK_STAGE/initfs
+"""
-- 
GitLab