配置信息:

移植内核:linux-3.3.5       可以从  http://www.kernel.org/     下载纯正的版本

编译环境:vmware下ubuntu11.04

交叉编译版本:4.3.2

准备工作:

一块OK6410开发板,交叉网线,串口线一根。

在ubuntu根目录下创建forlinx文件,将内核拷贝至该目录下。

确保你的ubuntu已经安装libncures5-dev(安装方法 #sudo apt-get install libncurses5-dev)。

由于移植内核工作要频繁的测试所编译的内核运行情况,所以最好配置NFS服务和使用带有tftp网络功能的uboot。

http://download.csdn.net/detail/laoylhuli/4520015本人测试可以在ok6410上使用tftp下载

移植步骤:

1.解压内核

解压内核

root@ubuntu:/forlinx# tar zxvf linux-3.3.5.tar.gz########################################################################################################

在arch/arm/mach-s3c64xx/目录下的mach-smdk6410.c 复制一份在当前文件下命名为mach-ok6410.c

root@ubuntu:/forlinx/linux-3.3.5/arch/arm/mach-s3c64xx# cp mach-smdk6410.c mach-ok6410.c########################################################################################################

有了ok6410开发板的bsp文件之后,修改当前目录下的Kconfig文件,将我们的bsp文件添加到内核配置中

root@ubuntu:/forlinx/linux-3.3.5/arch/arm/mach-s3c64xx# gedit Kconfig找到

config MACH_SMDK6410

bool "SMDK6410"

select CPU_S3C6410

select SAMSUNG_DEV_ADC

select S3C_DEV_HSMMC

select S3C_DEV_HSMMC1

select S3C_DEV_I2C1

select SAMSUNG_DEV_IDE

select S3C_DEV_FB

select S3C_DEV_RTC

select SAMSUNG_DEV_TS

select S3C_DEV_USB_HOST

select S3C_DEV_USB_HSOTG

select S3C_DEV_WDT

select SAMSUNG_DEV_BACKLIGHT

select SAMSUNG_DEV_KEYPAD

select SAMSUNG_DEV_PWM

select HAVE_S3C2410_WATCHDOG if WATCHDOG

select S3C64XX_SETUP_SDHCI

select S3C64XX_SETUP_I2C1

select S3C64XX_SETUP_IDE

select S3C64XX_SETUP_FB_24BPP

select S3C64XX_SETUP_KEYPAD

help

Machine support for the Samsung SMDK6410复制一下,创建OK6410配置

config MACH_OK6410

bool "OK6410"--------------------------此处注意大小写

select CPU_S3C6410

select SAMSUNG_DEV_ADC

select S3C_DEV_HSMMC

select S3C_DEV_HSMMC1

select S3C_DEV_I2C1

select SAMSUNG_DEV_IDE

select S3C_DEV_FB

select S3C_DEV_RTC

select SAMSUNG_DEV_TS

select S3C_DEV_USB_HOST

select S3C_DEV_USB_HSOTG

select S3C_DEV_WDT

select SAMSUNG_DEV_BACKLIGHT

select SAMSUNG_DEV_KEYPAD

select SAMSUNG_DEV_PWM

select HAVE_S3C2410_WATCHDOG if WATCHDOG

select S3C64XX_SETUP_SDHCI

select S3C64XX_SETUP_I2C1

select S3C64XX_SETUP_IDE

select S3C64XX_SETUP_FB_24BPP

select S3C64XX_SETUP_KEYPAD

help

Machine support for the Forlinx OK6410保存退出

########################################################################################################

由于机器码ID必须和uboot的ID一致,所修改arch/arm/tools/mach-types文件,在283行找到

smdk6410MACH_SMDK6410SMDK64101626把它改成

ok6410MACH_OK6410OK64101626保存退出

########################################################################################################

修改BSP文件,

root@ubuntu:/forlinx/linux-3.3.5/arch/arm/mach-s3c64xx# gedit mach-ok6410.c使用gedit工具的search-->replace把文件中所有的smdk6410改成ok6410

在700行处找到

MACHINE_START(ok6410, "ok6410")

把他改成

MACHINE_START(OK6410, "OK6410")--------------这里跟我们前面配置的Kconfig和mach-types文件中的名字对应,**大小写注意必须一致

########################################################################################################在当前目录(arch/arm/mach-s3c64xx/)下打开Makefile添加我们的bsp文件

obj-$(CONFIG_MACH_OK6410) += mach-ok6410.o

########################################################################################################

修改顶层的Makefile,第195和196行编辑

ARCH ?= arm ***************这里禁止在arm后出现空格或其它符号

CROSS_COMPILE ?= /usr/local/arm/4.3.2/bin/arm-linux- ********你的交叉编译器的路径

########################################################################################################

将arch/arm/configs/s3c6400-defconfig配置文件复制到顶层然后保存为 .config 。

root@ubuntu:/forlinx/linux-3.3.5# cp arch/arm/configs/s3c6400_defconfig .config

########################################################################################################

执行make menuconfig对内核进行配置

打开内核的EABI

选择自己的板极为OK6410  在

把自己的交叉编译器的路径输进去

配置打印串口为芯片的串口0

########################################################################################################

可以开始编译了

root@ubuntu:/forlinx/linux-3.3.5# make uImage几分钟后最初的内核已经编译完成了在arch/arm/boot下可以看到我们编译完成的内核了uImage。通过tftp在OK6410开发板上运行。

通过Uboot的tftp下载到开发板上

开始运行3.3.5内核

未完待续,整个教程包含内核的启动和OK6410的部分驱动的加载运行qt界面

linux内核下载 ok6410,手把手教你移植linux内核---------OK6410(一)相关推荐

  1. linux i2c detect函数,手把手教你写Linux I2C设备驱动

    Linux I2C驱动是嵌入式Linux驱动开发人员经常需要编写的一种驱动,因为凡是系统中使用到的I2C设备,几乎都需要编写相应的I2C驱动去配置和控制它,例如 RTC实时时钟芯片.音视频采集芯片.音 ...

  2. linux内核分析设备,手把手教你分析Linux内核

    Linux的最大的好处之一就是它的源码公开.同时,公开的核心源码也吸引着无数的电脑爱好者和程序员:他们把解读和分析Linux的核心源码作为自己的最大兴趣,把修改Linux源码和改造Linux系统作为自 ...

  3. linux 关闭端口_手把手教你在Linux中快速检测端口的 3 个小技巧

    一个执着于技术的公众号 前言 无论是要解决网络连接问题还是配置防火墙,第一件事是要检查系统实际打开了哪些端口. 本文介绍了几种快速查找 Linux 系统上哪些端口向外部开放的方法. 什么是开放端口 监 ...

  4. linux设备应用程序,手把手教你创建Linux设备驱动和应用程序

    描述 通过前面两篇文章我们不仅创建的自定义IP模块还移植了Linux操作系统,今天这篇文章的内容是将这两部分联系起来,其实我们创建的myLed IP相对于Linux操作系统可以是它的一个底层设备,因为 ...

  5. 正点原子linux驱动教程,正点原子 手把手教你学Linux之驱动开发篇

    简 介 该课程是正点原子手把手教你学Linux系列课程,该课程配套开发板为正点原子alpha/mini Linux开发板. 手把手教你学Linux之驱动开发篇: 第1讲 Linux驱动开发与裸机开发区 ...

  6. 手把手教你在Linux上安装LaTeX环境

    Original artical url: http://www.ylzx8.cn/linux/linux-unix/280361.html 手把手教你在Linux下安装LaTeX环境 一.LaTeX ...

  7. 《手把手教你移植InfoNES(到HANKER-LM4F232)》

    应各路童鞋的围观,"写一个 <手把手教你移植XXX>神马的教程哎~" 实在太忙了,也没有什么好题材的移植,也就是这个InfoNES吧.因为我之前帖子里用的都是我原来学习 ...

  8. 手把手教你搭建Linux开发环境(VMware+Ubuntu)(一)——安装VMware虚拟机和Ubuntu

    前言 近期好多小伙伴都开始学习Linux内核了,那么如何搭建一个Linux运行环境,变成Linux内核初学者的拦路虎,今天我就一步步详细解说一下,如何使用虚拟机VMware安装Ubuntu,跟我一起开 ...

  9. 在linux下怎么安装mysql,手把手教你在Linux系统下安装MySQL

    在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB. 1. 下载并安装MySQL官方的 Yum R ...

  10. 手把手教你写Linux I2C设备驱动

    手把手教你写Linux I2C设备驱动 标签:Linux 设备 驱动 详解 i2c 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http:/ ...

最新文章

  1. 在 Python 中妙用短路机制
  2. Servlet-HttpServletRequestWrapper
  3. WPE制作游戏外挂 更改封包
  4. 黑金AX7Z100 FPGA开发板移植LWIP库(二)PL端
  5. 一款很漂亮的一天只弹窗一次的公告
  6. 结对项目开发(石家庄地铁乘车系统)
  7. JS实现方块颜色的渐变
  8. 英语文献阅读过程中的词汇积累
  9. 二叉树线索化示意图_二叉树线索化
  10. Android中ButterKnife的使用
  11. 计算机考研失败了还能找工作吗,考研失败了怎么办_考研失败还能找工作吗
  12. 第四十六讲 设备驱动kobject
  13. Redis实现全局唯一id,实现优惠卷秒杀的下单功能
  14. 战地4高性能服务器,战地4服务器推荐配置
  15. linux驱动之一、LED驱动(驱动代码小结附:github代码链接)
  16. 刘知远:NLP研究入门之道(三)如何通过文献掌握学术动态
  17. 软件体验测试方案,互联网项目用户体验测试报告模板
  18. InVEST模型 | HAbitat quality模块计算生境质量
  19. 基于JAVA医院信息管理系统计算机毕业设计源码+系统+数据库+lw文档+部署
  20. 单片机多功能电子琴课设_基于51单片机设计的简易电子琴

热门文章

  1. 儿童拼图游戏软件测试,宝宝益智英语字母拼图大全(测试版)
  2. r730服务器安装系统蓝屏6,安装系统蓝屏解决解决方法
  3. 黎曼可积和若尔当可测
  4. 格兰杰检验的基本步骤_实证检验步骤
  5. 百度1+x计算机视觉证书题库
  6. wireshark抓包分析POP3协议
  7. oj平台python_python OJ
  8. Akka-CQRS(9)- gRPC,实现前端设备与平台系统的高效集成
  9. python 序列类型是二维元素向量,测验6: 组合数据类型 (第6周)
  10. Gjs编程及调用底层库原理