11SHELL  := /bin/bash
2+ ARCH  := riscv64
3+ BOARD: = qemu
4+ byteos  = $(shell  byteos $(1 )  byteos.toml $(ARCH ) -$(BOARD )  $(2 ) ) 
5+ byteos_config  = $(call  byteos,config,get_cfg $(1 ) ) 
6+ byteos_env  = $(call  byteos,config,get_env $(1 ) ) 
27NVME  := off
38NET  := off
4- ARCH  := riscv64
59LOG  := error
6- BOARD: = qemu
710RELEASE  := release
811QEMU_EXEC  ?= 
9- BUILD_ARGS  := 
1012GDB  ?= gdb-multiarch
11- MOUNT_IMG_PATH  ?= $(shell  pwd) /mount.img
12- ROOT_FS  := fat32
13+ ROOT_FS  := $(call  byteos_config,root_fs) 
1314
1415BUS  := device
1516ifeq  ($(ARCH ) , x86_64)
@@ -34,7 +35,6 @@ else ifeq ($(ARCH), aarch64)
3435else  ifeq ($(ARCH), loongarch64)
3536 TARGET  := loongarch64-unknown-none
3637 QEMU_EXEC  += qemu-system-$(ARCH )  -kernel $(KERNEL_ELF ) 
37-  BUILD_ARGS  += -Z build-std
3838 BUS  := pci
3939else 
4040 $(error "ARCH" must be one of "x86_64", "riscv64", "aarch64" or "loongarch64")
@@ -54,9 +54,6 @@ QEMU_EXEC += -m 128M\
5454-smp 1 \ 
5555-D qemu.log -d in_asm,int,pcall,cpu_reset,guest_errors
5656
57- ifeq  ($(RELEASE ) , release)
58- BUILD_ARGS += --release
59- endif 
6057TESTCASE  := testcase-$(ARCH ) 
6158ifeq  ($(NVME ) , on)
6259QEMU_EXEC  += -drive file=$(FS_IMG ) ,if=none,id=nvm \ 
@@ -78,38 +75,32 @@ features += k210
7875endif 
7976
8077all : build
81- 
8278offline :
8379RUST_BACKTRACE=1 LOG=$(LOG )  cargo build $(BUILD_ARGS )  --features " $( features) "   --offline
8480# cp $(SBI) sbi-qemu
8581# cp $(KERNEL_ELF) kernel-qemu
8682rust-objcopy --binary-architecture=riscv64 $(KERNEL_ELF) --strip-all -O binary os.bin
8783
8884fs-img :
89- ifeq  ( $(ROOT_FS ) , fat32) 
85+ @echo  " ROOT_FS:  $( ROOT_FS) " 
9086rm -f $(FS_IMG ) 
9187dd if=/dev/zero of=$(FS_IMG )  bs=1M count=128
88+ sync
89+ ifeq  ($(ROOT_FS ) , fat32)
9290mkfs.vfat -F 32 $(FS_IMG)
9391mkdir mount/ -p
9492sudo mount $(FS_IMG) mount/ -o uid=1000,gid=1000
9593sudo rm -rf mount/*
96- sudo cp -rf tools/$(TESTCASE)/* mount/
97- sudo chmod 777 $(FS_IMG)
98- sync
99- sudo umount $(FS_IMG)
10094else  ifeq ($(ROOT_FS), ext4)
101- rm -f $(FS_IMG)
102- dd if=/dev/zero of=$(FS_IMG) bs=1M count=128
10395mkfs.ext4 -F -O ^metadata_csum_seed $(FS_IMG)
10496mkdir mount/ -p
10597sudo mount $(FS_IMG) mount/
98+ endif 
10699sudo cp -rf tools/$(TESTCASE)/* mount/
107100sync
108101sudo umount $(FS_IMG)
109- endif 
110102
111103build :
112- # RUST_BACKTRACE=1 LOG=$(LOG) MOUNT_IMG_PATH=$(MOUNT_IMG_PATH) cargo build --target $(TARGET) $(BUILD_ARGS) --features "$(features)"
113104byteos build byteos.toml $(ARCH ) -$(BOARD ) 
114105rust-objcopy --binary-architecture=$(ARCH )  $(KERNEL_ELF )  --strip-all -O binary $(KERNEL_BIN ) 
115106
0 commit comments