当前位置: 首页 > news >正文

湖州网站建站图书管理系统网站开发绪论

湖州网站建站,图书管理系统网站开发绪论,网站建设 深圳 凡科,vi设计要素Raspberry Pi 内核 托管在 GitHub 上#xff1b;更新滞后于上游 Linux内核#xff0c;Raspberry Pi 会将 Linux 内核的长期版本整合到 Raspberry Pi 内核中。 1 构建内核 操作系统随附的默认编译器和链接器被配置为构建在该操作系统上运行的可执行文件。原生编译使用这些默…Raspberry Pi 内核 托管在 GitHub 上更新滞后于上游 Linux内核Raspberry Pi 会将 Linux 内核的长期版本整合到 Raspberry Pi 内核中。 1 构建内核 操作系统随附的默认编译器和链接器被配置为构建在该操作系统上运行的可执行文件。原生编译使用这些默认编译器和链接器。交叉编译是为运行编译过程的目标之外的目标编译代码的过程。Raspberry Pi 内核的交叉编译允许从 32 位操作系统构建 64 位内核反之亦然。也可以从 Raspberry Pi 以外的设备交叉编译 32 位或 64 位 Raspberry Pi 内核。 1.1 下载内核源代码 下载最新 Raspberry Pi 内核的源代码 git clone --depth1 https://github.com/raspberrypi/linux上面的 git clone 命令下载的是当前活动分支从这个分支构建 Raspberry Pi 操作系统镜像没有任何历史记录。省略 --depth1可以下载整个版本库包括所有分支的完整历史。 要下载不带历史记录的不同分支在上述命令中添加 --branch 选项并将 替换为要下载的分支名称 bashgit clone --depth1 --branch branch https://github.com/raspberrypi/linux 1.2 原生构建内核 1.2.1 安装编译依赖项 sudo apt install bc bison flex libssl-dev make1.2.2 构建配置 在构建内核时应用默认配置。准备默认配置需要根据 Raspberry Pi 型号运行相应命令这里使用的是树莓派5命令为 cd linux KERNELkernel_2712 make bcm2712_defconfig1.2.3 使用 LOCALVERSION 自定义内核版本 为防止内核覆盖 /lib/modules 中的现有模块并在 uname 输出中说明运行的是自己的内核调整 LOCALVERSION。 修改 .config 中的以下一行: CONFIG_LOCALVERSION-v7l-MY_CUSTOM_KERNEL1.2.4 构建 构建内核。这一步可能需要很长时间, 取决于 Raspberry Pi 型号: # 构建 64 位内核 make -j6 Image.gz modules dtbs# 构建 32 位内核 make -j6 zImage modules dtbs1.2.5 安装内核 将内核模块安装到启动媒体上 sudo make -j6 modules_install然后将内核和设备树 blobs 安装到启动分区中并备份原始内核。 如果不想在运行此命令的 Raspberry Pi 上安装刚编译好的内核可将编译好的内核复制到另一个启动介质的启动分区而不是 /boot/firmware/。 安装 64 位内核 # 运行以下命令创建当前内核的备份镜像安装新的内核镜像、覆盖层、README并卸载分区 sudo cp /boot/firmware/$KERNEL.img /boot/firmware/$KERNEL-backup.img sudo cp arch/arm64/boot/Image.gz /boot/firmware/$KERNEL.img sudo cp arch/arm64/boot/dts/broadcom/*.dtb /boot/firmware/$KERNEL-backup.img sudo cp arch/arm64/boot/dts/overlays/*.dtb* /boot/firmware/overlays/ sudo cp arch/arm64/boot/dts/overlays/README /boot/firmware/overlays/安装 32 位内核 # 创建当前内核的备份然后安装新的内核映像 sudo cp /boot/firmware/$KERNEL.img /boot/firmware/$KERNEL-backup.img sudo cp arch/arm/boot/zImage /boot/firmware/$KERNEL.img# 根据内核版本运行以下命令 # 对于版本 6.4 以下的内核 sudo cp arch/arm/boot/dts/*.dtb /boot/firmware/ # 适用于 6.5 及以上版本的内核 sudo cp arch/arm/boot/dts/broadcom/*.dtb /boot/firmware/# 复制覆盖层和 README sudo cp arch/arm/boot/dts/overlays/*.dtb* /boot/firmware/overlays/ sudo cp arch/arm/boot/dts/overlays/README /boot/firmware/overlays/运行以下命令重启 Raspberry Pi 并运行新编译的内核 sudo reboot1.3 交叉编译内核 首先需要准备一台合适的 Linux 交叉编译主机这里使用的是 ubuntu。 1.3.1 安装所需的依赖项和工具链 sudo apt install bc bison flex libssl-dev make libc6-dev libncurses5-dev# 安装 64 位工具链以构建 64 位内核请运行以下命令 sudo apt install crossbuild-essential-arm64# 安装 32 位工具链以构建 32 位内核请运行以下命令 sudo apt install crossbuild-essential-armhf1.3.2 编译配置 在构建内核时应用默认配置。准备默认配置需要根据 Raspberry Pi 型号运行相应命令这里使用的是树莓派5命令为 cd linux KERNELkernel_2712 make ARCHarm64 CROSS_COMPILEaarch64-linux-gnu- bcm2712_defconfig1.3.3 使用 LOCALVERSION 自定义内核版本 为防止内核覆盖 /lib/modules 中的现有模块并在 uname 输出中说明运行的是自己的内核调整 LOCALVERSION。 修改 .config 中的以下一行: CONFIG_LOCALVERSION-v7l-MY_CUSTOM_KERNEL1.3.4 构建 构建 64 位内核 make ARCHarm64 CROSS_COMPILEaarch64-linux-gnu- 映像模块 dtbs构建 32 位内核 make ARCHarm CROSS_COMPILEarm-linux-gnueabihf- zImage 模块 dtbs1.3.5 安装内核 构建内核后需要将其复制到 Raspberry Pi 的启动媒体可能是 SD 卡或 SSD上并安装模块。 查找启动媒体 首先运行 lsblk。然后连接启动媒体。再次运行 lsblk新设备代表启动媒体 例如我这里的输出为 sdbsdb1sdb2将这些分区挂载为 mnt/boot 和 mnt/root调整分区代号以匹配启动媒体的位置 mkdir mnt mkdir mnt/boot mkdir mnt/root sudo mount /dev/sdb1 mnt/boot sudo mount /dev/sdb2 mnt/root安装 将内核模块安装到启动媒体上 # 对于 64 位内核 sudo env PATH$PATH make -j12 ARCHarm64 CROSS_COMPILEaarch64-linux-gnu- INSTALL_MOD_PATHmnt/root modules_install# 对于 32 位内核 sudo env PATH$PATH make -j12 ARCHarm CROSS_COMPILEarm-linux-gnueabihf- INSTALL_MOD_PATHmnt/root modules_install将内核和设备树 blob 安装到启动分区并备份原始内核 # 安装 64 位内核 sudo cp mnt/boot/$KERNEL.img mnt/boot/$KERNEL-backup.img sudo cp arch/arm64/boot/Image mnt/boot/$KERNEL.img sudo cp arch/arm64/boot/dts/broadcom/*.dtb mnt/boot/ sudo cp arch/arm64/boot/dts/overlays/*.dtb* mnt/boot/overlays/ sudo cp arch/arm64/boot/dts/overlays/README mnt/boot/overlays/ sudo umount mnt/boot sudo umount mnt/root# 安装 32 位内核 sudo cp mnt/boot/$KERNEL.img mnt/boot/$KERNEL-backup.img sudo cp arch/arm/boot/zImage mnt/boot/$KERNEL.img # 对于版本 6.4 以下的内核 sudo cp arch/arm/boot/dts/*.dtb mnt/boot/ # 6.5 及以上版本的内核 sudo cp arch/arm/boot/dts/broadcom/*.dtb mnt/boot/sudo cp arch/arm/boot/dts/overlays/*.dtb* mnt/boot/overlays/ sudo cp arch/arm/boot/dts/overlays/README mnt/boot/overlays/ sudo umount mnt/boot sudo umount mnt/root最后将启动媒体连接到 Raspberry Pi 并接通电源运行新编译的内核。 2 配置内核 Linux 内核是高度可配置的, 以便根据自己的需要进行定制例如启用新的或试验性的网络协议或启用对新硬件的支持。最常见的配置方法是通过 make menuconfig 界面完成, 也可以手动修改你的 .config 文件: 2.1 准备配置 menuconfig 工具需要 ncurses 开发头文件才能正常编译: sudo apt install libncurses5-dev接下来下载内核源代码。 2.2 menuconfig 编译并运行 menuconfig 工具: make menuconfig# 交叉编译 64 位内核 make ARCHarm64 CROSS_COMPILEaarch64-linux-gnu- menuconfig # 交叉编译 32 位内核 make ARCHarm CROSS_COMPILEarm-linux-gnueabihf- menuconfig简短编译后menuconfig 将显示包含所有可配置选项的子菜单列表。第一次尝试时不要轻易启用或禁用很多选项这样很容易破坏配置。 3 内核补丁 在构建自定义内核时可能希望在 Linux 内核中应用补丁或补丁集patchsets。 3.1 确定内核版本 查看设备上当前运行的内核版本 uname -r # 6.6.51rpt-rpi-2712在打补丁之前务必检查内核版本。在内核源代码目录下运行以下命令查看内核版本: head Makefile -n n# 类似下面的输出 # SPDX-License-Identifier: GPL-2.0 VERSION 6 PATCHLEVEL 1 SUBLEVEL 38 EXTRAVERSION NAME Pinguïn Aangedreven这里可以看到版本为 6.1.38。 3.2 应用补丁 补丁的应用取决于补丁的发布格式。开发者会以单个文件的形式发布大多数补丁。使用 patch 工具来打补丁。 以下命令将下载、解压缩并使用实时内核补丁 wget https://www.kernel.org/pub/linux/kernel/projects/rt/6.1/patch-6.1.38-rt13-rc1.patch.gz gunzip patch-6.1.38-rt13-rc1.patch.gz cat patch-6.1.38-rt13-rc1.patch | patch -p1有些开发者会以 邮箱格式 发布补丁即一个包含多个补丁文件的文件夹。使用 Git 可以打上这些补丁: git am -3 /path/to/patches/*
http://www.dnsts.com.cn/news/166556.html

