标签 kernel 下的文章

  • 📂《操作系统真象还原》第十一章 ---- 实现用户进程 欺骗CPU通彻进程原理 眺望终点到达还需砥砺前行教程

    文章目录相关查阅博客链接本书中错误勘误定义并初始化TSS修改后的global.h编写后的tss.c编写后的tss.h修改后的init.c修改后的MakeFilemake all 验证成果实现用户进程进程相关的内存分配理解进程相关的创建进程理解修改后的thread.h修改后的global.h修改后的memory.c修改后的memory.h编写后的process.c编写后的process.h修改...

  • 📂centos 安装cuda cudnn教程

    centos 安装cuda cudnn\#禁用nouveau[root@localhost cuda] # sudo vim /etc/modprobe.d/blacklist.conf blacklist nouveau options nouveau modeset=0 [root@localhost cuda]# sudo dracut --force [root@localhost ...

  • 📂configure: error: linux/gpio.h header not found (needed to build the library)教程

    编译gpiod文件时,遇到如下困难:checking for linux/gpio.h... no configure: error: linux/gpio.h header not found (needed to build the library)有没有曾经遇到,解决过得,gpiod下载有两个地址:1) 官网2) linux网站https://mirrors.edge.kernel....

  • 📂linux ubuntu搭建文件共享服务nfs教程

    https://www.linuxidc.com/Linux/2018-11/155331.htm服务端关键命令:apt install nfs-kernel-server mkdir -p /mnt/linuxidc chown nobody:nogroup /mnt/linuxidc chmod 777 /mnt/linuxidc vim /etc/exports # /mnt/linu...

  • 📂Linux kernel vm 内核参数教程

    vm.max\_map\_count 限制一个进程可拥有的VMA(虚拟内存区域) max\_virtual memory areas vm.max\_map\_count [65530] is too low2.

  • 📂使用 qemu 模拟器运行 aosp(基于 x86-64 Linux 内核)教程

    环境准备curl、wget、git命令可用repo命令可用android emulator下载mkdir emu-2.5-release cd emu-2.5-release repo init -u https://android.googlesource.com/platform/manifest -b emu-2.5-release repo sync -j 4 # 4为并行线程数,根...

  • 📂编译x86_64 Linux内核并基于QEMU运行教程

    编译并运行内核镜像安装包准备$ sudo apt install git $ sudo apt install build-essential kernel-package fakeroot libncurses5-dev libssl-dev ccache flex bison libelf-dev 下载 Linux 源码# 使用 git 下载 Linux 源码并切换到合适的 commit...

  • 📂linux centos7修改默认启动的内核(升级及切换内核)教程

    修改默认启动的内核步骤uname -r # 查看当前内核版本 cat /boot/grub2/grub.cfg |grep "menuentry " # 查看所有可用内核 grub2-set-default 'CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core)' #设置默认启动的内核 grub2-editenv list...

  • 📂极夜工控机Ubuntu16.04使用记录教程

    极夜工控机Ubuntu16.04使用记录文章目录极夜工控机Ubuntu16.04使用记录介绍1.制作Ubuntu16.04启动盘(UltralSO)2.Ubuntu16.04重装3.工控机分辨率问题配置太高,和Ubuntu16.04不适配,白折腾这么久,告辞!!!安排Ubuntu18.04-介绍1、启动盘重装系统; 2、升级内核及相关配置; 3、安装QT5.10.1; 4、env...

  • 📂Centos7 升级内核为最新版本教程

    步骤 1:检查已安装的内核版本linux内核版本可以参考https://www.kernel.org/步骤 2:在 CentOS 7 中升级内核大多数现代发行版提供了一种使用 yum 等包管理系统和官方支持的仓库升级内核的方法。但是,这只会升级内核到仓库中可用的最新版本 - 而不是在 https://www.kernel.org/ 中可用的最新版本。不幸的是,Red Hat 只允许使用前者升...

  • 📂为什么RHEL系统使用交换空间而不是释放缓存和缓冲内存?教程

    环境Red Hat Enterprise Linux (RHEL) All versions问题Why does my system utilize swap space instead of freeing up cache and buffer memory?What is the impact of scaling up and down the value of "swappines...

  • 📂linux kernel的virtual kernel memory layout介绍(aarch64)教程

    相关文件: memory.h pgtable.h fixmap.h page.h1、重要的配置 我们就以VA\_BITS=48,PAGE\_SIZE=4k来介绍 (1)、(VA\_BITS) (arch/arm64/Kconfig)config ARM64_VA_BITS_36 bool "36-bit" if EXPERT de...

  • 📂linux kernel进程切换(寄存器保存与恢复)教程

    在threadA执行时,被调度了执行了threadB, 那么在threadB执行完之后是如何恢复threadA进程能够继续执行的呢?我们从代码中去寻找答案, 系统调度是schedule()函数,那么我们就从schedule()函数看起 schedule() --> \_\_schedule(true) --> context\_switch(rq, prev,next) --...

  • 📂linux kernel使用技巧教程

    技巧1、 在linux kernel中读写ARM寄存器示例2、 在optee中读写ARM寄存器示例3、自定义log打印函数1、 在linux kernel中读写ARM寄存器示例#define FUNCTION_INVARIANT(reg) \ static void get_##reg(struct kvm_vcpu *v, ...

  • 📂linux kernel中的virt_to_phys代码解读教程

    假设VA\_BITS = 48 (虚拟地址有效位), 那么kernel space的虚拟地址是:0xffff\_0000\_0000\_0000 - 0xffff\_ffff\_ffff\_ffff, userspace的虚拟地址是 0x0000\_0000\_0000\_0000 - 0x0000\_ffff\_ffff\_ffff然后我们再看一张kernel space memory l...

  • 📂linux kernel中cache代码解读教程

    1、 在kernel中调用\_\_dma\_flush\_range,底层是如何操作的呢? __dma_flush_range(ptr, ptr + size); /* * __dma_flush_range(start, end) * - start - ...

  • 📂linux kernel中local_irq_disable()、local_irq_enable()代码解读教程

    在armv8-arch64架构下,控制cpu是否响应IRQ,FIQ,SERROR,DEBUG中断,是由PSTATUS(daif寄存器)控制的。 在armv8-arch32或armv7架构下,控制cpu是否响应IRQ,FIQ,SERROR,DEBUG中断,CPSP中的 D A I F bit位控制的。本文只讨论armv8-arch64架构下的linux kernel程序:首先,local\...

  • 📂linux kernel变长数组使用示例教程

    在一个结构体中,定义了长度为0的数组,而我们有希望这个变成数组和结构体是物理连续的,如图所示: 可以参考linux kernel的代码,如下所示:struct skcipher_sg_list { struct list_head list; int cur; struct scatterlist sg[0]; }; #define MAX_SGL_ENTS ((4...

  • 📂向linux kernel中添加cmdline的四种方式教程

    cmdline1、 在dts中的bootargs中添加2、在BoardConfig中添加3、在uboot中添加4、在android的Makefile中添加-★★★ 友情链接 : 个人博客导读首页—点击此处 ★★★在linux启动时候,串口log中会打印cmdline[ 0.000000] c0 0 (swapper) Kernel command line: earlycon andr...

  • 📂linux kernel的spinlock在armv7和armv8中的不同教程

    在armv7中:spin\_lock调用了wfe指令,让cpu进入低功耗状态;在spin\_unlock中调用了sev指令,让cpu退出低功耗模式;在armv8中,spin\_lock调用了wfe指令,让cpu进入低功耗状态; 在spin\_unlock中确删除了sev指令,为什么这样呢?我们在armv8的文档中找到答案: stlrh是带有释放语义的存储指令,会改变global monit...

  • 📂linux kernel的spin_lock的详细介绍(以arm64为例)教程

    1、spin\_lock的调用流程:static __always_inline void spin_lock(spinlock_t *lock) { raw_spin_lock(&lock->rlock); } #define raw_spin_lock(lock) _raw_spin_lock(lock) void __lockfunc _raw_spin_l...

  • 📂Centos 7 升级内核版本为 5.12.11教程

    背景 =======================为了 Docker、Kubernetes 运行稳定,升级 Centos 7 内核版本为 5.12.11。升级# 查看当前内核 $ uname -sr Linux 3.10.0-1160.25.1.el7.x86_64 # 查看操作系统版本 $ cat /etc/redhat-release CentOS Linux release 7....

  • 📂正点原子-Linux资料学习笔记-系统移植篇-Linux内核启动流程教程

    目录1.链接脚本vmlinux.lds2.Linux内核启动流程分析 1)Linux内核入口stext 2)\_\_mmap\_switched函数 3)start\_kernel函数 4)rest\_init函数 5)init进程-1.链接脚本vmlinux.lds ======================================要分析Linux启动流程,同样需要先编译一下L...

  • 📂ZCU111/ZynqMP/Zynq ultrascale+/Petalinux 开启系统 NFS Server 支持教程

    要使能NFS server的功能,其实在petalinux中即可配置。参考内容: ZYNQ开发板的NFS文件系统安装 - ZYNQ7021学习Petalinux: mounting NFS from shell is failingNFS server on zc706 board启动nfs server 支持kernel nfsd 使能首先需要使能内核支持nfsd,这是nfs serve...

  • 📂Windows 10 启动 Docker Desktop 时出现 WSL 2 installation is incomplete教程

    我的 Windows10 操作系统,安装完 Docker Desktop,启动后出现下面的提示窗口:WSL 2 installation is incomplete安装连接:https://docs.microsoft.com/en-us/windows/wsl/install-win10#step-4---download-the-linux-kernel-update-package把这...

  • 📂linux 休眠唤醒教程

    流程:User requests for software suspendAll the running processes are given the suspend signalThe devices are frozen so that they don’t change the system state when the snapshot is takenThe memory ima...

  • 📂centos7内核3.10.0-1160.el7.x86_64升级5.4.93-1.el7.elrepo.x86_64教程

    [root@10 ~]# uname -r 3.10.0-1160.el7.x86_64 [root@10 ~]# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm 获取http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rp...

  • 📂Linux内核源代码 学习笔记教程

    一、内核源码下载和在线阅读地址https://elixir.bootlin.com/linux/latest/sourcehttps://mirrors.edge.kernel.org/pub/linux/kernel/二、上手阅读源代码初次看源代码的同学问的最多的两个问题:1、使用什么IDE来阅读源代码?代码阅读工具是source insight2、网络协议栈源代码有哪些?由于linux内...

  • 📂Linux kernel编译生成的版本多一个加号“+”教程

    kernel版本出现一个加号(plug sign)的原因可能是如下两点,当然前提是使用Linux的GIT repository,且CONFIG\_LOCALVERSION\_AUTO和LOCALVERSION都没有设置。 (1)如果当前repository的commit ID不是某一个tag,则默认有一个加号。因为在最上层的Makefile中只有该repository中最近一次tag的版...

  • 📂centos 内核更新到5.4教程

    下载内核源 rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm 安装最新版本内核 yum --enablerepo=elrepo-kernel install -y kernel-lt 查看可用内核cat >update-kernel.sh <<EOF #!/bin/ba...