فهرست منبع

chore: 适配dadk 0.1.11 (#777)

* chore: 适配dadk 0.1.11
LoGin 2 هفته پیش
والد
کامیت
182b778a3c
41فایلهای تغییر یافته به همراه138 افزوده شده و 50 حذف شده
  1. 1 1
      .github/actions/import-toolchain/action.yml
  2. 8 12
      .github/workflows/cache-toolchain.yml
  3. 1 1
      docs/introduction/build_system.md
  4. 0 1
      docs/userland/appdev/rust-quick-start.md
  5. 1 1
      user/Makefile
  6. 20 0
      user/apps/riscv_init/Makefile
  7. 9 0
      user/apps/riscv_init/main.c
  8. 1 1
      user/apps/test-blockcache/Makefile
  9. 2 1
      user/dadk/config/about.dadk
  10. 2 1
      user/dadk/config/clear-0.1.0.dadk
  11. 2 1
      user/dadk/config/core_utils-9.4.0.dadk
  12. 2 1
      user/dadk/config/dmesg-0.1.0.dadk
  13. 8 2
      user/dadk/config/dog_0_1_0.dadk
  14. 2 1
      user/dadk/config/dragon_reach-0.1.0.dadk
  15. 2 1
      user/dadk/config/held-0.1.0.dadk
  16. 2 1
      user/dadk/config/http_server-0.1.0.dadk
  17. 2 1
      user/dadk/config/musl_1_2_4.dadk
  18. 2 1
      user/dadk/config/nova_shell-0.1.0.dadk
  19. 27 0
      user/dadk/config/riscv_init-0.1.0.dadk
  20. 2 1
      user/dadk/config/tar_1_35.dadk
  21. 2 1
      user/dadk/config/test_alarm_0_1_0.dadk
  22. 2 1
      user/dadk/config/test_backlog_0_1_0.dadk
  23. 2 1
      user/dadk/config/test_bind-0.1.0.dadk
  24. 2 1
      user/dadk/config/test_blockcache_0_1_0.dadk
  25. 2 1
      user/dadk/config/test_dup3_0_1_0.dadk
  26. 2 1
      user/dadk/config/test_for_robustfutex_0_1_0.dadk
  27. 2 1
      user/dadk/config/test_fstat-0.1.0.dadk
  28. 2 1
      user/dadk/config/test_fstatfs_0_1_0.dadk
  29. 2 1
      user/dadk/config/test_gettimeofday-0.1.0.dadk
  30. 2 1
      user/dadk/config/test_kvm_0_1_0.dadk
  31. 2 1
      user/dadk/config/test_mkfifo-0.1.0.dadk
  32. 2 1
      user/dadk/config/test_mount_1_0_0.dadk
  33. 2 1
      user/dadk/config/test_pty-0.1.0.dadk
  34. 2 1
      user/dadk/config/test_ramfs-0.1.0.dadk
  35. 2 1
      user/dadk/config/test_shm-0.1.0.dadk
  36. 2 1
      user/dadk/config/test_signal-0.1.0.dadk
  37. 2 1
      user/dadk/config/test_socket-0.1.0.dadk
  38. 2 1
      user/dadk/config/test_sqlite3-3.42.0.dadk
  39. 2 1
      user/dadk/config/test_statfs_0_1_0.dadk
  40. 2 1
      user/dadk/config/test_statx_0_1_0.dadk
  41. 2 1
      user/dadk/config/test_uart-0.1.0.dadk

+ 1 - 1
.github/actions/import-toolchain/action.yml

@@ -23,7 +23,7 @@ runs:
         uses: actions/cache@v3
         env:
             cache-name: cache-build-tools
-            dadk_version: 0.1.6
+            dadk_version: 0.1.11
         with:
           path: |
             ~/.cargo

+ 8 - 12
.github/workflows/cache-toolchain.yml

@@ -34,7 +34,7 @@ jobs:
           uses: actions/cache@v3
           env:
               cache-name: cache-build-tools
-              dadk_version: 0.1.6
+              dadk_version: 0.1.11
           with:
             path: |
               ~/.cargo
@@ -78,18 +78,14 @@ jobs:
 
             rustup default nightly
 
-            cargo install dadk --version 0.1.6
+            cargo install dadk --version 0.1.11
           
 
-            fork_toolchain_from="nightly-2023-08-15-x86_64-unknown-linux-gnu"
-            custom_toolchain="nightly-2023-08-15-x86_64-unknown-linux_dragonos-gnu"
-            custom_toolchain_dir="$(dirname $(rustc --print sysroot))/${custom_toolchain}"
-            echo "Custom toolchain does not exist, creating..."
-            rustup toolchain install ${fork_toolchain_from}
-            rustup component add --toolchain ${fork_toolchain_from} rust-src
-            rustup target add --toolchain ${fork_toolchain_from} x86_64-unknown-linux-musl
-            cp -r $(dirname $(rustc --print sysroot))/${fork_toolchain_from} ${custom_toolchain_dir}
-            self_contained_dir=${custom_toolchain_dir}/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained
-            cp -f ${self_contained_dir}/crt1.o ${self_contained_dir}/rcrt1.o
+            userapp_musl_toolchain="nightly-2023-08-15-x86_64-unknown-linux-gnu"
+            
+            rustup toolchain install ${userapp_musl_toolchain}
+            rustup component add --toolchain ${userapp_musl_toolchain} rust-src
+            rustup target add --toolchain ${userapp_musl_toolchain} x86_64-unknown-linux-musl
+           
 
 

+ 1 - 1
docs/introduction/build_system.md

@@ -276,7 +276,7 @@ make clean
 # 下载DragonStub
 git submodule update --init --recursive --force
 
-make kernel -j $(nproc) && make write_diskimage && make qemu
+make run
 ```
 
 请注意,由于是在控制台运行qemu,当你想要退出的时候,输入`Ctrl+A`然后按`X`即可。

+ 0 - 1
docs/userland/appdev/rust-quick-start.md

@@ -39,4 +39,3 @@ cargo generate --git https://git.mirrors.dragonos.org/DragonOS-Community/Rust-Ap
 如果您需要移植别的库/程序到DragonOS,请参考模板内的配置。
 
 由于DragonOS目前不支持动态链接,因此目前需要在RUSTFLAGS里面指定`-C target-feature=+crt-static -C link-arg=-no-pie`
-并且需要使用上文提到的工具链`nightly-2023-08-15-x86_64-unknown-linux_dragonos-gnu`

+ 1 - 1
user/Makefile

@@ -7,7 +7,7 @@ GARBAGE := $(foreach DIR,$(DIRS),$(addprefix $(DIR)/,$(GARBAGE_PATTERNS)))
 
 DADK_VERSION=$(shell dadk -V | awk 'END {print $$2}')
 # 最小的DADK版本
-MIN_DADK_VERSION = 0.1.10
+MIN_DADK_VERSION = 0.1.11
 DADK_CACHE_DIR = $(ROOT_PATH)/bin/dadk_cache
 
 ECHO:

+ 20 - 0
user/apps/riscv_init/Makefile

@@ -0,0 +1,20 @@
+ifeq ($(ARCH), x86_64)
+	CROSS_COMPILE=x86_64-linux-musl-
+else ifeq ($(ARCH), riscv64)
+	CROSS_COMPILE=riscv64-linux-musl-
+endif
+
+CC=$(CROSS_COMPILE)gcc
+
+.PHONY: all
+all: main.c
+	$(CC) -static -o init main.c
+
+.PHONY: install clean
+install: all
+	mv init $(DADK_CURRENT_BUILD_DIR)/init
+
+clean:
+	rm init *.o
+
+fmt:

+ 9 - 0
user/apps/riscv_init/main.c

@@ -0,0 +1,9 @@
+#include <stdio.h>
+
+int main() {
+  while(1){
+    printf("\033[43;37mHello, World!\033[0m\n");
+    sleep(1);
+  }
+  return 0;
+}

+ 1 - 1
user/apps/test-blockcache/Makefile

@@ -1,6 +1,6 @@
 # The toolchain we use.
 # You can get it by running DragonOS' `tools/bootstrap.sh`
-TOOLCHAIN="+nightly-2023-08-15-x86_64-unknown-linux_dragonos-gnu"
+TOOLCHAIN="+nightly-2023-08-15-x86_64-unknown-linux-gnu"
 RUSTFLAGS+="-C target-feature=+crt-static -C link-arg=-no-pie"
 
 # 如果是在dadk中编译,那么安装到dadk的安装目录中

+ 2 - 1
user/dadk/config/about.dadk

@@ -20,5 +20,6 @@
     "clean": {
       "clean_command": "make clean"
     },
-    "envs": []
+    "envs": [],
+    "target_arch": ["x86_64"]
   }

+ 2 - 1
user/dadk/config/clear-0.1.0.dadk

@@ -18,5 +18,6 @@
   },
   "install": {
     "in_dragonos_path": "/"
-  }
+  },
+  "target_arch": ["x86_64"]
 }

+ 2 - 1
user/dadk/config/core_utils-9.4.0.dadk

@@ -22,5 +22,6 @@
 
   "build_once": true,
 
-  "install_once": true
+  "install_once": true,
+  "target_arch": ["x86_64"]
 }

+ 2 - 1
user/dadk/config/dmesg-0.1.0.dadk

@@ -19,5 +19,6 @@
   "clean": {
     "clean_command": "make clean"
   },
-  "envs": []
+  "envs": [],
+  "target_arch": ["x86_64"]
 }

+ 8 - 2
user/dadk/config/dog_0_1_0.dadk

@@ -22,7 +22,13 @@
   "clean": {
     "clean_command": "make clean"
   },
-  "envs": [],
+  "envs": [
+    {
+      "key": "CC",
+      "value": "x86_64-linux-musl-gcc"
+    }
+  ],
   "build_once": false,
-  "install_once": false
+  "install_once": false,
+  "target_arch": ["x86_64"]
 }

+ 2 - 1
user/dadk/config/dragon_reach-0.1.0.dadk

@@ -19,5 +19,6 @@
   },
   "install": {
     "in_dragonos_path": "/"
-  }
+  },
+  "target_arch": ["x86_64"]
 }

+ 2 - 1
user/dadk/config/held-0.1.0.dadk

@@ -19,5 +19,6 @@
   },
   "install": {
     "in_dragonos_path": "/"
-  }
+  },
+  "target_arch": ["x86_64"]
 }

+ 2 - 1
user/dadk/config/http_server-0.1.0.dadk

@@ -19,5 +19,6 @@
   "clean": {
     "clean_command": "make clean"
   },
-  "envs": []
+  "envs": [],
+  "target_arch": ["x86_64"]
 }

+ 2 - 1
user/dadk/config/musl_1_2_4.dadk

@@ -23,5 +23,6 @@
   "envs": [],
   "build_once": true,
 
-  "install_once": true
+  "install_once": true,
+  "target_arch": ["x86_64"]
 }

+ 2 - 1
user/dadk/config/nova_shell-0.1.0.dadk

@@ -19,5 +19,6 @@
   },
   "install": {
     "in_dragonos_path": "/"
-  }
+  },
+  "target_arch": ["x86_64"]
 }

+ 27 - 0
user/dadk/config/riscv_init-0.1.0.dadk

@@ -0,0 +1,27 @@
+{
+  "name": "riscv_init",
+  "version": "0.1.0",
+  "description": "临时的riscv下的初始化程序",
+  "rust_target": null,
+  "task_type": {
+    "BuildFromSource": {
+      "Local": {
+        "path": "apps/riscv_init"
+      }
+    }
+  },
+  "depends": [],
+  "build": {
+    "build_command": "make install"
+  },
+  "install": {
+    "in_dragonos_path": "/bin"
+  },
+  "clean": {
+    "clean_command": "make clean"
+  },
+  "envs": [],
+  "build_once": false,
+  "install_once": false,
+  "target_arch": ["riscv64"]
+}

+ 2 - 1
user/dadk/config/tar_1_35.dadk

@@ -20,5 +20,6 @@
   "clean": {
     "clean_command": null
   },
-  "envs": []
+  "envs": [],
+  "target_arch": ["x86_64"]
 }

+ 2 - 1
user/dadk/config/test_alarm_0_1_0.dadk

@@ -22,5 +22,6 @@
   },
   "envs": [],
   "build_once": false,
-  "install_once": false
+  "install_once": false,
+  "target_arch": ["x86_64"]
 }

+ 2 - 1
user/dadk/config/test_backlog_0_1_0.dadk

@@ -22,5 +22,6 @@
   },
   "envs": [],
   "build_once": false,
-  "install_once": false
+  "install_once": false,
+  "target_arch": ["x86_64"]
 }

+ 2 - 1
user/dadk/config/test_bind-0.1.0.dadk

@@ -19,5 +19,6 @@
   "clean": {
     "clean_command": "make clean"
   },
-  "envs": []
+  "envs": [],
+  "target_arch": ["x86_64"]
 }

+ 2 - 1
user/dadk/config/test_blockcache_0_1_0.dadk

@@ -20,5 +20,6 @@
   "clean": {
     "clean_command": "make clean"
   },
-  "envs": []
+  "envs": [],
+  "target_arch": ["x86_64"]
 }

+ 2 - 1
user/dadk/config/test_dup3_0_1_0.dadk

@@ -18,5 +18,6 @@
   },
   "clean": {
     "clean_command": "make clean"
-  }
+  },
+  "target_arch": ["x86_64"]
 }

+ 2 - 1
user/dadk/config/test_for_robustfutex_0_1_0.dadk

@@ -20,5 +20,6 @@
   "clean": {
     "clean_command": "make clean"
   },
-  "envs": []
+  "envs": [],
+  "target_arch": ["x86_64"]
 }

+ 2 - 1
user/dadk/config/test_fstat-0.1.0.dadk

@@ -18,5 +18,6 @@
   },
   "clean": {
     "clean_command": "make clean"
-  }
+  },
+  "target_arch": ["x86_64"]
 }

+ 2 - 1
user/dadk/config/test_fstatfs_0_1_0.dadk

@@ -22,5 +22,6 @@
   },
   "envs": [],
   "build_once": false,
-  "install_once": false
+  "install_once": false,
+  "target_arch": ["x86_64"]
 }

+ 2 - 1
user/dadk/config/test_gettimeofday-0.1.0.dadk

@@ -19,5 +19,6 @@
   "clean": {
     "clean_command": "make clean"
   },
-  "envs": []
+  "envs": [],
+  "target_arch": ["x86_64"]
 }

+ 2 - 1
user/dadk/config/test_kvm_0_1_0.dadk

@@ -20,5 +20,6 @@
   "clean": {
     "clean_command": "make clean"
   },
-  "envs": []
+  "envs": [],
+  "target_arch": ["x86_64"]
 }

+ 2 - 1
user/dadk/config/test_mkfifo-0.1.0.dadk

@@ -18,5 +18,6 @@
   },
   "clean": {
     "clean_command": "make clean"
-  }
+  },
+  "target_arch": ["x86_64"]
 }

+ 2 - 1
user/dadk/config/test_mount_1_0_0.dadk

@@ -18,5 +18,6 @@
   },
   "clean": {
     "clean_command": "make clean"
-  }
+  },
+  "target_arch": ["x86_64"]
 }

+ 2 - 1
user/dadk/config/test_pty-0.1.0.dadk

@@ -19,5 +19,6 @@
   "clean": {
     "clean_command": "make clean"
   },
-  "envs": []
+  "envs": [],
+  "target_arch": ["x86_64"]
 }

+ 2 - 1
user/dadk/config/test_ramfs-0.1.0.dadk

@@ -19,5 +19,6 @@
   "clean": {
     "clean_command": "make clean"
   },
-  "envs": []
+  "envs": [],
+  "target_arch": ["x86_64"]
 }

+ 2 - 1
user/dadk/config/test_shm-0.1.0.dadk

@@ -19,5 +19,6 @@
   "clean": {
     "clean_command": "make clean"
   },
-  "envs": []
+  "envs": [],
+  "target_arch": ["x86_64"]
 }

+ 2 - 1
user/dadk/config/test_signal-0.1.0.dadk

@@ -19,5 +19,6 @@
   "clean": {
     "clean_command": "make clean"
   },
-  "envs": []
+  "envs": [],
+  "target_arch": ["x86_64"]
 }

+ 2 - 1
user/dadk/config/test_socket-0.1.0.dadk

@@ -18,5 +18,6 @@
   },
   "install": {
     "in_dragonos_path": "/"
-  }
+  },
+  "target_arch": ["x86_64"]
 }

+ 2 - 1
user/dadk/config/test_sqlite3-3.42.0.dadk

@@ -19,5 +19,6 @@
   "clean": {
     "clean_command": "make clean"
   },
-  "envs": []
+  "envs": [],
+  "target_arch": ["x86_64"]
 }

+ 2 - 1
user/dadk/config/test_statfs_0_1_0.dadk

@@ -22,5 +22,6 @@
   },
   "envs": [],
   "build_once": false,
-  "install_once": false
+  "install_once": false,
+  "target_arch": ["x86_64"]
 }

+ 2 - 1
user/dadk/config/test_statx_0_1_0.dadk

@@ -21,5 +21,6 @@
   },
   "envs": [],
   "build_once": false,
-  "install_once": false
+  "install_once": false,
+  "target_arch": ["x86_64"]
 }

+ 2 - 1
user/dadk/config/test_uart-0.1.0.dadk

@@ -19,5 +19,6 @@
   "clean": {
     "clean_command": "make clean"
   },
-  "envs": []
+  "envs": [],
+  "target_arch": ["x86_64"]
 }