linux 3.4.103 内核移植到 S3C6410 开发板

这个星期几乎就搭在这里面了,一开始感觉很不值得,移植这种浪费时间的事情,想立马搞定,然后安安静静看书 & coding.

坑爹的事情就是一个多星期的时间搭进去了,还是没成功。我把我的移植失败的经验留下来做为笔记,为下次做准备,也让和我一起做移植的道友少走弯路.大家一起共同分享经验,营造更好的开发环境。

查了很多资料,在此谢谢那些bloger, thanks for your spirit of sharing.

一. 从官网获得干净的内核

我这里选择的是3.4.103,(其实已经试过很多版本的kernle了,都是失败啊,心塞~,其实我在写这篇blog的时候还在尝试再做一次,现在这次我用的3.4.103)

我的开发板是飞凌的s3c6410,开发板供应商提供的kernel是经过他们处理的,所以不要用供应商的kernel source code. 那样基本上啥经验都赚不到

二. patching yaffs2文件系统

在这个过程中我还发现yaffs2最近的版本是有问题的,源码编译过不了,有错误

换一个版本就正常了~ (坑爹~source code 错误!)

yaffs2-4e188b0.tar.gz

给内核打yaffs2文件系统的补丁

解压yaffs2源文件压缩包之后,执行yaffs2源代码目录下的一个shell script

./patch-ker.sh c /Jason_with_ARM/linux-3.4.104/

上面命令完成下面三件事情:(1) 修改内核fs/Kconfig增加一行:source "fs/yaffs2/Kconfig"(2) 修改内核fs/Kconfig增加一行:ojb-$(CONFIG_YAFFS_FS) +=yaffs2/(3) 在内核fs/目录下创建yaffs2目录将yaffs2源码目录下面的Makefile.kernel文件复制为内核fs/yaffs2/Makefie;将yaffs2 源码目录的Kconfig文件复制到内核fs/yaffs2目录下;将yaffs2源码目录下的*.c *.h文件复制到内核fs/yaffs2目录下.

三. 配置内核!

干干净净的内核移植到ARM平台还是要各种手动修改,麻烦的说~当然这也让我更熟悉Kconfig Makfile的作用和关系

linux 默认的Kconfig 和.config不是为ARM平台准备的So...

RT,copy arm目录下的Kconfig 并且把s3c6400_defconfig copy成.config (s3c6400和s3c6410的配置差不多,于是内核就只给出了一个config)

运行一次make menuconfig 然后再添加点东东

照着下面这个blog的方法做,补全MTD选项

为了增加devfs文件管理器的支持,补全fs/Kconfig

我们所用的文件系统使用的是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

对于menuconfig 里没有yaffs2选项的解决办法

下面给出的link,有些细节其实是配置内核的一部分,不完全是为了解决yaffs2选项丢失的问题

修改根目录下的Makefile,如图

接着修改MTD分区(这一步不完全正确,很可能这就是我为嘛没有移植成功的原因)

三星的芯片,一个系列都是从前面的型号慢慢改进衍生出来的新产品,所以就会出现s3c6410和s3c2410在一些基础文件配置上共用

修改./arch/arm/mach-s3c64xx/mach-smdk6410.c

添加如下代码:

添加头文件

#include  

#include

#include

struct s3c_ts_mach_info {

int delay;

int presc;

int oversampling_shift;

intresol_bit;

enum s3c_adc_types3c_adc_con;

};

注释掉图中注释的部分,并且添加&s3c_device_nand

在/arch/arm/plat-samsung/devs.c里面修改这个函数

修改注释有added的那句话

添加 .boot_params 选项

修改 /drivers/mtd/nand/s3c2410.c

替换所有的(除了switch的选项外)赋值语句包含的NAND_ECC_SOFT为NAND_ECC_NONE

Kernel Feature配置

最后make zImage

最后的最后:可惜找了很多blog,还是没能搞定这个问题,

有人说是

原文:http://blog.csdn.net/cinmyheart/article/details/38784283

