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..a5b602a9c6d892e24d7f50c60837ef3f60c83ed2 --- /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 +"""