本文为原创,转载请注明:http://www.cnblogs.com/tolimit/

首先修改资源代码,进入arch/arm/mach-s3c64xx/目录,在这里我们使用mini6410的资源配置文件,首先复制一份mach-mini6410.c为mach-ok6410.c,修改mach-ok6410.c.

把文件中所有mini6410改为ok6410

:%s/mini6410/ok6410/g

:%s/MINI6410/OK6410/g

修改struct mtd_partition结构体内容,此结构体用于保存nandflash分区信息

 static struct mtd_partition ok6410_nand_part[] = {

          [] = {

                    .name = "Bootloader",

                    .size = ( * SZ_1M),

                    .offset = ,

                    .mask_flags = MTD_CAP_NANDFLASH,

          },

          [] = {

                    .name = "Kernel",

                    .size = ( * SZ_1M),

                    .offset = ( * SZ_1M),

                    .mask_flags = MTD_CAP_NANDFLASH,

          },

          [] = {

                    .name = "Root File System",

                    .offset = ( * SZ_1M),

                    .size = ( * SZ_1M),

          },

          [] = {

                    .name  = "User",

                    .size = ( * SZ_1M),

                    .offset = ( * SZ_1M),

          },

 };

这里有个bug我们需要屏蔽掉

进入driver/mtd/nand/目录,打开nand_base.c文件,找到3265行附近的

          Case :

                    Chip->ecc.layout = &nand_oob_128;

                    Break;

在此行下添加

          Case :

                    Chip->ecc.layput = &nand_oob_128;

                    Break;

我们需要关闭ECC校验

进入driver/mtd/nand/目录,修改s3c2410.c文件

找到

chip->ecc.mode = NAND_ECC_SOFT;

改为

chip->ecc.mode = NAND_ECC_NONE;

然后我们需要增加devfs文件管理器的支持,修改fs/Kconfig,找到menu "Pseudo filesystems"

在之后添加

config DEVFS_FS

bool "/dev file system support (OBSOLETE)"

default y

config DEVFS_MOUNT

bool "Automatically mount at boot"

default y

depends on DEVFS_FS

修改arch/arm/mach-s3c64xx/Kconfig文件

找到config MACH_SMDK6410

cp一整段config MACH_SMDK6410

把新的MACH_SMDK6410改为MACH_OK6410

添加ok6410的硬件码

进入arch/arm/tools目录

打开mach-types文件

添加一行:ok6410                      MACH_OK6410                 OK6410                       1626

修改arch/arm/mach-s3c64xx/Makefile文件

添加一行obj-$(CONFIG_MACH_OK6410)         +=mach-ok6410.o

回到内核源代码顶层目录,修改顶层目录的Makefile,找到….

修改为 ARCH     ?= arm

CROSS_COMPILE     ?=(你的交叉编译器所在目录,注意最后需要加arm-linux- 若为eabi编译器则为arm-unknown-linux-gnueabi-我的是:/usr/local/arm/4.4.1/bin/arm-linux-)

进入arm/arm/configs目录

在这里我们使用s3c6400的默认配置文件将s3c6400_defconfig复制到源代码顶层目录,并重命名为.config

在源代码根目录中执行make menuconfig

(我只列出必选项,必须禁止选项会特殊说明,一般我们只增不减)

进入System type --->

ARM system type(Samsung S3C64XX)   //这项一定要正确

………………

*** System MMU ***

[*]OK6410                          //在System MMU中选择ok6410

………………

进入Device Drivers --->

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

………………

<*> Caching block device access to MTD devices

………………

<*> NAND Device Support --->

<*> NAND Flash support for Samsung S3C SoCs

进入与 <*>Memory Technology Device (MTD) support ---> 同一等级列表的Block devices  选上<*> RAM block device support

退回到主界面,进入File systems,在这里自己选择需要的文件系统,

进入File systems的 Pseudo filesystems--->

选上 [*] /dev file system support(OBSOLETE)

[*]   Automatically mount at boot

(这两项即为之前我们添加的devfs 文件管理器支持)

回到主界面,进入Boot options,里面有一行是需要我们自己手动填写的,是linux启动参数,在这里我初略说一下

noinitrd

不使用临时的根文件系统

root=…

该参数告诉内核启动时使用哪个设备作为根文件系统。比如第3分区作为根文件系统:root=/dev/mtdblock2

rootfstype=…

根文件系统类型(比如rootfstype=cramfs)

ro/rw

ro以只读方式加载根文件系统,rw以读写方式加载(rw为默认值)

init=..

初始化进程名(使用busybox制作的根文件系统这一项一般为init=/linuxrc)

console=…

字面意思:控制台,就是控制台信息输出到哪,这里OK6410填ttySAC0,115200

我的启动参数为noinitrd root=/dev/mtdblock2 rootfstype=cramfs console=ttySAC0,115200 init=/linuxrc

设置完毕,保存信息,编译内核吧.

