Linux内核--01(基于armA9tiny4412开发板)

本文介绍如何编译Linux内核3.5版本,包括解压内核压缩包、配置编译选项、使用多线程进行编译,以及内核编译完成后的提示信息。同时,讲解了追踪Linux源码的方法,涉及ctags和cscope工具的安装与使用,以及vim配置的调整,使开发者能在任意目录下高效追踪内核代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、如何编译内核

tar -Jxvf linux-3.5-20170929.tar.xz -C /~
解压内核压缩包至自己的家目录
建议删除arch目录与我们无关的其他架构的文件夹
通过./config生成Makefile,但是因为我们初学内核,不懂得用		
meumconfig选择哪些选项编译进入内核,故./millet4412_linux_defconfig来生成我们的Makefile通过make -j 4
开启内核4个线程去编译我们的内核。
最终提示  Kernel: arch/arm/boot/zImage is ready

2、追踪源码

Linux源码的追踪会一直伴随着我们整个的内核学习。故学会追踪源码是必须的。修改vimrc 第二行为 linux-3.5下cags的绝对路径
首先下载ctags工具。通过apt直接下载即可。
解压cscope-15.8b.tar.gz并./configf make make install安装(可能出问题,根据提示安装对应的包,每次失败执行 make distclean)
taglist_46.zip (unzip xxx -d text)  解压 
cp doc/taglist.txt  /usr/share/vim/vim74/doc/
cp plugin/  /usr/share/vim/vim74/plugin/
最后修改vimrc 第二行为 linux-3.5下cags的绝对路径
可以通过 vim -t strlen 在任意目录下随便的追踪内核代码

3、Linux内核文件初识

fs  文件系统相关init 内核的启动程序
fs文件系统相关
Documentation为文档(没有man手册了,在内核阶段)
include是与硬件接口无关的函数声明
kernel 内核支持中断 电源 进程 时间管理 调度
arch/arm/includ 硬件相关的函数声明
apc 进程通信
lib 与体积结构无关的库文件
mm 内存管理相关代码
net 协议栈
sound 声卡
scipts脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值