Linux驱动学习——内核编译

1、从官网下载适合板子的Linux内核版本

选择什么版本的内核需要根据所使用的硬件平台而定,最好使用硬件厂商推荐使用的版本

https://www.kernel.org/pub/linux/kernel/ 

2、将压缩包复制到Ubuntu内进行解压

sudo tar -xvf linux-2.6.32.2-mini2440-20150709.tgz

 然后进入该目录,以下3、4、5操作都在内核源码的顶层目录下进行,及该文件的顶层目录

3、拷贝默认配置到 .config。

cp config_mini2440_td35 .config 

4、打开可视化配置菜单(内核活地图)

make menuconfig 

在菜单里选择需要的功能,这里不做修改,选择默认的功能即可 

5、编译uImage

 make uImage

编译后发现报错 

打开 kernel/timeconst.pl修改第373行代码

372     @val = @{$canned_values{$hz}};
373     if (!defined(@val)) {                                                                                                        
374         @val = compute_values($hz);
375     }
376     output($hz, @val);
377 }
378 exit 0;

将defined删掉

然后再编译

出现 Image arch/arm/boot/uImage is ready 表示编译成功,但也不完全成功

然后将uImage拷贝到tftpboot

6、打开minicom进入uboot

 分别输入

tftp 0x30008000 uImage

bootm 0x30008000

会发现内核启动失败

检测到有未定义指令,CPU复位

 进入arch/arm/boot/Makefile,修改为0x30008040

 修改后再重新编译,更新tftpboot里的uImage,就能成功启动操作系统了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值