feat(CI): Build both platform image without edit configs (#3)

* feat(ci): additional dadk manifest for CI, add container capable rv64 run arg and gendisk cmd

* feat(build): kernel compiling(linking) from diff-arch nolonger needs to make clean

* breaking: use ci-command to run targets, enable both arch to build together

* fix: specify toolchains and the dadk menifest for user program, and add nessesary toolchain. Now riscv64 ver of DragonOS can run into user mode.

* fix(env): cleanup dirty configs, add make clean back

* fix(build): update permission with whoami, and nolonger compile grub in rv64 building.

* feat(ide): support for vscode debuging, using lldb plugin

* feat(ci): automate u-boot download and installation for riscv64
This commit is contained in:
2025-03-18 15:20:54 +08:00
committed by GitHub
parent fbb0d1f4a5
commit 153b7a6cb8
23 changed files with 537 additions and 151 deletions

View File

@ -1,23 +0,0 @@
{
"configurations": [
{
"name": "DragonOS",
"includePath": [
"${workspaceFolder}/**",
"${workspaceFolder}/bin/sysroot/usr/include",
"${workspaceFolder}/user/libs/libc/src/include",
"${workspaceFolder}/user/libs/libc/src/include/export"
],
"defines": [
"__x86_64__",
"DEBUG"
],
"compilerPath": "~/opt/dragonos-gcc/gcc-x86_64-unknown-none/bin/x86_64-elf-gcc",
"cStandard": "gnu17",
"cppStandard": "gnu++14",
"intelliSenseMode": "linux-gcc-x64",
"configurationProvider": "ms-vscode.makefile-tools"
}
],
"version": 4
}

22
.vscode/launch.json vendored Normal file
View File

@ -0,0 +1,22 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "lldb",
"request": "launch",
"name": "Debug RISCV64 elf",
"stopOnEntry": false,
"preLaunchTask": "DragonOS: Start riscv64",
"targetCreateCommands": ["target create ${workspaceFolder}/bin/riscv64/kernel/kernel.elf"],
"processCreateCommands": [
"gdb-remote localhost:1234",
"continue" // Get over the first trap into the kernel
],
"args": [],
"cwd": "${workspaceFolder}",
}
]
}

32
.vscode/tasks.json vendored Normal file
View File

@ -0,0 +1,32 @@
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "DragonOS: Build riscv64",
"command": "make",
"group": { "kind": "build", "isDefault": true },
"args": [
"ci-build",
"ARCH=riscv64"
],
"options": {
"cwd": "${workspaceFolder}"
}
},
{
"type": "process",
"label": "DragonOS: Start riscv64",
"command": "bash",
"args": [
"ci-start-riscv64.sh"
],
"options": {
"cwd": "${workspaceFolder}/oscomp"
},
"isBackground": true
}
]
}