From 463aeef9ee3cfce631733f5a238700cad0b65000 Mon Sep 17 00:00:00 2001 From: Jeremy Soller <jeremy@system76.com> Date: Tue, 8 Jan 2019 20:50:23 -0700 Subject: [PATCH] Add bootloader and kernel recipes --- recipes/bootloader/recipe.sh | 32 +++++++++++++++++++++++++ recipes/kernel/init.rc | 10 ++++++++ recipes/kernel/recipe.sh | 46 ++++++++++++++++++++++++++++++++++++ 3 files changed, 88 insertions(+) create mode 100644 recipes/bootloader/recipe.sh create mode 100644 recipes/kernel/init.rc create mode 100644 recipes/kernel/recipe.sh diff --git a/recipes/bootloader/recipe.sh b/recipes/bootloader/recipe.sh new file mode 100644 index 000000000..510b0d809 --- /dev/null +++ b/recipes/bootloader/recipe.sh @@ -0,0 +1,32 @@ +GIT=https://gitlab.redox-os.org/redox-os/bootloader.git + +function recipe_version { + echo "0.1.0" + skip=1 +} + +function recipe_update { + echo "skipping update" + skip=1 +} + +function recipe_build { + nasm -f bin -o bootloader -D "ARCH_${ARCH}" -i"${ARCH}/" "${ARCH}/disk.asm" + skip=1 +} + +function recipe_test { + echo "skipping test" + skip=1 +} + +function recipe_clean { + make clean + skip=1 +} + +function recipe_stage { + dest="$(realpath $1)" + cp -v bootloader "$dest" + skip=1 +} diff --git a/recipes/kernel/init.rc b/recipes/kernel/init.rc new file mode 100644 index 000000000..db322fcd2 --- /dev/null +++ b/recipes/kernel/init.rc @@ -0,0 +1,10 @@ +export PATH /bin +export TMPDIR /tmp +vesad T T G +stdio display:1 +ps2d us +pcid /etc/pcid/initfs.toml +redoxfs --uuid $REDOXFS_UUID file +cd file: +export PATH file:/bin +run.d /etc/init.d diff --git a/recipes/kernel/recipe.sh b/recipes/kernel/recipe.sh new file mode 100644 index 000000000..469d6706b --- /dev/null +++ b/recipes/kernel/recipe.sh @@ -0,0 +1,46 @@ +GIT=https://gitlab.redox-os.org/redox-os/kernel.git +BUILD_DEPENDS=(drivers init redoxfs) + +function recipe_build { + export INITFS_FOLDER="$(realpath ../sysroot)" + mkdir -pv "$INITFS_FOLDER/etc" + cp -v "$(realpath ../init.rc)" "$INITFS_FOLDER/etc/init.rc" + xargo rustc \ + --lib \ + --target "${ARCH}-unknown-none" \ + --release \ + -- \ + -C soft-float \ + -C debuginfo=2 \ + --emit link=libkernel.a + "${LD}" \ + --gc-sections \ + -z max-page-size=0x1000 \ + -T "linkers/${ARCH}.ld" \ + -o kernel \ + libkernel.a + "${OBJCOPY}" \ + --only-keep-debug \ + kernel \ + kernel.sym + "${OBJCOPY}" \ + --strip-debug \ + kernel + skip=1 +} + +function recipe_test { + echo "skipping test" + skip=1 +} + +function recipe_clean { + make clean + skip=1 +} + +function recipe_stage { + dest="$(realpath $1)" + cp -v kernel "$dest" + skip=1 +} -- GitLab