diff --git a/recipes/initfs/init.rc b/recipes/initfs/init.rc new file mode 100644 index 0000000000000000000000000000000000000000..bfbcad7a612088a452e841702d983d66e0b54fd0 --- /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 0000000000000000000000000000000000000000..689a0c967e35b6cc98ae39e81b142fce70091922 --- /dev/null +++ b/recipes/initfs/recipe.toml @@ -0,0 +1,33 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/redox-initfs.git" + +[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" +"""