Linux驱动-------移值linux内核

移值linux(基于官方的板子的linux内核)

移值内核还是比较简单的,直接在官方开发板上面的内核上面进行修改,添加自己的文件即可:

  1. 首先是配置文件 XXXdefconfig 这个文件(在arch/arm/configs里面),复制一份配置文件,然后同理复制一份XXXdts文件(在arch/arm/boot/dts里面)
  2. 然后就直接使用命令进行对内核程序的配置
make deconfig
make menuconfig   #上面两步都是进行配置操作,最终生成.config文件,内核会读取这个配置文件,然后对内核进行有选择的编译--->实现了内核的裁剪
make -j16
  1. 内核首先会编译生成vmlinux,这个文件是 ELF 格式的文件,经过取消一些多余信息,比如符号表等,成了Image 然后经过压缩成了zimage(相比于uImage,zImage头部添加了镜像的信息:文件的类型,加载的位置,大小与生成时间等等)
  2. 内核启动:首先
①关闭MMU。
②关闭D-cache。
③I-Cache 无所谓。
④r0=0。
⑤r1=machine nr(也就是机器ID)。
⑥r2=atags 或者设备树(dtb)首地址。
Linux 内核的入口点 stext 其实相当于内核的入口函数,stext 函数内容如下

然后会调用start_kernel 函数,完成Linux的初始化工作:定时器、中断,slab分配器。
然后调用rest_init()函数,创建init进程与kthread进程:init就是pid为1的进程,是所有进程的父进程,kthread是内核进程,负责内核的线程管理,fflush缓存刷新线程就是一个内核线程。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值