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 ...
最新文章
- JavaScript对象中的构造方法
- maven 引入本地 jar
- 通过调整Linux内核参数提升网络性能
- JavaScript自定义浏览器滚动条兼容IE、 火狐和chrome
- requestmapping配置页面后_第004课:Spring Boot 项目属性配置
- 巩固shell基础知识
- JS学习总结(5)——循环语句
- Atitit 获取mp3音乐文件的音乐名与歌手结构化元数据 nlp java 目录 1.1. 一、MP3文件的元数据	1 1.2. MP3文件的数据结构以及为mp3内嵌歌词的代码 	3 1.3.
- 故障排查 node_Kubernetes 故障解决心得(一)
- 在使用renderTo中遇到的Uncaught TypeError: Cannot read property 'insertAdjacentHTML' of null
- arcgis怎么做poi_基于POI数据与ArcGIS空间分析技术的城市公交站点现状容量评价方法...
- 常用邮箱服务器地址大全截止2020-9
- Zxing扫描条形码后得到结果前面多了一个0的问题
- STM32通过IIC读取MPU6050原始数据过程详解
- oracle服务端下载(10g)
- neo4j安装详细步骤(小白版)
- 【数论】——Catalan 卡特兰数
- 补天SRC漏洞数排名
- 一键转换ASCII码
- 电脑维修不求人:电脑常见故障维修大全及解决方法
热门文章
- html自动适应屏幕分辨率,css如何自适应屏幕大小?
- python while语法结构_python语法之流程控制(if while for)
- MySQL 基础———— UNION 联合查询
- Linux进阶之路————进程与服务管理
- (kruskal)Jungle Roads
- matlab 参数识别,[转载]自编最小二乘法的Matlab参数辨识程序(含实例)
- Linux启动tomcat命令行关闭后服务会停止
- 斑能不能彻底去掉_淡妆能不能只用洗面奶卸掉?
- buffsize 缓冲区的大小多少合适_对于Redis性能指标监控!你了解多少?
- python语言基本语句例句-关于python:使用WordNet查找同义词,定义和例句