arch

Import Error: No module named arch

三世轮回 提交于 2020-08-10 01:01:10
问题 I am facing this error in iPython notebook even after installing running pip install arch command and successfully installing it. Any help would be highly appreciated. 回答1: Restart the Kernel To isolate the problem, try importing it in a normal python environment you start in the command line. 来源: https://stackoverflow.com/questions/48542243/import-error-no-module-named-arch

部分中断相关函数浅析

为君一笑 提交于 2020-04-05 23:37:12
1. /kernel/irq.c softirq_init 2.6.32.25 1.1 for_each_possible_cpu for ( ( ( cpu ) ) = - 1 ; ( ( cpu ) ) = cpumask_next ( ( ( cpu ) ) , ( cpu_possible_mask ) ) , ( ( cpu ) ) < nr_cpu_ids ; ) 1.2 per_cpu(tasklet_vec, cpu); //取per_cpu_tasklet_vec[cpu],即cpu的tasklet_vec结构。 per_cpu (tasklet_vec, cpu); ( * ( { unsigned long __ptr ; __ptr = ( unsigned long ) ( ( & per_cpu__tasklet_vec ) ) ; ( typeof ( ( & per_cpu__tasklet_vec ) ) ) ( __ptr + ( ( ( __per_cpu_offset [ cpu ] ) ) ) ) ; } ) ) ; 1.3 tasklet_vec / tasklet_hi_vec static DEFINE_PER_CPU( struct tasklet_head, tasklet_vec); static DEFINE_PER_CPU(

cloudformation 练习 - 创建EC2

纵然是瞬间 提交于 2020-04-02 18:33:46
这个是第一个Cloudformation的新手练习,简单记录一下流程。这个练习是为了大致的熟悉一下基本流程 Cloudformation是AWS的一个很重要的服务,简单的说他的功能就是为了实现 infrastructure as code。管理员通过创建template文件,在cloudformation里面执行,就可以生成对应的stack。这里的关系有点类似于面向对象编程里面,类和实例化的对象一样。用户可以通过参数传入值,然后根据template(类)生成 stack(实例化的对象)。 管理员可以通过JSON或者YAML两种格式来模板。AWS里面,这两种格式可以互相切换。YAML的重要优势在于可以在文档里面写注释,而JSON不可以,所以未来的趋势肯定是YAML。模板里面可以定义9个部分,但是除了resource是必须的话,其他都是可选的配置。 https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html 下面来看看具体的例子 AWSTemplateFormatVersion: 2010-09-09 Description: >- This template creates an EC2 instance based on the region and selection

Arch 安装手记 (-)

北慕城南 提交于 2020-03-30 12:14:54
虚拟机:VirtualBox 5.1 操作系统:Arch Linux (2017.5.1) =========================STEP 1========================== 下载 官网下载:https://www.archlinux.org/download/ =========================STEP 2========================== 进入Arch live 新建虚拟机Arch: 载入Arch系统镜像 启动虚拟机进入Arch live =========================STEP3========================== 分区 命令:cfdisk 选择gpt模式进行分区 不折腾,一切从简。创建3分区,/boot / (根) /home 分区 大小 类型 /boot 1G BIOS boot /(根) 5G linux filesystem /home 3G linux home swap 1G linux swap 设置好分区后使用mkfs命令进行格式化 mkfs.ext3 /dev/sda1 注:/boot分区采用ext3的文件格式 mkfs.ext4 /dev/sda2 注:/分区采用ext4的文件格式 mkfs.ext4 /dev/sda3 注:

纯净CentOS7.2 yum源配置与使用yum 安装系统工具net-tools

柔情痞子 提交于 2020-03-29 04:02:13
本节我们来讲CentOS 的yum 源配置 一、 yum 简介    yum ,是 Yellow dog Updater, Modified 的简称,是杜克大学为了提高 RPM 软件包安装性而开发的一种软件包管理器。起初是由 yellow dog 这一发行版的开发者 Terra Soft 研发,用 python 写成,那时还叫做 yup(yellow dog updater) ,后经杜克大学的 Linux@Duke 开发团队进行改进,遂有此名。 yum 的宗旨是自动化地升级,安装 / 移除 rpm 包,收集 rpm 包的相关信息,检查依赖性并自动提示用户解决。 yum 的关键之处是要有可靠的 repository ,顾名思义,这是软件的仓库,它可以是 http 或 ftp 站点,也可以是本地软件池,但必须包含 rpm 的 header , header 包括了 rpm 包的各种信息,包括描述,功能,提供的文件,依赖性等。正是收集了这些 header 并加以分析,才能自动化地完成余下的任务。    yum 的理念是使用一个中心仓库 (repository) 管理一部分甚至一个 distribution 的应用程序相互关系,根据计算出来的软件依赖关系进行相关的升级、安装、删除等等操作,减少了 Linux 用户一直头痛的 dependencies 的问题。这一点上, yum 和 apt

Linux内核启动:setup_arch

