diff --git a/.gitmodules b/.gitmodules index aae6a325b..af52bbf6e 100644 --- a/.gitmodules +++ b/.gitmodules @@ -34,3 +34,6 @@ path = bootloader-coreboot url = https://gitlab.redox-os.org/redox-os/bootloader-coreboot.git branch = master +[submodule "redox-initfs"] + path = redox-initfs + url = https://gitlab.redox-os.org/redox-os/redox-initfs.git diff --git a/bootloader b/bootloader index 2f86d3a70..ec14ff801 160000 --- a/bootloader +++ b/bootloader @@ -1 +1 @@ -Subproject commit 2f86d3a70e406a5b19fb2686da82b0bc2c81db35 +Subproject commit ec14ff801c89954196a9d86e4d13176eeb84ab9e diff --git a/kernel b/kernel index dc9e6eaf0..8f0667215 160000 --- a/kernel +++ b/kernel @@ -1 +1 @@ -Subproject commit dc9e6eaf0c7cf23e67f0c8fe72d363be1dd3ebef +Subproject commit 8f06672153c17fc6b7f9ed5d57a220164360b7e2 diff --git a/mk/filesystem.mk b/mk/filesystem.mk index 5fab8d3ef..1af4a93f1 100644 --- a/mk/filesystem.mk +++ b/mk/filesystem.mk @@ -1,4 +1,4 @@ -build/filesystem.bin: filesystem.toml build/bootloader.bin build/kernel prefix +build/filesystem.bin: prefix filesystem.toml build/bootloader.bin build/kernel build/initfs.img cargo build --manifest-path cookbook/Cargo.toml --release cargo build --manifest-path installer/Cargo.toml --release cargo build --manifest-path redoxfs/Cargo.toml --release @@ -13,14 +13,15 @@ build/filesystem.bin: filesystem.toml build/bootloader.bin build/kernel prefix redoxfs/target/release/redoxfs $@.partial build/filesystem/ sleep 2 pgrep redoxfs - cp -v $< build/filesystem/filesystem.toml + cp -v filesystem.toml build/filesystem/filesystem.toml cp -v build/bootloader.bin build/filesystem/bootloader cp -v build/kernel build/filesystem/kernel mkdir -v build/filesystem/pkg cp -v cookbook/build/id_ed25519.pub.toml build/filesystem/pkg/id_ed25519.pub.toml #TODO cp -r $(ROOT)/$(PREFIX_INSTALL)/$(TARGET)/include build/filesystem/include #TODO cp -r $(ROOT)/$(PREFIX_INSTALL)/$(TARGET)/lib build/filesystem/lib - $(INSTALLER) -c $< build/filesystem/ + $(INSTALLER) -c filesystem.toml build/filesystem/ + cp build/initfs.img build/filesystem/initfs sync -$(FUMOUNT) build/filesystem/ || true rm -rf build/filesystem/ diff --git a/mk/initfs.mk b/mk/initfs.mk index 3186a07d0..88ec65c8f 100644 --- a/mk/initfs.mk +++ b/mk/initfs.mk @@ -14,10 +14,9 @@ INITFS_RM_BINS=\ vboxd \ xhcid -build/initfs.tag: initfs.toml prefix +build/initfs.img: initfs.toml prefix cargo build --manifest-path cookbook/Cargo.toml --release cargo build --manifest-path installer/Cargo.toml --release - rm -f build/libkernel.a rm -rf build/initfs mkdir -p build/initfs $(INSTALLER) -c $< build/initfs/ @@ -26,4 +25,4 @@ build/initfs.tag: initfs.toml prefix for bin in $(INITFS_RM_BINS); do \ rm -f build/initfs/bin/$$bin; \ done - touch $@ + cargo run --manifest-path redox-initfs/tools/Cargo.toml --bin redox-initfs-ar -- build/initfs -o $@ diff --git a/mk/kernel.mk b/mk/kernel.mk index 57575a78b..011f1a1d1 100644 --- a/mk/kernel.mk +++ b/mk/kernel.mk @@ -1,6 +1,5 @@ -build/libkernel.a: kernel/Cargo.lock kernel/Cargo.toml kernel/src/* kernel/src/*/* kernel/src/*/*/* kernel/src/*/*/*/* build/initfs.tag +build/libkernel.a: kernel/Cargo.lock kernel/Cargo.toml kernel/src/* kernel/src/*/* kernel/src/*/*/* kernel/src/*/*/*/* export PATH="$(PREFIX_PATH):$$PATH" && \ - export INITFS_FOLDER=$(ROOT)/build/initfs && \ cd kernel && \ cargo rustc --lib --target=$(ROOT)/kernel/targets/$(KTARGET).json --release -- -C soft-float -C debuginfo=2 -C lto --emit link=../$@ diff --git a/redox-initfs b/redox-initfs new file mode 160000 index 000000000..89b8fb898 --- /dev/null +++ b/redox-initfs @@ -0,0 +1 @@ +Subproject commit 89b8fb8984cf96c418880b7dcd9ce3d6afc3f71c