
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
 | 依赖项 | 备注 |
|---|---|---|---|
--with-bmv2 | no | bmv2 及其依赖项 | 隐含 --with-fe-cpp |
--with-proto | no | Protobuf、gRPC、libboost-thread-dev | - |
--with-fe-cpp | no | - | - |
--with-internal-rpc | no | nanomsg | - |
--with-cli | no | readline | - |
--with-sysrepo | no | 与 --with-proto 相同 + sysrepo 及其依赖项 | - |
boost/optional.hpp和boost/functional/hash.hpp| 依赖项 | Debian包名称 |
|---|---|
| Judy | libjudy-dev |
| readline | libreadline-dev |
| valgrind | valgrind |
| libtool二进制文件 | libtool-bin |
| Boost库 | libboost-dev libboost-system-dev libboost-thread-dev |
部分依赖项无Debian包或可用版本不适用:
git clone --depth=1 -b v3.6.1 https://github.com/google/protobuf.git cd protobuf/ ./autogen.sh ./configure make [sudo] make install [sudo] ldconfig
git clone --depth=1 -b v1.17.2 https://github.com/google/grpc.git cd grpc/ git submodule update --init --recursive make [sudo] make install [sudo] ldconfig
可使用其他版本的Protobuf/gRPC或更新版本的nanomsg,但上述版本用于开发和CI测试。使用--with-proto运行configure时,脚本会验证Protobuf >= 3.0.0和gRPC >= 1.3.0。
要在构建中包含p4runtime.proto,使用--with-proto运行configure:
./autogen.sh ./configure --with-proto make make check [sudo] make install
提供对Bazel构建系统的试验性支持,便于其他Bazel项目导入。大多数用户建议使用基于autotools的构建系统。
使用https://github.com/bazelbuild/bazelisk%E5%9C%A8CI%E4%B8%AD%E5%AE%89%E8%A3%85Bazel%EF%BC%8C%E4%BC%9A%E5%AE%89%E8%A3%85%E6%9C%80%E6%96%B0%E5%AE%98%E6%96%B9%E7%89%88%E6%9C%AC%E3%80%82
bazel build //proto/frontend:pifeproto bazel test //proto/tests:pi_proto_tests
在WORKSPACE文件中:
git_repository)load("//bazel:deps.bzl", "PI_deps") PI_deps() # 传递依赖项 load("@com_github_p4lang_p4runtime//:p4runtime_deps.bzl", "p4runtime_deps") p4runtime_deps() load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps") protobuf_deps() load("@rules_proto//proto:repositories.bzl", "rules_proto_dependencies", "rules_proto_toolchains") rules_proto_dependencies() rules_proto_toolchains() load("@com_google_googleapis//:repository_rules.bzl", "switched_rules_by_language") switched_rules_by_language( name = "com_google_googleapis_imports", grpc = True, cc = True, python = True, ) load("@com_github_grpc_grpc//bazel:grpc_deps.bzl", "grpc_deps") grpc_deps() load("@com_github_grpc_grpc//bazel:grpc_extra_deps.bzl", "grpc_extra_deps") grpc_extra_deps() load("@com_github_grpc_grpc//bazel:grpc_python_deps.bzl", "grpc_python_deps") grpc_python_deps() load("@rules_python//python:pip.bzl", "pip_import", "pip_repositories") pip_repositories() pip_import( name = "grpc_python_dependencies", requirements = "@com_github_grpc_grpc//:requirements.bazel.txt", ) load("@grpc_python_dependencies//:requirements.bzl", "pip_install") pip_install() load("@com_github_nelhage_rules_boost//:boost/boost.bzl", "boost_deps") boost_deps()
PI CLI支持实验性table_add和table_delete,可结合bmv2 simple_switch测试。系统安装bmv2后,通过./configure --with-bmv2 --with-cli && make构建PI和CLI,尝试以下命令:
simple_switch tests/testdata/simple_router.json // 启动交换机 ./CLI/pi_CLI_bmv2 -c tests/testdata/simple_router.json // 启动CLI PI CLI> assign_device 0 0 -- port=9090 // 0 0:设备ID+配置ID PI CLI> table_add ipv4_lpm 10.0.0.1/24 => set_nhop 10.0.0.1 1 PI CLI> table_dump ipv4_lpm PI CLI> table_delete ipv4_lpm <table_add返回的句柄>
参见CONTRIBUTING.md。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。




来自真实用户的反馈,见证轩辕镜像的优质服务