喜夏-厌秋 提交于 2020-03-18 07:14:09
BootLoader 可以向 Linux 传递参数,编译内核时也可以配置 boot options 。 调试中使用的 U-Boot bootargs 如下: noinitrd root=/dev/mtdblock3 rw console=ttySAC0,115200 init=/linuxrc mem=64M 内核版本: 2.6.35.7 内核的处理参数的整体过程如下: ① u-boot 将配置参数地址通过寄存器传递给内核 ② 内核 (arch/arm/kernel/head-common.S 中的 __mmap_switched) 将这个地址存入 __atags_pointer( 定义于 arch/arm/kernel/setup.c) ③ setup_arch() 函数 [html] view plain copy print ? < span style = "font-size: 14px;" > void __init setup_arch(char **cmdline_p) { struct tag * tags = (struct tag *)&init_tags; struct machine_desc *mdesc; char * from = default_command_line ; 编译内核时配置的Boot Options unwind_init();

linux-2.6.22.6内核启动分析之Makefile文件

别说谁变了你拦得住时间么 提交于 2020-03-18 07:12:25
学习目标 分析Makefile文件,了解内核中的哪些文件被编译,如何被编译,连接时顺序如何确定! Linux内核源码中包含很多的Makefile文件,这些Makefile文件又包含其它的一些文件,比如配置信息、通用规则等等。我们可以把内核中的Makefile文件分为5类,如下表所示: 顶层Makefile 所有Makefile文件的核心,从总体控制内核的编译、连接 .config 配置文件,在执行配置命令时生成。所有Makefile文件都根据.config来决定如何使用哪些文件 arch/$(ARCH)/Makefile 对应CPU体系结构的Makefile文件,用来决定那些体系结构相关的文件参与内核的生成,并提供一些规则来生成特定格式内核映象 kbuild Makefile 各级子目录下的Makefile,相对比较简单,被上一级Makefile调用来编译当前目录下的文件 script/Makefile.* Makefile共用规则和脚本 执行make uImage命令时内核最终被编译,所以要分析内核Makefile文件关系,把目标uImage作为分析的入手点最为合适。打开顶层Makefile文件,在顶层Makefile文件中查找目标uImage的依赖关系,结果发现在顶层Makefile文件中不能直接找到目标uImage的依赖

Linux优美代码赏析0.0:Makefile

你离开我真会死。 提交于 2020-03-18 07:10:55
首先阅读根目录下的makefile: 1.编译器设置 ARCH : = arm CROSS_COMPILE : = $(shell if [ - f .cross_compile ]; then \ cat .cross_compile; \ fi) 此处说明交叉编译器定义在.cross_compile文件中 2.生成依赖: SRCARCH : = $(ARCH) #主目标 all: vmlinux   #下面文件引入架构相关的编译目录 include $(srctree) / arch / $(SRCARCH) / Makefile #下面引入系统相关的编译目录 # Objects we will link into vmlinux / subdirs we need to visit init - y : = init / drivers - y : = drivers / sound / firmware / net - y : = net / libs - y : = lib / core - y : = usr / core - y += kernel / mm / fs / ipc / security / crypto / block / vmlinux - dirs : = $(patsubst %/ , % ,$(filter %/ , $(init - y) $

使用 VS2019、VSCode 编辑 Linux 驱动工程

落爺英雄遲暮 提交于 2020-03-16 09:53:03
准备配置文件 创建Project1.vcxproj配置文件 文件中添加如下内容 Debug x64 Linux Project1 15.0 Linux 1.0 Generic {2238F9CD-F817-4ECC-BD14-2524D2669B35} true D:/Linux/linux-3.4.39.6818/include; D:/Linux/linux-3.4.39.6818/arch/arm/include; D:/Linux/linux-3.4.39.6818/arch/arm/include/generated; D:/Linux/linux-3.4.39.6818/arch/arm/mach-s5p6818/include; D:/Linux/linux-3.4.39.6818/arch/arm/plat-s5p6818/include; D:/Linux/linux-3.4.39.6818/arch/arm/plat-s5p6818/common; D:/Linux/linux-3.4.39.6818/arch/arm/plat-s5p6818/GEC6818/include; %(AdditionalIncludeDirectories) __KERNEL__;CONFIG_RWSEM_GENERIC_SPINLOCK 项 描述 kernel/include

从MACHINE_START开始

[亡魂溺海] 提交于 2020-03-14 03:32:19
注:下面的内容是以linux-2.6.38和mini6410为例进行学习的。 玩过或者移植过arm-linux的都应该知道在/arch/arm目录下有许多与具体处理器相关的目录,当然对于6410的话所对应的目录就是mach-s3c64xx,在里面找到与具体板子相关的文件mach-mini6410.c,没错,就是它。无论是出于想移植到新的内核还是出于想深入学习某一款arm等,对这个文件的学习是必不可少的。这个文件大部分内容是对平台设备(例如串口,LCD,Nand falsh等)的结构体初始化,在这个文件的最后有一个非常重要的宏: 1 MACHINE_START(MINI6410, "MINI6410") 2 /* Maintainer: Ben Dooks <ben-linux@fluff.org> */ 3 .boot_params = S3C64XX_PA_SDRAM + 0x100, 4 5 .init_irq = s3c6410_init_irq, 6 .map_io = mini6410_map_io, 7 .init_machine = mini6410_machine_init, 8 .timer = &s3c24xx_timer, 9 MACHINE_END MINI6410这个宏在/arch/arm/tools/mach-types文件里定义: mini6410