ARM Linux.2.6.34内核移植
第一步:
修改linux-2.6.34/Makefile文件,在makefile中找到以下两条信息并做修改
ARCH ? =arm
CROSS_COMPILE ?=/usr/local/arm/4.3.2/bin/arm-linux-
第二步:
修改平台输入时钟
修改平台的时钟频率,修改内核源码“arch/arm/mach-s3c2440/mach-smdk2440.c”
把时钟初始化中(S3C24XX_init_clocks(16934400 ))的16934400 改为12000000,因为我们的开发板上为12M
第三步:
修改机器类型ID号::
bootloader启动内核时,会传递机器类型ID进来,这里需根据bootloadr传进的ID修改内核ID号.
在内核源码的“arch/arm/tools/mach-types”文件查找S3C2440,这里刚好与我们的bootloader相同,所以不用做修改,直接保存退出即可,如果不同则根据bootloader的内容修改此文件,或根据此文件修改boorloader的内容(在vivi中可通过param show查看)。
第四步:
解压yaffs2.tar.gz源码包,进入yaffs2文件夹,给内核打上补丁使内核支持yaffs2
# ./patch-ker.sh c /home/linux-2.6.34
结果:更新了两个文件系统下的文件
Updating /home/linux-2.6.34/fs/Kconfig
Updating /home/linux-2.6.34/fs/Makefile
第五步:
修改内核mtd分区和bootloader(vivi)使其一致
编辑文件arch/arm/plat-s3c24xx/common-smdk.c
static struct mtd_partition smdk_default_nand_part[] = {
[0] = {
.name = "vivi",
.size = 0x30000,
.offset = 0,
},
[1] = {
.name = "kernel",
.offset = 0x50000,
.size = 0x300000,
},
[2] = {
.name = "root",
.offset = 0x350000,
.size = 0x3cac000,
},
};
第六步:
修改文件drivers/mtd/nand/s3c2410.c
将s3c2410_nand_init_chip函数里的NAND_ECC_SOFT改为NAND_ECC_NONE(因为在内核中默认配置不支持ECC校验,当然也可以在内核配置时选中ECC选项)
修改后如下:
chip->ecc.mode = NAND_ECC_NONE;
第七步:
到llinux-2.6.30目录下执行命令
#cp arch/arm/configs/s3c2410_defconfig .config
第八步:
执行make menuconfig,并对选项进行配置
1)System Type --->
S3C2440 and S3C2442 machines --->
仅保留SMDK2440 与SMDK2440 whith S3C2440 CPU module两个选项,将其他的选项全部勾掉
2)Kernel Features --->
[*]Use the arm EABI to compile the kernel(选中该选项)
3)File systems --->
a、把与ext2 ext3 ext4相关的所有选项全部去掉
b、Miscellaneous filesystems --->
<*>yaffs2 file system support(选中此选项)
去除所有与jffs2相关的选项
保存退出
第九步:执行make zImage 编译生成内核.
在arch/arm/boot下生成编译好的可执行程序zImage. 这个是在vivi下使用的.
wenhao@20110609
转载于:https://www.cnblogs.com/hnrainll/archive/2011/06/09/2076522.html
ARM Linux.2.6.34内核移植相关推荐
- 将linux内核烧进arm板,ARM开发板上uClinux内核移植
<ARM开发板上uClinux内核移植>由会员分享,可在线阅读,更多相关<ARM开发板上uClinux内核移植(19页珍藏版)>请在人人文库网上搜索. 1.纷傲掌秀悸篷益哑檀扬 ...
- linux内核移植与开发板,Linux 2.6.36内核移植飞凌OK6410开发板完整步骤详解
Linux 2.6.36内核移植飞凌OK6410开发板完整步骤详解 [复制链接] 今天终于让Linux内核在飞凌的板子上跑起来了,想来也是艰辛,为了移植成功,断断续续做了将近两个月的努力,期间郁闷不可 ...
- ARM linux解析之压缩内核zImage的启动过程
ARM linux解析之压缩内核zImage的启动过程 首先,我们要知道在zImage的生成过程中,是把arch/arm/boot/compressed/head.s 和解压代码misc.c,deco ...
- linux arm内核栈切换,ARM Linux中断发生时内核堆栈切换
转载注明出处:http://www.wowotech.net/forum/viewtopic.php?id=54 对ARM Linux中断非常简洁.精确的描述. 发生了中断,最重要的是保存现场,在中断 ...
- arm linux ppp拨号gprs上网移植
sim900芯片-GPRS模块ppp拨号上网 2016-08-04 19:33 本站整理 浏览(369) --------------------------------------- 主机操作系统: ...
- arm linux 串口 蓝牙,arm linux串口藍牙工具移植及使用
ap6212中串口藍牙在linux下的使用記錄 一.linux藍牙工具移植 主要使用到的工具及相關庫如下: bluez-libs-3.36 libxml2-2.7.4 dbus-1.0.2 glib- ...
- 移植Linux 3.4.2内核到JZ2440开发板(超精讲)
Linux 3.4.2内核移植到JZ2440开发板 0.开发环境 虚拟机:VMware workstation 16 pro 宿主机操作系统:Ubuntu 16.04 开发板:JZ2440 移植内核版 ...
- linux 内核移植和根文件系统的制作【转载】
原文地址:http://www.cnblogs.com/hnrainll/archive/2011/06/09/2076214.html 1.1 Linux内核基础知识 在动手进行Linux内核移植之 ...
- 支持v4l2 linux内核选项 s3c2440,linux内核移植-移植2.6.35.4内核到s3c2440
原标题:linux内核移植-移植2.6.35.4内核到s3c2440 硬件平台:FL2440 主机平台:Ubuntu 11.04 交叉编译器: - -gcc 4.3.2 原创作品,转载请标明出处htt ...
最新文章
- [C#参考]锁定lock
- crontab简单示例
- 初步认识Volatile-CPU层面的内存屏障
- 【渝粤教育】国家开放大学2018年春季 0014-22T秘书学(一) 参考试题
- Python黑魔法,一行实现并行化
- iOS VIPER架构(三)
- log4j 按天打印到文件夹_log4j日志打印到前一天的日志文件中
- Ssm手机电脑自适应新闻博客系统实战开发
- SuperSocketClientEngine
- 十八、x86汇编基础
- 26.【案例:敏感词汇过滤】
- PostgreSQL-11.7关系型数据库源码安装
- 企业微信开发之获取media_id的值
- spring管理事务管理1----------编程式(以下源码均为spring2.5.6)
- JSP自定义带属性的标签
- 字符串水题——相对分子质量
- 干5年外包,突然失业了。。。
- Matlab神经网络函数newff()新旧用法差异
- zabbix报警收敛
- java 监控 emc 存储_EMC存储VNX5500搜集日志
热门文章
- php 发送post请求json,thinkphp ,php post发送json请求,就收post请求
- css线条伸缩_CSS3弹性伸缩布局之box布局
- php session 反序列化,PHP SESSION反序列化本地样例分析
- 32f407tim4时钟源频率_慎重选择时钟发生器,别让这俩指标影响你的ADC 「图片」...
- MySQL 高级 —— 索引实现的思考
- linux系统生成的新文件是什么编码的,Linux系统的默认编码怎样设置?
- 计算机地图制图的点状符号制作,地理空间信息符号化表达研究
- Leetcode-2 两数相加【c语言】
- php 的html文件怎么打开,什么是html文件?html格式如何打开?(图)
- java swing linux_Linux下关于解决JavaSwing中文乱码的情况