Linux内核源码树的每个目录下都有一个Kconfig和Makefile, 分布到各目录的Kconfig构成了一个分布式的内核配置数据库, 每个Kconfig分别描述了所属目录源文档相关的内核配置菜单. 在linux目录执行内核配置make menuconfig时, 从Kconfig中读出菜单, 用户选择后保存到linux-2.6/.config ...
fork 和 exec 的使用体现了 UNIX 的精髓,它提供了一种非常简单的方式来启动新的任务。注意这里“任务”一词的使用,我刻意避免使用“进程”或“程序”这两个术语: 进程是“执行引擎”,是操作系统中能够运行程序的实体; 程序是用于执行相同任务的特定 ...
会调用顶层的Makefile的 %config 规则。 第 534 行:引用 arch/arm/Makefile 这个文件,这个文件很重要, zImage、uImage 等这些文件就是由 arch/arm/Makefile 来生成的。 第 540 行:%config 规则: %通配符,当输入“make xxx_defconfig”的时候就会匹配到%config 目标 FORCE 是没有规则和 ...
硬件必须支持Intel-VT或者AMD-V技术,并且BIOS开启虚拟化选项,不然没得玩。 CPU指令集包括VT-x KVM 与 Qemu 的前世今生 Qemu 是一个纯软件实现的开源「模拟」软件,它能够模拟整套虚拟机的实现,包括 CPU、内存、各种 IO 设备、鼠标、键盘、USB 、网卡、声卡等等 ...
我们在编译Linux内核时,往往在Linux内核的顶层目录会执行一些命令,这里我以RK3288举例,比如:make firefly-rk3288-linux_defconfig、make menuconfig、make firefly-rk3288.img、make zImage等等。先不管这具体的含义,首先提出几个疑问 (1)Linux内核如此庞大(几万个文件),目录 ...
执行一个Makefile,并不是从第一行开始执行,而是从指定或默认的编译目标开始执行(位置目标编译规则之前的赋值语句,只在相应变量需要被使用时才会执行),其中,Makefile(包括include内容)中的第一个目标,为默认目标,如果make命令行中没有指定编译目标 ...
在前文中,我们分析了内核启动的整个过程以及系统调用的过程,从本文开始我们会介绍Linux系统各个重要的组成部分。这一切就从进程和线程开始,在 Linux 里面,无论是进程,还是线程,到了内核里面,我们统一都叫任务(Task),由一个统一的结构 task_struct ...
make[1]: *** No rule to make target 'arch/x86/tools/relocs_32.c', needed by 'arch/x86/tools/relocs_32.o'。 停止。 arch/x86/Makefile:214: recipe for target ...
本文主要介绍以下几个命令的区别: 和$(commond)差不多。 【这里的“ ` ”符号是撇(反单引号),不是单引号,是键盘上Esc按键下面的那个键。】 shell的内建命令exec将并不启动新的shell,而是用要被执行命令替换当前的shell进程,并且将老进程的环境清理掉 ...