相关文章:

  • 沈阳制作网站企业中小企业网站建设价位
  • 济南 网站建设那家好网站建设所需知识
  • 网站项目根据什么开发郑州网站建设代理
  • 网站建设毕业设计的分类号网站导航栏内容
  • 做微网站用什么框架北京必去的十大景点
  • 烟台专业网站建设网站开发 常德
  • 网站建设北京贵中小微企业和个体工商户
  • 昆明网站优化建设以下哪个不是网络营销成熟阶段出现的网络营销方式
  • 网站建设在线推广品牌推广文案
  • 建筑安全类网站产品外观设计公司
  • 汉源县建设局网站郑州做网站推
  • wordpress 快讯宁波seo优势
  • 广州网站建设技术方案微擎应用市场
  • 普通网站可以做商城网站上的招牌图怎么做
  • 企业网站策划书制作天津建设工程信息网怎么登录
  • 中国最大网站建设公司wordpress 企业站教程
  • 夜场建设网站福建省建设厅网站 保证金
  • 网站注册域名免费高清短视频素材库
  • 汕头网站定制网站建设维护方案ppt
  • 求个网站好人一生平安电子商务网站如何设计
  • c#网站开发案例大全上海最新事件
  • 网站开发的需求文档seo描述是写什么
  • 县级网站建设网站建设技术大全
  • 厦门市机场建设招投标网站wordpress 请求数量
  • 怎样做类似淘宝网的网站软件技术就业前景怎么样
  • 交易网站建设具体方案湖北建设工程造价协会网站
  • 城乡建设厅官方网站办事大厅北京网站搜索引擎优化
  • 网站定位与建设wordpress不写代码
  • wordpress阿里巴巴国际站wordpress 重置主题
  • 阳江网站淘宝店铺首页设计