移植linux 3.0.2到2440_linxu version 3.0.2-程序员宅基地

技术标签: ext  c  编译器  linux  makefile  终端  linux kernel  

主机:FC9

交叉编译器:arm-linux-gcc-4.3.2

开发板平台:公司的产品2440CPU

这周一口气移了linux2.6.25.14   2.6.26    2.6.29到公司的板子上,前两个都能正常跑到文件系统进入终端,运行个驱动和应用的helo world;移植2.6.29时提示没有串口终端,需要检查init内核字符串,这个还没搞定。貌似2.6.26以后集成了DM9000,想下个内核验证一下,顺便确定一下yaffs2的官方源码获取方法,或者自己修改···

一、内核源码修改

1.修改顶层Makefile文件

2,修改机器码

arch/arm/tools/mach-types
arch/arm/mach-s3c2440

根据uboot传入的数据设置

3.修改时钟,不修改超级终端中会出现乱码

根据硬件外置时钟设置

4.修改对nand的分区信息。

arch/arm/plat-s3c24xx/common-smdk.c

5.修改nand Flash的校验方式,去掉ECC校验。

drivers/mtd/nand/s3c2410.c 

在669行左右 NAND_ECC_NONE

6.文件系统支持

安装git

yum install git

获取最新yaffs2源码

git clone git://www.aleph1.co.uk/yaffs2

打补丁到自己的内核路径下

./patch-ker.sh c m ../linux-3.0.2

说明:内核自带DM9000驱动,不用移植了,根据自己的硬件修改配置就可以

二、内核配置

make s3c2410_defconfig

make menuconfig

System Type ---->

       [*] S3C2410 DMA support

       S3C2410 Machines --->

              [*] SMDK2410/A9M2410 

       S3C2440 Machines --->

              [*] SMDK2440

              [*] SMDK2440 with S3C2440 CPU module

       (2)S3C UART to use for low-level messages (new)

       要选择串口对应我公司的配置

Kernel hacking-->

    (2)S3C UART to use for low-level debug

    要选择串口对应我公司的配置

Boot option ----->

noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC2,

115200

根据实际需要配置

Device Drivers --->

       <*> Memory Technology Device (MTD) support --->

              [*]   MTD partitioning support

              <*> NAND Device Support --->

                      <*>   NAND Flash support for S3C2410/S3C2440 SoC

                      [ ]    S3C2410 NAND Hardware ECC     //这个要去掉

       [*] Network device support --->

               [*]   Ethernet (10 or 100Mbit) ---> 

                   <*>   DM9000 support

这个是系统自带的

Kernel Features ->
     [*]Use the ARM EABI to compile the kernel
     [*]  Allow old ABI binaries to run with this kernel

Filesystem -->

屏蔽 EXT2 EXT3相关

打开自动挂载ramfs

选中yaffs2

Drivers-->

根据板子的实际情况配置

三、内核编译与模块安装

1、Make

生成zImage文件供下载,确认生成的文件没有比分配给他的分区大

2、Make modules

生成模块

3、Make modules_install

安装模块,用于驱动开发用,在/lib/modules下会生成3.0.2的文件夹。参考代码看LDD3。

四、下载运行

五、


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/forch/article/details/6759944

智能推荐

【GNN】图网络|图神经网络(GNN)结构化数据分析-程序员宅基地

文章浏览阅读1.9k次。点击上方,选择星标或置顶,每天给你送干货!阅读大概需要14分钟跟随小博主,每天进步一丢丢来自:专知【导读】Graph Neural Network(GNN)由于具有分析图结构数据的能力而..._gnn,g={v,e}

hashCode 与 equals_哈西code与ecos-程序员宅基地

