vmlinux-dirs-2.doc

本文详细解析了BCM(Broadcom)驱动的编译流程,包括如何通过特定宏定义筛选目录、创建软链接以及编译过程中的依赖关系。介绍了如何使用make命令针对BCM驱动进行编译,并展示了如何根据配置项生成相应的驱动文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//在这些变量中找到含有目录的字符,并去除最后的/

vmlinux-dirs-2 :=$(patsubst %/,%,$(filter %/, $(net-y) $(net-m) $(libs-y) $(libs-m)))


$(vmlinux-dirs-2):$(brcmdriver-dirs)

//这里会分别进入netlib等目录进行编译,暂不关心,只关心依赖条件BCM驱动

$(Q)$(MAKE)$(build)=$@


-------------------------------------------------------------------------------------------------------------------------


//BCM驱动目录

BRCMDRIVERS_DIR= $(BUILD_DIR)/bcmdrivers


//BCM驱动相关,这里只关心BRCMDRIVERS_DIR

brcmdrivers-y :=$(INC_BRCMBOARDPARMS_PATH)/$(BRCM_BOARD)/ $(BRCMDRIVERS_DIR)/$(INC_SPI_PATH)/ $(INC_FLASH_PATH)/


//BCM驱动变量中找到含有目录的字符,并去除最后的/

brcmdriver-dirs :=$(patsubst %/,%,$(filter %/, $(brcmdrivers-y) $(brcmdrivers-m)))


//这里暂不关心vmlinux-dirs-1,仅关心和BCM驱动相关,其中preparebrcmdriver

//仅用于建立对应产品的驱动软链接

$(brcmdriver-dirs):$(vmlinux-dirs-1) preparebrcmdriver

//进入BCM驱动目录进行编译

$(Q)$(MAKE)-j1 $(build)=$@


------------------------------------------------------------------------------------------------------------------------


//BCM驱动预处理

preparebrcmdriver:

//这里进入bcmdrivers目录,执行该目录下的Makefile,目标对象为symlinks

$(Q)$(MAKE)-C $(BRCMDRIVERS_DIR) symlinks



//这里的宏CONFIG_BCM_ENDPOINThostTools\scripts\gendefconfig中产生的,最终是根据

//targetprofile的配置来控制是否含有ENDPT驱动

//LN_DRIVER_DIRS += ln –sn impl1 broadcom/char/endpoint/bcm9xxx

ifneq($(CONFIG_BCM_ENDPOINT),)

LN_DRIVER_DIRS+=ln -sn impl$(CONFIG_BCM_ENDPOINT_IMPL)broadcom/char/endpoint/$(LN_NAME);

obj-$(CONFIG_BCM_ENDPOINT)+= broadcom/char/endpoint/$(LN_NAME)/

endif


//这里的宏CONFIG_BCM_ENDPOINThostTools\scripts\gendefconfig中产生的,最终是根据

//targetprofile的配置来控制是否含有DSPAPP驱动

//LN_DRIVER_DIRS += ln –sn impl1 broadcom/char/dspapp/bcm9xxx

ifneq($(CONFIG_BCM_BCMDSP),)

LN_DRIVER_DIRS+=ln -sn impl$(CONFIG_BCM_BCMDSP_IMPL)broadcom/char/dspapp/$(LN_NAME);

obj-$(CONFIG_BCM_BCMDSP)+= broadcom/char/dspapp/$(LN_NAME)/

endif


symlinks:applinks

//删除bcm9xxxxx的目录

find. -lname "*" -name "$(LN_NAME)" -print -exec rm-f "{}" ";"

//执行上面已经填充好的两个软链接命令

$(CONFIG_SHELL)-c "$(LN_DRIVER_DIRS)"

