Linux3.2.81内核移植(2440)
来源:互联网 发布:2013网络歌手 编辑:程序博客网 时间:2024/05/16 14:45
一、内核基本配置
1、 修改顶层的Makefile
ARCH?=(SUBARCH)
CORSS_COMPILE?=
修改为
ARCH=arm
CROSS_COMPILE=arm-linux-
2、 修改arch/arm/mach-s3c2440/mach-smdk2440.c文件的时钟频率
将s3c24xx_init_clock(16934400)
改为
s3c24xx_init_clock(12000000)
3、 执行make menuconfig配置系统类型(System-type)
System Type
ARM system type (ARM Ltd.Versatile family)
(X) Samsung S3C2410, S3C2412, S3C2413, S3C2416, S3C2440, S3C2442
S3C2440and S3C2442 Machines
[*]SMDK2440
[*]SMDK2440 with S3C2440 CPU module (NEW)
二、Nand Flash移植(MTD分区)
1、 修改内核源码“arch/arm/plat-s3c24xx/common-smdk.c”
文件中的“smdk_default_nand_part[]”的结构体
staticstruct mtd_partition smdk_default_nand_part[] = {
[0] = {
.name ="bootloader",
.size =SZ_1M,
.offset = 0,
},
[1] = {
.name ="params",
.offset = MTDPART_OFS_APPEND,
.size =0x00020000,
},
[2] = {
.name ="kernel",
.offset = MTDPART_OFS_APPEND,
.size =SZ_4M,
},
[3] = {
.name ="root",
.offset = MTDPART_OFS_APPEND,
.size =MTDPART_SIZ_FULL,
}
};
2、 执行make menuconfig配置驱动DeviceDrivers
Device Drivers
<*> Memory Technology Device (MTD)support
<*> NAND Device Support
<*> NAND Flash support for Samsung S3C SoCs
<*> Support for generic platform NAND driver
<*> Caching block device access to MTD devices
<*> Direct char device access to MTD devices
三、串口驱动配置
1、 执行make menuconfig
Device Driversà
Characterdevices
Serialdrivers
<*>Samsung SoC serial support
[*]Support for console on Samsung SoC serial port
<*>Samsung S3C2440/S3C2442/S3C2416 Serial port support (NEW)
四、增加对yaffs的支持
1、 下载yaffs源码(yaffs2)
2、 给内核打补丁,进入yaffs2目录,执行
./patch-ker.sh c m /work/system/linux-3.2.81
3、 进入内核目录,执行make menuconfig
File systemsà
[*]Miscellaneous filesystemsà
<*> yaffs2 file system support
五、支持NFS启动文件系统
File systems
Network File Systems
<*> NFS file system support //要编译进内核,不能编译成模块
[*] Root file system on NFS
Networking
[*] Networking support
Networking options
[*] IP: kernel level autoconfiguration
六、保存退出,执行make uImage
在arch/arm/boot中生成uImage,但是该uImage的加载地址和入口地址一样,u-boot无法启动,所以执行
mkimage -n ‘linux-3.2.81’ -A arm -O linux -T kernel -C none -a0x30008000 -e 0x30008040 -d zImage uImage
生成的uImage即可使用
本教程使用arm-linux-gcc-4.3.2
- Linux3.2.81内核移植(2440)
- ok6410最新版linux3内核移植
- linux3.0内核移植问题记录
- linux3.6.5内核移植到S3C6410
- 移植linux3.3内核到ST2410
- 【FL2400】Linux3.0 内核移植 一
- linux3.0内核移植(S3C2440)
- 基于arm9的linux3.0内核移植
- Linux3.5.2内核移植与文件系统制作
- 移植Linux3.4.2版本内核到mini2440
- mini2440移植linux3.14.72内核笔记(1)
- 开发板X210V3S移植linux3.2内核
- linux3.18 内核移植记录(Exynos4412)
- 移植Linux3.4.2版本内核到mini2440
- 移植Linux3.4.2版本内核到mini2440
- 做linux3.0版内核移植总结。
- linux3.1.8内核移植到gt2440---CS8900A驱动移植
- OK6410(256MRAM2Gnandflash) Linux3.0.1内核移植
- 深入浅出RPC
- 极光推送getRegistrationID为空,UnsatisfiedLinkError异常
- iOS学习笔记-057.自定义View04——刷帧动画
- 关于数组,sizeof(),strlen的计算问题
- Android复习-fragment声明周期与Activity生命周期(个人笔记)
- Linux3.2.81内核移植(2440)
- 其他,備忘
- C++ 异常机制
- eclipse中的java工程项目如何引用外部jar包和dll动态链接库?
- 二叉树建立 ---层次遍历方式
- 用Vue2.0实现tabbar
- 二分图匹配——Luogu2756 [网络流24题]飞行员配对方案问题
- 如何在Linux下快速安装MapTiler
- iOS could not load any Objective-C class information