Linux4 移植 6410,linux 3.4.103 内核移植到 S3C6410 开发板 移植失败 (问题总结,来日再战!)...
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 开发板 移植失败 (问题总结,来日再战!)...相关推荐
- [2021]Linux下C语言qrencode二维码生成库的基本使用和ARM开发板移植
文章目录 一.前言 二.准备所用到的环境以及版本信息 1.Ubuntu和内核版本 2.gcc和g++版本 3.交叉编译gcc和g++版本 4.开发板信息 三.开发环境编译&安装qrencode ...
- i.MX283开发板移植RTL8188ETV无线网卡驱动
一.开发环境 开发板Linux内核版本:2.6.35 无线网卡型号:RTL8188ETV RTL8188驱动版本:rtl8188EUS_rtl8189ES_linux_v4.1.2_4787.2012 ...
- 野火iMX6ULL Pro开发板移植SDL2
承诺的Linux三部曲移植还没写完,差个根文件系统没有写呢,但实在压抑不住内心的亢奋情绪,先把SDL2移植奉献给大家吧.关于SDL的移植,已经进行一个月了,之前把SDL移植成功后打算写Python的模 ...
- 开发板移植RTOS操作系统,RTOS操作系统适配开发板整理大全
文章目录 一.单片机/嵌入式有无操作系统的区别 二.操作系统时的分层架构图 三.移植FreeRTOS到小熊派开发板(STM32L431RC) 1. 硬件准备 2. 下载FreeRTOS源码 2.1. ...
- arm开发板移植 curl
arm开发板移植 curl 一,下载curl源码 二,配置curl 三,移植到arm平台上 三,arm平台curl测试 一,下载curl源码 地址:https://curl.haxx.se/downl ...
- 腾讯物联网操作系统TencentOS tiny线上移植大赛,王者机器人、QQ公仔、定制开发板等礼品等你来拿 !
腾讯物联网操作系统TencentOS tiny线上移植大赛,王者机器人.QQ公仔.定制开发板等礼品等你来拿 ! 一.产品介绍 TencentOS tiny是腾讯面向物联网领域开发的实时操作系统,具有低 ...
- 移植Ubuntu Base 20.04 LTS (Focal Fossa)到4412开发板
前言 此文填上篇文章[移植Linux-5.4+内核到4412开发板移植]的坑,在前面的文章移植完uboot,内核后,接下来就是文件系统的移植了.博主的其他几篇博文里面也有自己构建根文件系统的教程,那样 ...
- 乐鑫Esp32学习之旅 23 安信可 esp32-a1s 音频开发板移植最新 esp-adf 音频框架,小试牛刀如何实现在线文字转语音播放。
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. 爬坑学习新旅程,虚拟机搭建esp32开发环境,打印 " ...
- RK3399-NanoPC-T4-Android10开发板移植AAOS
基于RK3399-NanoPC-T4-Android10开发板移植AAOS工作.碰到的问题,调试思路,和修改记录整理如下. 方案一,把目前RK3399-T4开发板对应的驱动(喇叭,相机,蓝牙,LCD等 ...
- 嵌入式linux物联网毕业设计项目智能语音识别基于stm32mp157开发板
stm32mp157开发板FS-MP1A是华清远见自主研发的一款高品质.高性价比的Linux+单片机二合一的嵌入式教学级开发板.开发板搭载ST的STM32MP157高性能微处理器,集成2个Cortex ...
最新文章
- 数据库维护优化及后期改进约定.实践篇
- 微信视频号聊天室技术介绍
- python编码读法-python的读法
- Pytorch实战1:线性回归(Linear Regresion)
- CIKM 2021 | AutoHERI: 基于层次表示自动聚合的 CVR 预估模型
- import _ssl # if we can‘t import it, let the error propagate
- ICCV 2019 | Adobe 无需大量数据训练,内部学习机制实现更好的视频修补
- 24小时学会python_零基础python24小时极速入门学习
- 微软开源用于大规模查找并修复漏洞的开发者工具 Project OneFuzz 框架
- WorkStation9完美支持Win8
- python词云图绘制
- 给3D打印机升级的记录( i3 Mega S)
- python实现图片切割及拼图游戏
- WLAN与WiFi的区别和联系
- revit二次开发之多线程的正确使用
- Win2000请求拨号路由服务详解
- Android源码修改 替换安装apk时,出现的android小机器人图标。
- 国家档案局印发《通知》,进一步加强数字档案管理工作
- linux 系统swap设置,Linux 系统swap 设置
- 查看php的错误日志文件,php查看错误日志