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

昆明hph网站建设头条热点新闻

昆明hph网站建设,头条热点新闻,做网站委托书,株洲网站建设网站运营文章目录 1. 前言2. 编译过程2.1 准备内核源代码2.2 安装编译工具2.3 配置、编译、运行2.3.1 配置2.3.2 编译2.3.3 运行 3. 参考资料 1. 前言 限于作者能力水平,本文可能存在谬误,因此而给读者带来的损失,作者不做任何承诺。 2. 编译过程 …

文章目录

  • 1. 前言
  • 2. 编译过程
    • 2.1 准备内核源代码
    • 2.2 安装编译工具
    • 2.3 配置、编译、运行
      • 2.3.1 配置
      • 2.3.2 编译
      • 2.3.3 运行
  • 3. 参考资料

1. 前言

限于作者能力水平,本文可能存在谬误,因此而给读者带来的损失,作者不做任何承诺。

2. 编译过程

本文基于 Ubuntu 20.04 LTS Desktop 系统进行编译。编译生成代码的目标架构ARM64,使用 QEMU 运行。

2.1 准备内核源代码

到 kernel.org 下载 Linux 6.13.2 内核:

在这里插入图片描述

2.2 安装编译工具

安装 clang + llvm,pahole

sudo apt-get update
sudo apt-get install clang-18 lld-18
sudo apt install dwarves

如果是 Ubuntu 22.04 LTS Desktop 系统下,可通过如下操作安装高版本 clang :

wget https://apt.llvm.org/llvm.sh
chmod u+x llvm.sh
sudo ./llvm.sh 18sudo apt-get install libelf-dev

参考链接:

如何在 Ubuntu 22.04 中安装 Clang 17 或 16 | 20.04
Easy Steps To Install Clang LLVM on Ubuntu 22.04

2.3 配置、编译、运行

2.3.1 配置

首先生成默认配置:

# 指定使用 clang-18
make LLVM=-18 ARCH=arm64 O=output defconfig

然后通过命令修改配置:

make LLVM=-18 ARCH=arm64 O=output menuconfig

开启 sched_ext 配置和其依赖配置:

CONFIG_BPF=y
CONFIG_SCHED_CLASS_EXT=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPF_JIT=y
CONFIG_DEBUG_INFO_BTF=y

还有一些建议但不是必须开启的配置:

CONFIG_BPF_JIT_ALWAYS_ON=y
CONFIG_BPF_JIT_DEFAULT_ON=y
CONFIG_PAHOLE_HAS_SPLIT_BTF=y
CONFIG_PAHOLE_HAS_BTF_TAG=y

其中 CONFIG_PAHOLE_HAS_SPLIT_BTFCONFIG_PAHOLE_HAS_BTF_TAG 都对工具 pahole 的版本有要求,Ubuntu 20.04 安装的 pahole 的版本为 1.21,无法支持 CONFIG_PAHOLE_HAS_BTF_TAG 特性,但不影响 sched_ext 的使用。

另外还可以开启一些调试配置

# useful debug features for sched_ext
CONFIG_DEBUG_INFO=y
CONFIG_SCHED_DEBUG=y
CONFIG_DEBUG_INFO_DWARF5=y
CONFIG_DEBUG_INFO_BTF_MODULES=y

2.3.2 编译

make LLVM=-18 ARCH=arm64 O=output -j8
make LLVM=-18 ARCH=arm64 O=output -j8 modules

编译后生成的 vmlinux 编译器信息是 clang-18

在这里插入图片描述

2.3.3 运行

qemu-system-aarch64 -machine virt,virtualization=true,gic-version=3 \-cpu cortex-a53 -smp 2 -m 1024M \-nographic \-kernel linux-6.13.2/arch/arm64/boot/Image \-append "console=ttyAMA0 root=/dev/vda rw rootfstype=ext4 init=/init" \-drive file=arm64-ubuntu-20.04.1.img,format=raw,index=0,media=disk

其中 arm64-ubuntu-20.04.1.img 为根文件系统镜像,读者可自行通过 busyboxbuildroot 等工具进行构建,本文不做涉及。

看一下运行后效果:

$ uname -r
6.13.2$ ls -l /sys/kernel/sched_ext/
total 0
-r--r--r-- 1 root root 4096 Feb 16 17:41 enable_seq
-r--r--r-- 1 root root 4096 Feb 16 17:41 hotplug_seq
-r--r--r-- 1 root root 4096 Feb 16 17:41 nr_rejected
-r--r--r-- 1 root root 4096 Feb 16 17:41 state
-r--r--r-- 1 root root 4096 Feb 16 17:41 switch_all

3. 参考资料

  1. 内核文档:Documentation/kbuild/llvm.rst
  2. 内核文档:Documentation/scheduler/sched-ext.rst
  3. 内核文档:tools/sched_ext/README.md
http://www.mmbaike.com/news/92569.html

相关文章:

  • 廊坊做网站外包域名注册商
  • 西安做网站的阿里云域名注册入口
  • 吉他网站怎么做世界网站排名查询
  • 房地产营销网站建设推广策略都有哪些
  • wordpress怎么做站群优化合作平台
  • 青羊区电商型网站建设设计关键词优化排名查询
  • 外贸展示型模板网站模板网络营销站点推广的方法
  • 阿里云云服务器ecs做网站访问慢seo快速排名代理
  • 做爰电影网站百度指数排名
  • 怎么做网站frontpage百度手机浏览器
  • 河北怀来县建设局网站正规赚佣金的平台
  • 网站升级方案产品宣传方案
  • 去什么网站可以做ctf的题目源码之家
  • 58桐城网站做装修推广是真的吗百度手机助手下载2022官方正版
  • 台湾室内设计网站广州网站优化推广
  • 织梦cms安装网站程序营销网站
  • 江苏广泽建设有限公司网站南宁网站制作
  • 手机端网站开发教程seo搜索引擎优化公司
  • 广西南宁做网站推广普通话宣传内容
  • 建设厅焊工证查询网站如何注册一个平台
  • 郑州网站推广外包地址seo网站关键词优化费用
  • 许昌网站推广公司seo设置是什么
  • 陵水网站建设哪家专业网址查询域名解析
  • 网站二级域名如何设置百度提交链接
  • wordpress支付可见阳泉seo
  • 赣州疾控发布风险提示seo薪资seo
  • 天津企业设计网站建设广告推广公司
  • 网站开发数据接口如何利用站长工具无内鬼放心开车禁止收费
  • 文化创意设计公司黄山seo公司
  • 没网站可以做seo吗中国职业技能培训中心官网