Merge branch 'move_initfs_to_recipe' into 'master'

Add initfs gen recipe using regular dependencies.

See merge request redox-os/cookbook!258
This commit is contained in:
Jeremy Soller 2022-08-10 17:30:57 +00:00
commit 73f39eb96e
2 changed files with 49 additions and 0 deletions

16
recipes/initfs/init.rc Normal file
View File

@ -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

View File

@ -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"
"""