Linux内核make目标详解

1 清理目标

  • $make clean—— 删除大多数生成的文件,但保留配置和足够的构建支持以构建外部模块
  • $make mrproper —— 删除所有生成的文件+ config +各种备份文件
  • $make distclean —— $make mrproper +删除编辑器备份文件和补丁文件

2 配置目标

  • 手动配置
    • $ make [ARCH=xxx] config——基于文本的配置界面
    • $ maken[ARCH=xxx] nconfig——基于ncurses的配置界面
    • $ maken[ARCH=xxx] menuconfig——基于菜单程序的配置界面
    • $ maken[ARCH=xxx] xconfig——使用基于Qt的配置界面
    • $ maken[ARCH=xxx] gconfig——使用基于GTK+的配置界面
  • 快速配置
    • $ maken[ARCH=xxx] oldconfig——使用之前配置好的.config作为基础更新当前配置
    • $ maken[ARCH=xxx] localmodconfig——更新当前配置禁用未加载的模块
    • $ maken[ARCH=xxx] localyesconfig——更新当前配置并将模块转为内核改为内核内建
    • $ maken[ARCH=xxx] deconfig——使用ARCH提供的defconfig默认配置
    • $ maken[ARCH=xxx] savedefconfig——将当前系统的内核配置保存为./defconfig(最小配置)
    • $ maken[ARCH=xxx] allnoconfig——新配置,其中所有选项均设置为no
    • $ maken[ARCH=xxx] allyesconfig——新配置,其中所有选项均设置为yes
    • $ maken[ARCH=xxx] allmodconfig——新配置,其中所有选项均尽可能设置为module
    • $ maken[ARCH=xxx] alldefconfig——新配置,其中所有选项均设置为默认值
    • $ maken[ARCH=xxx] randconfig——新配置,其中所有选项均设置为随机值
    • $ maken[ARCH=xxx] listnewconfig——列出新选项
    • $ maken[ARCH=xxx] olddefconfig——与oldconfig相同,但在没有提示的情况下将新符号设置为其默认值
    • $ maken[ARCH=xxx] kvmconfig——为kvm来宾内核支持启用其他选项
    • $ maken[ARCH=xxx] xenconfig——为xen dom0和来宾内核支持启用其他选项
    • $ maken[ARCH=xxx] tinyconfig——配置最小的内核
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Linux内核的启动流程可以分为以下几个步骤: 1. 入口点确定:在链接文件vmlinux.lds中,通过ENTRY(stext)可以找到Linux内核的入口点,即stext。stext定义在arch/arm/kernel/head.S文件中。 2. 初始化设置:内核入口点stext首先会执行一些初始化设置,例如设置中断向量表、设置栈指针等。 3. 启动内核:接下来,stext会调用start_kernel函数,这是Linux内核的入口函数。start_kernel函数主要完成一些基本的系统初始化工作,例如初始化内核数据结构、设置页表等。 4. 创建init进程:在start_kernel函数中,会调用kernel_thread函数创建kernel_init进程,也就是init内核进程。init进程的PID为1。init进程最初是运行在内核态的,然后它会在根文件系统中查找名为"init"的程序,并通过运行这个程序实现从内核态到用户态的转变。 5. 初始化子系统:接下来,init进程会开始初始化各个子系统,例如内存管理子系统、进程管理子系统、设备驱动子系统等。每个子系统都有相应的初始化函数,用来初始化子系统的数据结构、注册设备驱动等。 6. 启动用户空间:在初始化子系统完成后,init进程会启动用户空间的第一个进程,通常是/bin/init或/sbin/init。这个进程会执行系统的初始化脚本,加载其他用户进程,并开始运行用户程序。 总之,Linux内核的启动流程包括入口点确定、初始化设置、启动内核、创建init进程、初始化子系统和启动用户空间等步骤。通过这些步骤,Linux内核能够完成系统的初始化和用户程序的加载,实现整个系统的正常运行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝月心语

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值