NPU Driver Installer
Feature Introduction
NPU Driver Installer provides containerized installation and deployment for NPU drivers and firmware.
Installation Deployment
This component is one of the components installed by openFuyao NPU Operator features and can also be installed independently. For deployment methods, please refer to NPU Operator User Guide and Component Deployment yaml.
Local Build
Image Build
Build Parameters
GOPRIVATE: Configure Go language private repository, equivalent toGOPRIVATEenvironment variable.COMMIT: Hash value of current git commit.VERSION: Component version.SOURCE_DATE_EPOCH: Timestamp of the image rootfsen.
Build Commands
-
Build and push to specified OCI repository.
Using
dockerdocker buildx build . -f <path/to/dockerfile> \ -o type=image,name=<oci/repository>:<tag>,oci-mediatypes=true,rewrite-timestamp=true,push=true \ --platform=linux/amd64,linux/arm64 \ --provenance=false \ --build-arg=GOPRIVATE=gopkg.openfuyao.cn \ --build-arg=COMMIT=$(git rev-parse HEAD) \ --build-arg=VERSION=0.0.0-latest \ --build-arg=SOURCE_DATE_EPOCH=$(git log -1 --pretty=%ct)Using
nerdctlnerdctl build . -f <path/to/dockerfile> \ -o type=image,name=<oci/repository>:<tag>,oci-mediatypes=true,rewrite-timestamp=true,push=true \ --platform=linux/amd64,linux/arm64 \ --provenance=false \ --build-arg=GOPRIVATE=gopkg.openfuyao.cn \ --build-arg=COMMIT=$(git rev-parse HEAD) \ --build-arg=VERSION=0.0.0-latest \ --build-arg=SOURCE_DATE_EPOCH=$(git log -1 --pretty=%ct)Where
<path/to/dockerfile>is the Dockerfile path,<oci/repository>is the image address, and<tag>is the image tag. -
Build and export OCI Layout to local tarball.
Using
dockerdocker buildx build . -f <path/to/dockerfile> \ -o type=oci,name=<oci/repository>:<tag>,dest=<path/to/oci-layout.tar>,rewrite-timestamp=true \ --platform=linux/amd64,linux/arm64 \ --provenance=false \ --build-arg=GOPRIVATE=gopkg.openfuyao.cn \ --build-arg=COMMIT=$(git rev-parse HEAD) \ --build-arg=VERSION=0.0.0-latest \ --build-arg=SOURCE_DATE_EPOCH=$(git log -1 --pretty=%ct)Using
nerdctlnerdctl build . -f <path/to/dockerfile> \ -o type=oci,name=<oci/repository>:<tag>,dest=<path/to/oci-layout.tar>,rewrite-timestamp=true \ --platform=linux/amd64,linux/arm64 \ --provenance=false \ --build-arg=GOPRIVATE=gopkg.openfuyao.cn \ --build-arg=COMMIT=$(git rev-parse HEAD) \ --build-arg=VERSION=0.0.0-latest \ --build-arg=SOURCE_DATE_EPOCH=$(git log -1 --pretty=%ct)Where
<path/to/dockerfile>is the Dockerfile path,<oci/repository>is the image address,<tag>is the image tag, andpath/to/oci-layout.taris the tar package path. -
Build and export image rootfs to local directory.
Using
dockerdocker buildx build . -f <path/to/dockerfile> \ -o type=local,dest=<path/to/output>,platform-split=true \ --platform=linux/amd64,linux/arm64 \ --provenance=false \ --build-arg=GOPRIVATE=gopkg.openfuyao.cn \ --build-arg=COMMIT=$(git rev-parse HEAD) \ --build-arg=VERSION=0.0.0-latestUsing
nerdctlnerdctl build . -f <path/to/dockerfile> \ -o type=local,dest=<path/to/output>,platform-split=true \ --platform=linux/amd64,linux/arm64 \ --provenance=false \ --build-arg=GOPRIVATE=gopkg.openfuyao.cn \ --build-arg=COMMIT=$(git rev-parse HEAD) \ --build-arg=VERSION=0.0.0-latestWhere
<path/to/dockerfile>is the Dockerfile path andpath/to/outputis the local directory path.
Helm Chart Build
-
Package Helm Chart.
helm package <path/to/chart> -u \ --version=0.0.0-latest \ --app-version=openFuyao-v25.09Where
<path/to/chart>is the Chart folder path. -
Push Chart package to specified OCI repository.
helm push <path/to/chart.tgz> oci://<oci/repository>:<tag>Where
<path/to/chart.tgz>is the Chart package path,<oci/repository>is the Chart package push address, and<tag>is the Chart package tag.