From 49cd5866ac2e511bfd1eb0538301cf83790b6610 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Sun, 1 Oct 2017 14:25:07 -0600 Subject: [PATCH] Fix live filesystem by using a different initfs --- initfs_live.toml | 27 +++++++++++++++++++++++++++ kernel | 2 +- mk/config.mk | 1 - mk/initfs.mk | 7 +++++++ mk/kernel.mk | 8 ++++---- 5 files changed, 39 insertions(+), 6 deletions(-) create mode 100644 initfs_live.toml diff --git a/initfs_live.toml b/initfs_live.toml new file mode 100644 index 0000000..ae698ba --- /dev/null +++ b/initfs_live.toml @@ -0,0 +1,27 @@ +# This is the default configuration file + +# General settings +[general] +# Do not prompt if settings are not defined +prompt = false + +# Package settings +[packages] +drivers = {} +init = {} +redoxfs = {} + +[[files]] +path="/etc/init.rc" +data=""" +export PATH /bin +export TMPDIR /tmp +vesad T T G +stdio display:1 +ps2d +pcid /etc/pcid/initfs.toml +redoxfs disk/live: file +cd file: +export PATH file:/bin +run.d /etc/init.d +""" diff --git a/kernel b/kernel index 0794926..808447c 160000 --- a/kernel +++ b/kernel @@ -1 +1 @@ -Subproject commit 0794926493a26a1384063e792e7df3de88faa373 +Subproject commit 808447cbfbd8d52d5383d22d25f806cefe3bed2a diff --git a/mk/config.mk b/mk/config.mk index 2bcb528..6d6ae1f 100644 --- a/mk/config.mk +++ b/mk/config.mk @@ -24,7 +24,6 @@ endif # Automatic variables ROOT=$(PWD) -export INITFS_FOLDER=$(ROOT)/build/initfs export RUST_TARGET_PATH=$(ROOT)/kernel/targets export XARGO_HOME=$(ROOT)/build/xargo export XARGO_RUST_SRC=$(ROOT)/rust/src diff --git a/mk/initfs.mk b/mk/initfs.mk index 1fd6118..8c76dc2 100644 --- a/mk/initfs.mk +++ b/mk/initfs.mk @@ -4,3 +4,10 @@ build/initfs.tag: initfs.toml mkdir -p build/initfs cargo run --manifest-path installer/Cargo.toml -- $(INSTALLER_FLAGS) -c $< build/initfs/ touch $@ + +build/initfs_live.tag: initfs_live.toml + cd kernel && xargo clean + rm -rf build/initfs_live + mkdir -p build/initfs_live + cargo run --manifest-path installer/Cargo.toml -- $(INSTALLER_FLAGS) -c $< build/initfs_live/ + touch $@ diff --git a/mk/kernel.mk b/mk/kernel.mk index bda1bca..cb70ca8 100644 --- a/mk/kernel.mk +++ b/mk/kernel.mk @@ -1,13 +1,13 @@ build/libkernel.a: kernel/Cargo.toml kernel/src/* kernel/src/*/* kernel/src/*/*/* build/initfs.tag # Temporary fix for https://github.com/redox-os/redox/issues/963 allowing to build on macOS ifeq ($(UNAME),Darwin) - cd kernel && CC=$(ARCH)-elf-gcc AR=$(ARCH)-elf-ar CFLAGS=-ffreestanding xargo rustc --lib --target $(KTARGET) --release -- -C soft-float --emit link=../$@ + cd kernel && CC=$(ARCH)-elf-gcc AR=$(ARCH)-elf-ar CFLAGS=-ffreestanding xargo INITFS_FOLDER=$(ROOT)/build/initfs rustc --lib --target $(KTARGET) --release -- -C soft-float --emit link=../$@ else - cd kernel && xargo rustc --lib --target $(KTARGET) --release -- -C soft-float --emit link=../$@ + cd kernel && INITFS_FOLDER=$(ROOT)/build/initfs xargo rustc --lib --target $(KTARGET) --release -- -C soft-float --emit link=../$@ endif -build/libkernel_live.a: kernel/Cargo.toml kernel/src/* kernel/src/*/* kernel/src/*/*/* build/initfs.tag - cd kernel && xargo rustc --lib --features live --target $(KTARGET) --release -- -C soft-float --emit link=../$@ +build/libkernel_live.a: kernel/Cargo.toml kernel/src/* kernel/src/*/* kernel/src/*/*/* build/initfs_live.tag + cd kernel && INITFS_FOLDER=$(ROOT)/build/initfs_live xargo rustc --lib --features live --target $(KTARGET) --release -- -C soft-float --emit link=../$@ build/kernel: kernel/linkers/$(ARCH).ld build/libkernel.a $(LD) --gc-sections -z max-page-size=0x1000 -T $< -o $@ build/libkernel.a