[2025-07-30 22:12:13] [INFO] ===== 开始下载Kubernetes离线资源 ===== [2025-07-30 22:12:13] [INFO] Kubernetes版本: v1.28.5 [2025-07-30 22:12:13] [INFO] 离线包目录: /opt/offline_packages [2025-07-30 22:12:13] [INFO] ===== 创建目录结构 ===== [2025-07-30 22:12:13] [SUCCESS] 目录创建完成: /opt/offline_packages [2025-07-30 22:12:13] [INFO] ===== 下载Kubernetes二进制文件 ===== [2025-07-30 22:12:13] [INFO] 下载: https://dl.k8s.io/release/v1.28.5/bin/linux/amd64/kubeadm #################################################################################################################################################################################################################### 100.0%#################################################################################################################################################################################################################### 100.0% [2025-07-30 22:16:46] [SUCCESS] 下载成功: kubeadm [2025-07-30 22:16:46] [INFO] 下载: https://dl.k8s.io/release/v1.28.5/bin/linux/amd64/kubelet #################################################################################################################################################################################################################### 100.0%#################################################################################################################################################################################################################### 100.0% [2025-07-30 22:20:51] [SUCCESS] 下载成功: kubelet [2025-07-30 22:20:51] [INFO] 下载: https://dl.k8s.io/release/v1.28.5/bin/linux/amd64/kubectl #################################################################################################################################################################################################################### 100.0%#################################################################################################################################################################################################################### 100.0% [2025-07-30 22:22:23] [SUCCESS] 下载成功: kubectl [2025-07-30 22:22:23] [INFO] ===== 下载容器镜像 ===== [2025-07-30 22:22:23] [INFO] 拉取镜像: registry.aliyuncs.com/google_containers/kube-apiserver:v1.28.5 Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? [2025-07-30 22:22:24] [INFO] 保存镜像: registry.aliyuncs.com/google_containers/kube-apiserver:v1.28.5 -> /opt/offline_packages/images/kube-apiserver-v1.28.5.tar Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? [2025-07-30 22:22:25] [ERROR] 镜像保存失败: registry.aliyuncs.com/google_containers/kube-apiserver:v1.28.5 [2025-07-30 22:22:25] [INFO] 拉取镜像: registry.aliyuncs.com/google_containers/kube-controller-manager:v1.28.5 Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? [2025-07-30 22:22:25] [INFO] 保存镜像: registry.aliyuncs.com/google_containers/kube-controller-manager:v1.28.5 -> /opt/offline_packages/images/kube-controller-manager-v1.28.5.tar Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? [2025-07-30 22:22:26] [ERROR] 镜像保存失败: registry.aliyuncs.com/google_containers/kube-controller-manager:v1.28.5 [2025-07-30 22:22:27] [INFO] 拉取镜像: registry.aliyuncs.com/google_containers/kube-scheduler:v1.28.5 Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? [2025-07-30 22:22:28] [INFO] 保存镜像: registry.aliyuncs.com/google_containers/kube-scheduler:v1.28.5 -> /opt/offline_packages/images/kube-scheduler-v1.28.5.tar Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? [2025-07-30 22:22:29] [ERROR] 镜像保存失败: registry.aliyuncs.com/google_containers/kube-scheduler:v1.28.5 [2025-07-30 22:22:29] [INFO] 拉取镜像: registry.aliyuncs.com/google_containers/kube-proxy:v1.28.5 Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? [2025-07-30 22:22:30] [INFO] 保存镜像: registry.aliyuncs.com/google_containers/kube-proxy:v1.28.5 -> /opt/offline_packages/images/kube-proxy-v1.28.5.tar Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? [2025-07-30 22:22:30] [ERROR] 镜像保存失败: registry.aliyuncs.com/google_containers/kube-proxy:v1.28.5 [2025-07-30 22:22:30] [INFO] 拉取镜像: registry.aliyuncs.com/google_containers/pause:3.9 Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? [2025-07-30 22:22:31] [INFO] 保存镜像: registry.aliyuncs.com/google_containers/pause:3.9 -> /opt/offline_packages/images/pause-3.9.tar Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? [2025-07-30 22:22:31] [ERROR] 镜像保存失败: registry.aliyuncs.com/google_containers/pause:3.9 [2025-07-30 22:22:31] [INFO] 拉取镜像: registry.aliyuncs.com/google_containers/etcd:3.5.9-0 Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? [2025-07-30 22:22:32] [INFO] 保存镜像: registry.aliyuncs.com/google_containers/etcd:3.5.9-0 -> /opt/offline_packages/images/etcd-3.5.9-0.tar Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? [2025-07-30 22:22:32] [ERROR] 镜像保存失败: registry.aliyuncs.com/google_containers/etcd:3.5.9-0 [2025-07-30 22:22:32] [INFO] 拉取镜像: registry.aliyuncs.com/google_containers/coredns:v1.10.1 Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? [2025-07-30 22:22:33] [INFO] 保存镜像: registry.aliyuncs.com/google_containers/coredns:v1.10.1 -> /opt/offline_packages/images/coredns-v1.10.1.tar Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? [2025-07-30 22:22:33] [ERROR] 镜像保存失败: registry.aliyuncs.com/google_containers/coredns:v1.10.1 [2025-07-30 22:22:33] [INFO] 拉取镜像: quay.io/coreos/flannel:v0.22.0 Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? [2025-07-30 22:22:34] [INFO] 保存镜像: quay.io/coreos/flannel:v0.22.0 -> /opt/offline_packages/images/flannel-v0.22.0.tar Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? [2025-07-30 22:22:35] [ERROR] 镜像保存失败: quay.io/coreos/flannel:v0.22.0 [2025-07-30 22:22:35] [INFO] ===== 下载系统优化工具 ===== [2025-07-30 22:22:35] [INFO] 下载: https://github.com/topaz2/cheat/releases/download/4.4.5/cheat-linux-amd64.gz #################################################################################################################################################################################################################### 100.0% [2025-07-30 22:22:36] [SUCCESS] 下载成功: cheat-linux-amd64.gz [2025-07-30 22:22:36] [INFO] 下载: https://github.com/aristocratos/btop/releases/download/v1.3.0/btop-x86_64-linux-musl.tbz -=O=- # # # # curl: (7) Failed to connect to github.com port 443: 拒绝连接 [2025-07-30 22:22:58] [ERROR] 下载失败: btop-x86_64-linux-musl.tbz [2025-07-30 22:22:58] [INFO] 下载: https://github.com/ClementTsang/bottom/releases/download/0.9.6/bottom_x86_64-unknown-linux-gnu.tar.gz -=O=- # # # # curl: (7) Failed to connect to github.com port 443: 拒绝连接 [2025-07-30 22:23:19] [ERROR] 下载失败: bottom_x86_64-unknown-linux-gnu.tar.gz [2025-07-30 22:23:19] [INFO] 下载: https://github.com/sharkdp/fd/releases/download/v8.7.1/fd-v8.7.1-x86_64-unknown-linux-gnu.tar.gz -=O=- # # # # curl: (7) Failed to connect to github.com port 443: 拒绝连接 [2025-07-30 22:23:40] [ERROR] 下载失败: fd-v8.7.1-x86_64-unknown-linux-gnu.tar.gz [2025-07-30 22:23:40] [INFO] 下载: https://github.com/sharkdp/bat/releases/download/v0.24.0/bat-v0.24.0-x86_64-unknown-linux-gnu.tar.gz -=O=- # # # # curl: (7) Failed to connect to github.com port 443: 拒绝连接 [2025-07-30 22:24:01] [ERROR] 下载失败: bat-v0.24.0-x86_64-unknown-linux-gnu.tar.gz [2025-07-30 22:24:01] [INFO] 下载: https://github.com/ogham/exa/releases/download/v0.10.1/exa-linux-x86_64-v0.10.1.zip -=O=- # # # # curl: (7) Failed to connect to github.com port 443: 拒绝连接 [2025-07-30 22:24:23] [ERROR] 下载失败: exa-linux-x86_64-v0.10.1.zip [2025-07-30 22:24:23] [INFO] ===== 生成部署脚本 ===== [2025-07-30 22:24:23] [SUCCESS] 系统优化脚本已生成 [2025-07-30 22:24:23] [SUCCESS] Kubernetes安装脚本已生成 [2025-07-30 22:24:23] [SUCCESS] ===== 下载完成! ===== [2025-07-30 22:24:23] [INFO] 1. 打包离线资源: sudo /opt/offline_packages/package_offline.sh [2025-07-30 22:24:23] [INFO] 2. 复制离线包到目标服务器 [2025-07-30 22:24:23] [INFO] 3. 在目标服务器解压: sudo tar -xzvf k8s-offline-pkg-*.tar.gz -C /opt [2025-07-30 22:24:23] [INFO] 4. 执行系统优化: sudo /opt/offline_packages/optimize_system.sh [2025-07-30 22:24:23] [INFO] 5. 安装Kubernetes: sudo /opt/offline_packages/install_k8s_offline.sh 根据错误、重新生成完整、有效、可用的下载脚本、离线部署脚本、服务器系统优化脚本。
08-01
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值