diff --git a/filesystem.toml b/filesystem.toml index f3f85d3..355a1bb 100644 --- a/filesystem.toml +++ b/filesystem.toml @@ -8,16 +8,16 @@ sysroot = "build/filesystem" # Package settings [packages] -acid = {} -binutils = {} +#acid = {} +#binutils = {} contain = {} coreutils = {} extrautils = {} -games = {} +#games = {} init = {} installer = {} ion = {} -lua = {} +#lua = {} netstack = {} netutils = {} orbdata = {} diff --git a/mk/filesystem.mk b/mk/filesystem.mk index cce220b..6516b10 100644 --- a/mk/filesystem.mk +++ b/mk/filesystem.mk @@ -1,11 +1,11 @@ build/filesystem.bin: filesystem.toml -$(FUMOUNT) build/filesystem/ || true - rm -rf $@ build/filesystem/ - dd if=/dev/zero of=$@ bs=1048576 count=128 - cargo run --manifest-path installer/redoxfs/Cargo.toml --quiet --release --bin redoxfs-mkfs $@ + rm -rf $@ $@.partial build/filesystem/ + dd if=/dev/zero of=$@.partial bs=1048576 count=128 + cargo run --manifest-path installer/redoxfs/Cargo.toml --quiet --release --bin redoxfs-mkfs $@.partial mkdir -p build/filesystem/ cargo build --manifest-path installer/redoxfs/Cargo.toml --quiet --release --bin redoxfs - cargo run --manifest-path installer/redoxfs/Cargo.toml --quiet --release --bin redoxfs -- $@ build/filesystem/ + cargo run --manifest-path installer/redoxfs/Cargo.toml --quiet --release --bin redoxfs -- $@.partial build/filesystem/ sleep 2 pgrep redoxfs cargo run --manifest-path installer/Cargo.toml -- --cookbook=cookbook $< @@ -27,6 +27,7 @@ build/filesystem.bin: filesystem.toml sync -$(FUMOUNT) build/filesystem/ || true rm -rf build/filesystem/ + mv $@.partial $@ mount: FORCE mkdir -p build/filesystem/ diff --git a/mk/qemu.mk b/mk/qemu.mk index c1a31da..a76d9f9 100644 --- a/mk/qemu.mk +++ b/mk/qemu.mk @@ -28,28 +28,45 @@ endif #,int,pcall #-device intel-iommu -qemu: build/harddrive.bin - $(QEMU) $(QEMUFLAGS) -drive file=$<,format=raw +build/extra.qcow2: + qemu-img create -f qcow2 $@ 256M -qemu_no_build: - $(QEMU) $(QEMUFLAGS) -drive file=build/harddrive.bin,format=raw +qemu: build/harddrive.bin build/extra.qcow2 + $(QEMU) $(QEMUFLAGS) \ + -drive file=build/harddrive.bin,format=raw \ + -drive file=build/extra.qcow2 -qemu_extra: build/harddrive.bin - if [ ! -e build/extra.bin ]; then dd if=/dev/zero of=build/extra.bin bs=1048576 count=1024; fi - $(QEMU) $(QEMUFLAGS) -drive file=$<,format=raw -drive file=build/extra.bin,format=raw,if=none,id=drv0 -device nvme,drive=drv0,serial=NVME_SERIAL +qemu_no_build: build/extra.qcow2 + $(QEMU) $(QEMUFLAGS) \ + -drive file=build/harddrive.bin,format=raw \ + -drive file=build/extra.qcow2 -qemu_extra_no_build: - if [ ! -e build/extra.bin ]; then dd if=/dev/zero of=build/extra.bin bs=1048576 count=1024; fi - $(QEMU) $(QEMUFLAGS) -drive file=$<,format=raw -drive file=build/extra.bin,format=raw +qemu_nvme: build/harddrive.bin build/extra.qcow2 + $(QEMU) $(QEMUFLAGS) \ + -drive file=build/harddrive.bin,format=raw -drive file=build/extra.qcow2,if=none,id=drv0 -device nvme,drive=drv0,serial=NVME_SERIAL \ + -drive file=build/extra.qcow2 -qemu_live: build/livedisk.bin - $(QEMU) $(QEMUFLAGS) -device usb-ehci,id=flash_bus -drive id=flash_drive,file=$<,format=raw,if=none -device usb-storage,drive=flash_drive,bus=flash_bus.0 +qemu_nvme_no_build: build/extra.qcow2 + $(QEMU) $(QEMUFLAGS) \ + -drive file=build/harddrive.bin,format=raw -drive file=build/extra.qcow2,if=none,id=drv0 -device nvme,drive=drv0,serial=NVME_SERIAL \ + -drive file=build/extra.qcow2 -qemu_live_no_build: - $(QEMU) $(QEMUFLAGS) -device usb-ehci,id=flash_bus -drive id=flash_drive,file=build/livedisk.bin,format=raw,if=none -device usb-storage,drive=flash_drive,bus=flash_bus.0 +qemu_live: build/livedisk.bin build/extra.qcow2 + $(QEMU) $(QEMUFLAGS) \ + -device usb-ehci,id=flash_bus -drive id=flash_drive,file=build/livedisk.bin,format=raw,if=none -device usb-storage,drive=flash_drive,bus=flash_bus.0 \ + -drive file=build/extra.qcow2 -qemu_iso: build/livedisk.iso - $(QEMU) $(QEMUFLAGS) -boot d -cdrom $< +qemu_live_no_build: build/extra.qcow2 + $(QEMU) $(QEMUFLAGS) \ + -device usb-ehci,id=flash_bus -drive id=flash_drive,file=build/livedisk.bin,format=raw,if=none -device usb-storage,drive=flash_drive,bus=flash_bus.0 \ + -drive file=build/extra.qcow2 -qemu_iso_no_build: - $(QEMU) $(QEMUFLAGS) -boot d -cdrom build/livedisk.iso +qemu_iso: build/livedisk.iso build/extra.qcow2 + $(QEMU) $(QEMUFLAGS) \ + -boot d -cdrom build/livedisk.iso \ + -drive file=build/extra.qcow2 + +qemu_iso_no_build: build/extra.qcow2 + $(QEMU) $(QEMUFLAGS) \ + -boot d -cdrom build/livedisk.iso \ + -drive file=build/extra.qcow2