文章浏览阅读450次。hashCode 与 equals面试官可能会问你:“你重写过 hashcode 和 equals 么,为什么重写 equals 时必须重写 hashCode 方法?”hashCode()介绍hashCode() 的作用是获取哈希码,也称为散列码;它实际上是返回一个 int 整数。这个哈希码的作用是确定该对象在哈希表中的索引位置。hashCode() 定义在 JDK 的 Object.java 中,这就意味着 Java 中的任何类都包含有 hashCode() 函数。散列表存储的是键值对(key-v_哈西code与ecos

Python字符串操作_python strcmp-程序员宅基地

文章浏览阅读775次。1.复制字符串#strcpy(sStr1,sStr2)sStr1 = ’strcpy’sStr2 = sStr1sStr1 = ’strcpy2′print sStr22.连接字符串#strcat(sStr1,sStr2)sStr1 = ’strcat’sStr2 = ‘append’sStr1 += sStr2print sStr13.查找字符#strchr(sStr1,sStr2)sStr1 = ’strchr’sStr2 = ‘r’.._python strcmp

RobotFramework教程使用笔记——Selenium2Library库-程序员宅基地

文章浏览阅读82次。selenium之前已经学习介绍过了,它是一个支持多语言、多平台、多浏览器的web自动化测试框架,在robotframework中也可以导入selenium库来进行web自动化测试。它使用selenium框架中的相关函数方法,也可以理解为将selenium中的函数方法封装成了关键字在robotframework中使用。 1.安装selenium2library 在测试套件中直接导..._robotframework的selenium2library的获取span

BTS渗透测试实验室----安装与实战_btslab 安装时数据库配置-程序员宅基地

文章浏览阅读2.7k次。一、简介BTS渗透测试实验室是一个开放源码的脆弱的Web应用程序,创建的网络安全和隐私的基础(www.cysecurity.org)。它可以用来了解许多不同类型的Web应用程序漏洞。目前,该应用程序包含以下类型的漏洞:● SQL注入● XSS(包括Flash XSS)● CSRF● 点击劫持● SSRF● 文件包含● 执行代码● 不安_btslab 安装时数据库配置

alias用法-程序员宅基地

文章浏览阅读641次。alias :别名的意思。1、基本用法:alias 新的命令='原命令 -选项/参数'。例:重新定义 ls 命令。1aliasls=‘ls-alt'2、删除别名:可以使用 unalias 命令。1unaliasl这个方法只是暂时的,如果重启一次就失效了,如..._alias用法

随便推点

利用c51进行数模转换并在液晶屏上显示_基于C51单片机的智能计算器、矩阵键盘、lcd1602...-程序员宅基地

文章浏览阅读5.3k次。目录1绪论.............................................................................................................................. 11.1选题背景..............................................................._lcdwrc(0x04);

人生的破局点:马斯洛层次需求「倒序实现」理论-程序员宅基地

文章浏览阅读228次。上面这个公号「涩郎」,是我的一个备用号,为了防止万一哪天大号失联,平时一周我也会发三篇左右的我的思考,读书笔记,认知感悟等文章,带领大家一起探索精神与财务自由之路。前一段时间,看了辉哥发布..._当我们解决了温饱,满足了生存需求后

STM32功耗计算_stm32功耗计算规格书-程序员宅基地

文章浏览阅读1.1w次。原文地址::https://wenku.baidu.com/view/ee43956fbed5b9f3f90f1ccd.html相关文章1、STM32F1功耗或工作电流大概是多少----https://zhidao.baidu.com/question/181440841664108484.html2、单片机STM32 功耗的单位是mA怎么理解?----https://zhidao.b..._stm32功耗计算规格书

HarmonyOS实战—亮眼的原子化服务体验_原子化应用-程序员宅基地

文章浏览阅读7k次,点赞3次,收藏5次。##【本文正在参与"有奖征文|HarmoneyOS征文大赛"活动】他来了他来了,他脚踏祥云走来了。就像是一声初春的惊雷,响彻在华夏大地,预示着一个崭新的国产化的时代的到来。我的自豪感也油然而生。谁说国产的不香呢,相信以后国产化也一样可以做到No.1,做到引领潮流,引领世界。2021年6月2日晚20:00,华为HarmonyOS 2及华为全场景新品发布会如期召开。发布会上,重磅发布了万众瞩目的HarmonyOS 2正式版,HarmonyOS正式到来!在最新的HarmonyOS 2.0中,._原子化应用

均匀线阵常规波束形成 matlab程序,波束形成 Matlab程序-程序员宅基地

文章浏览阅读1k次。1.均匀线阵方向图%8阵元均匀线阵方向图,来波方向为0度 clc;clear all; close all;imag=sqrt(-1);element_num=8;%阵元数为8d_lamda=1/2;%阵元间距d与波长lamda的关系 theta=linspace(-pi/2,pi/2,200); theta0=0;%来波方向w=exp(imag*2*pi*d_lamda*sin(theta0)*..._均匀直线阵的常规波束形成matlab

Oracle 数据库远程设置与客户端配置(PL/SQL, Navicat,DbVisualizer)_dbvisualizer navicat-程序员宅基地

文章浏览阅读3.2k次。Oracle Server端如何设置远程访问Client端访问时如何设置,针对不同客户端工具进行不同配置(PL/SQL, Navicat,DbVisualizer)_dbvisualizer navicat

推荐文章

热门文章

相关标签