Linux4 移植 6410,linux 3.4.103 内核移植到 S3C6410 开发板 移植失败 (问题总结,来日再战!)...相关推荐

  1. [2021]Linux下C语言qrencode二维码生成库的基本使用和ARM开发板移植

    文章目录 一.前言 二.准备所用到的环境以及版本信息 1.Ubuntu和内核版本 2.gcc和g++版本 3.交叉编译gcc和g++版本 4.开发板信息 三.开发环境编译&安装qrencode ...

  2. i.MX283开发板移植RTL8188ETV无线网卡驱动

    一.开发环境 开发板Linux内核版本:2.6.35 无线网卡型号:RTL8188ETV RTL8188驱动版本:rtl8188EUS_rtl8189ES_linux_v4.1.2_4787.2012 ...

  3. 野火iMX6ULL Pro开发板移植SDL2

    承诺的Linux三部曲移植还没写完,差个根文件系统没有写呢,但实在压抑不住内心的亢奋情绪,先把SDL2移植奉献给大家吧.关于SDL的移植,已经进行一个月了,之前把SDL移植成功后打算写Python的模 ...

  4. 开发板移植RTOS操作系统,RTOS操作系统适配开发板整理大全

    文章目录 一.单片机/嵌入式有无操作系统的区别 二.操作系统时的分层架构图 三.移植FreeRTOS到小熊派开发板(STM32L431RC) 1. 硬件准备 2. 下载FreeRTOS源码 2.1. ...

  5. arm开发板移植 curl

    arm开发板移植 curl 一,下载curl源码 二,配置curl 三,移植到arm平台上 三,arm平台curl测试 一,下载curl源码 地址:https://curl.haxx.se/downl ...

  6. 腾讯物联网操作系统TencentOS tiny线上移植大赛,王者机器人、QQ公仔、定制开发板等礼品等你来拿 !

    腾讯物联网操作系统TencentOS tiny线上移植大赛,王者机器人.QQ公仔.定制开发板等礼品等你来拿 ! 一.产品介绍 TencentOS tiny是腾讯面向物联网领域开发的实时操作系统,具有低 ...

  7. 移植Ubuntu Base 20.04 LTS (Focal Fossa)到4412开发板

    前言 此文填上篇文章[移植Linux-5.4+内核到4412开发板移植]的坑,在前面的文章移植完uboot,内核后,接下来就是文件系统的移植了.博主的其他几篇博文里面也有自己构建根文件系统的教程,那样 ...

  8. 乐鑫Esp32学习之旅 23 安信可 esp32-a1s 音频开发板移植最新 esp-adf 音频框架,小试牛刀如何实现在线文字转语音播放。

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. 爬坑学习新旅程,虚拟机搭建esp32开发环境,打印 " ...

  9. RK3399-NanoPC-T4-Android10开发板移植AAOS

    基于RK3399-NanoPC-T4-Android10开发板移植AAOS工作.碰到的问题,调试思路,和修改记录整理如下. 方案一,把目前RK3399-T4开发板对应的驱动(喇叭,相机,蓝牙,LCD等 ...

  10. 嵌入式linux物联网毕业设计项目智能语音识别基于stm32mp157开发板

    stm32mp157开发板FS-MP1A是华清远见自主研发的一款高品质.高性价比的Linux+单片机二合一的嵌入式教学级开发板.开发板搭载ST的STM32MP157高性能微处理器,集成2个Cortex ...

最新文章

  1. 数据库维护优化及后期改进约定.实践篇
  2. 微信视频号聊天室技术介绍
  3. python编码读法-python的读法
  4. Pytorch实战1:线性回归(Linear Regresion)
  5. CIKM 2021 | AutoHERI: 基于层次表示自动聚合的 CVR 预估模型
  6. import _ssl # if we can‘t import it, let the error propagate
  7. ICCV 2019 | Adobe 无需大量数据训练,内部学习机制实现更好的视频修补
  8. 24小时学会python_零基础python24小时极速入门学习
  9. 微软开源用于大规模查找并修复漏洞的开发者工具 Project OneFuzz 框架
  10. WorkStation9完美支持Win8
  11. python词云图绘制
  12. 给3D打印机升级的记录( i3 Mega S)
  13. python实现图片切割及拼图游戏
  14. WLAN与WiFi的区别和联系
  15. revit二次开发之多线程的正确使用
  16. Win2000请求拨号路由服务详解
  17. Android源码修改 替换安装apk时,出现的android小机器人图标。
  18. 国家档案局印发《通知》,进一步加强数字档案管理工作
  19. linux 系统swap设置,Linux 系统swap 设置
  20. 查看php的错误日志文件,php查看错误日志

热门文章

  1. 值得分享的炒白银技巧有哪些?
  2. python初体验——单/双/三引号的用法
  3. 挖金矿问题(c++求解)
  4. dell电脑装双系统linux,戴尔电脑怎么装双系统?戴尔装win7+win10双系统详细教程
  5. URL 长链地址转短链 URL地址
  6. 有人说做运营死路一条,但他没搞清运营是做什么的!
  7. 系统好看 字体font-family
  8. C#百度OCR本地图片识别文字
  9. 新浪2010南非足球世界杯漂亮表格的制作
  10. 光谱分析中的变量选择