s3c2440的linux内核移植简程
2015-08-27 10:08
519 查看
平台:JZ2440
系统:Ubuntu
编译链:arm-linux-gcc-3.4.5
此文章为s3c2440平台移植linux内核简单教程。
1. 打yaffs2文件系统补丁
(假设内核目录为/work/linux-2.6.22.6,yaffs源码目录为/work/Development)
a 解压压缩包linux2.6.22.6.tar.bz2和压缩包yaffs_source.tar.gz
b. 执行以下命令向内核源码打补丁:
/work/Development/yaffs2/patch-ker.sh C /work/linux-2.6.22.6
2. 修改内核目录顶层的Makefile文件内容
原文:
ARCH ?= $(SUBARCH)
CROSS_COMPILE ?=
修改为:
ARCH ?= arm
CROSS_COMPILE ?= arm-linux-
3. 复制配置文件s3c2410_defconfig到顶层覆盖.config文件
命令:#make /work/linux-2.6.22.6/s3c2410_defconfig
4. 配置内核的内容参数等等,有关配置内容请查看详细内容
命令: make /work/linux-2.6.22.6/menuconfig
5. 内核的配置界面中,在Boot options的第三行命令行参数里输入以下内容
noinitrd root="/dev/mtdblock3" rootfstype="jffs2"(空格后紧接下一行)
console="ttySAC0",115200 init="/linuxrc" mem="64M"
6. 内核配置后选择Save an Alternate Configuration File保存退出
7. 修改文件/work/linux-2.6.22.6/arch/arm/mach-s3c2440/mach-smdk2440.c内容
将函数static void __init smdk2440_map_io(void)中的数值16934400修改为12000000
8. 修改文件/work/linux-2.6.22.6/arch/arm/plat-s3c24xx/common-smdk.c内容
修改后的内容为:
static struct mtd_partition smdk_default_nand_part[ ] = {
[0] = {
.name = "bootloader",
.size = 0x00040000,
.offset = 0,
},
[1] = {
.name = "params",
.size = 0x00020000,
.offset = MTDPART_OFS_APPEND,
},
[2] = {
.name = "kernel",
.size = 0x00200000,
.offset = MTDPART_OFS_APPEND,
},
[3] = {
.name = "root",
.size = MTDPART_SIZ_FULL,
.offset = MTDPART_OFS_APPEND,
}
};
9. 进行内核编译,要用到工具mkimage(将此工具放在Ubuntu的目录/usr/bin)
命令:#make /work/linux-2.6.22.6/uImage
系统:Ubuntu
编译链:arm-linux-gcc-3.4.5
此文章为s3c2440平台移植linux内核简单教程。
1. 打yaffs2文件系统补丁
(假设内核目录为/work/linux-2.6.22.6,yaffs源码目录为/work/Development)
a 解压压缩包linux2.6.22.6.tar.bz2和压缩包yaffs_source.tar.gz
b. 执行以下命令向内核源码打补丁:
/work/Development/yaffs2/patch-ker.sh C /work/linux-2.6.22.6
2. 修改内核目录顶层的Makefile文件内容
原文:
ARCH ?= $(SUBARCH)
CROSS_COMPILE ?=
修改为:
ARCH ?= arm
CROSS_COMPILE ?= arm-linux-
3. 复制配置文件s3c2410_defconfig到顶层覆盖.config文件
命令:#make /work/linux-2.6.22.6/s3c2410_defconfig
4. 配置内核的内容参数等等,有关配置内容请查看详细内容
命令: make /work/linux-2.6.22.6/menuconfig
5. 内核的配置界面中,在Boot options的第三行命令行参数里输入以下内容
noinitrd root="/dev/mtdblock3" rootfstype="jffs2"(空格后紧接下一行)
console="ttySAC0",115200 init="/linuxrc" mem="64M"
6. 内核配置后选择Save an Alternate Configuration File保存退出
7. 修改文件/work/linux-2.6.22.6/arch/arm/mach-s3c2440/mach-smdk2440.c内容
将函数static void __init smdk2440_map_io(void)中的数值16934400修改为12000000
8. 修改文件/work/linux-2.6.22.6/arch/arm/plat-s3c24xx/common-smdk.c内容
修改后的内容为:
static struct mtd_partition smdk_default_nand_part[ ] = {
[0] = {
.name = "bootloader",
.size = 0x00040000,
.offset = 0,
},
[1] = {
.name = "params",
.size = 0x00020000,
.offset = MTDPART_OFS_APPEND,
},
[2] = {
.name = "kernel",
.size = 0x00200000,
.offset = MTDPART_OFS_APPEND,
},
[3] = {
.name = "root",
.size = MTDPART_SIZ_FULL,
.offset = MTDPART_OFS_APPEND,
}
};
9. 进行内核编译,要用到工具mkimage(将此工具放在Ubuntu的目录/usr/bin)
命令:#make /work/linux-2.6.22.6/uImage
相关文章推荐
- 读书笔记之linux/unix系统编程手册(53)
- 菜鸟学Linux命令:kill命令 终止进程
- CentOS6.X下安装配置独立SVN服务器|Subversion server
- 云智慧微课堂报名|马哥高薪Linux全系列课程(二)
- Linux 安装部署SVN服务器
- linux 防火墙配置规则
- Linux第四天
- linux kvm虚拟机 NAT/BRIDGE配置
- 每天一个linux命令---kill
- linux上的压力测试
- 【linux】Ubuntu 14.04下安装客户端RabbitVCS
- 创建centos7下的加密移动硬盘
- windows和linux查看端口占用情况
- centos 查找不到网卡解决方法。
- CentOS安装JAVA
- Linux用户管理各命令的使用
- linux mysql 更改MySQL数据库目录位置
- CentOS6.5_x64上简单编译配置Heartbeat3.0.4
- 移植最新内核Linux4.1.6到TQ2440开发板教程(一)
- linux内核编译