OK6410移植linux3.3.1的更多相关文章

  1. 1.ok6410移植bootloader,移植u-boot,学习u-boot命令

    ok6410移植u-boot 既然是移植u-boot当然首先需要u-boot源码,这里的u-boot代码是由国嵌提供的. 一.配置编译u-boot A. 解压 u-boot 压缩文件 B. 进入解压生 ...

  2. 移植Linux-3.4.2内核到S3C2440

    一.BootLoader引导内核过程     1.Bootloader的工作     1.1.将内核读入内存     2.2.保存内核启动参数到指定位置,内核启动时去这个位置解析参数     3.3. ...

  3. OK6410移植madplay播放器,王明学learn

    对于ok6410的madplay移植主要包括三部分.声卡驱动移植,播放器的移植,以及alsa库的移植. 一.首先移植声卡驱动以及播放器 ok6410采用WM97系列的声卡芯片,要使得内核支持该驱动,首 ...

  4. 移植linux3.7到nuc900系列开发板遇到的问题

    通过移植学习linux新版本内核,大概了解一下内核变化. 记录一下移植过程中遇到的问题或值得注意的地方. 1,添加一款arm9芯片的支持 首先修改\arch\arm\tools\mach-types文 ...

  5. Linux学习 :移植linux-3.4.83到JZ2440开发板

    一.编译环境搭建: 1.linux源码下载:https://www.kernel.org/ (最新)  https://mirrors.edge.kernel.org/pub/linux/kernel ...

  6. tiny4412移植opencv2.4.7手记

    在买了新的4412板子后.打算趁着刚成功在6410上移植过的经验,速度解决下.不想出现了各种问题.小结下: 1.关于opencv的移植: tiny4412的linux3.5上,须要把opencv的li ...

  7. Android KitKat 4.4 Wifi移植之Wifi driver

    本文讲述在Linux 3.10下Realek RTL8723A Linux Wifi 驱动的移植. Prerequisites 硬件平台:Atmel SAMA5 软件平台:Linux 3.10 + A ...

  8. 18.17 U-Boot+内核移植

    18.17.1 移植U-Boot-2012.04.08 1.下载.建立source insight工程.编译.烧写.如果无运行分析原因. $ .tar.bz2 $ cd u-boot- $ make ...

  9. linux 内核启动流程分析,移植

    分析 linux-2.6.22.6 内核启动流程 移植 linux-3.4.2 到 JZ2440 开发板 Linux内核源码百度云链接: https://pan.baidu.com/s/1m1ymGl ...

随机推荐

  1. √n求单值欧拉函数

    基本定理: 首先看一下核心代码: 核心代码 原理解析: 当初我看不懂这段代码,主要有这么几个问题: 1.定理里面不是一开始写了一个n*xxx么?为什么代码里没有*n? 2.ans不是*(prime[i ...

  2. linux学习笔记-目录结构(2)

    2./usr的意义与内容 依据FHS的基本定义,/usr里面放置的数据属于可分享的与不可变动的. usr是UNIX Software Resource的缩写,即UNIX操作系统软件资源所放置的目录,而 ...

  3. 【工具相关】web-HTML/CSS/JS Prettify的使用

    一,打开Sublime Text,代码如下面所示. 二,鼠标右键--->HTML/CSS/JS Prettify--->Prettify Code.代码如图所示,明显的代码变得整齐了.

  4. IntelliJ idea连接操作DB2数据库

    一.场景 一直都是用navicat作为数据库的连接工具,但是navicat不支持连接DB2,网上也推荐很多其它软件工具,但是因为DB2用的场景不多,这次只是开发etl工具需要测试数据库,正好发现ide ...

  5. Session Cookies随笔

    1.对于Session而言 它是用来保存在服务端的信息,可以用来做登录验证,在后台保存有用信息. 一个浏览器访问一个网站,就是建立一个连接,连接信息是独立的,就是在该建立的连接内,保存到Session ...

  6. 阿里SopHix热修复框架

    2015年以来,Android开发领域里对热修复技术的讨论和分享越来越多,同时也出现了一些不同的解决方案,如QQ空间补丁方案.阿里AndFix以及微信Tinker(Bugly sdk也集成Tikner ...

  7. web测试之界面测试

    所谓界面测试就是指,布局是否合理.整体风格是否一致.各个控件的放置位置是否符合客户使用习惯,此外还要测试界面操作便捷性.导航简单易懂性,页面元素的可用性,界面中文字是否正确,命名是否统一,页面是否美观 ...

  8. [20170824]11G备库启用DRCP连接.txt

    [20170824]11G备库启用DRCP连接.txt --//参考链接:http://blog.itpub.net/267265/viewspace-2099397/blogs.oracle.com ...

  9. 利用Spring的AbstractRoutingDataSource解决多数据源的问题

    多数据源问题很常见,例如读写分离数据库配置. 原来的项目出现了新需求,局方要求新增某服务器用以提供某代码,涉及到多数据源的问题. 解决方法如下: 1.首先配置多个datasource <bean ...

  10. python第二十二天-----在做作业当中............

    作业 1, ATM:模拟实现一个ATM + 购物商城程序 额度 自定义实现购物商城,买东西加入 购物车,调用信用卡接口结账可以提现,手续费5%支持多账户登录支持账户间转账记录每月日常消费流水提供还款接 ...