我们的fl2440开发板使用的是s3c2440的芯片,与MINI2440十分相似,因此需要改动的地方不多,移植也比较容易。

1.[weishusheng@localhost kernel]$ sudo tar -xjf linux-3.0.tar.bz2

2. 进入 linux-3.0,修改顶层Makefile

配置CPU类型和交叉编译器(195,196行)

ARCH        ?= arm

CROSS_COMPILE   ?= /opt/buildroot-2011.11/arm920t/usr/bin/arm-linux-

添加zImage头制作(559行后面)

cp arch/arm/boot/zImage . -f

/home/weishusheng/kernel/linux-3.0/mkimage -A arm -O linux -T kernel -C none -a 30008000 -e 30008040 -n "Linux Kernel" -d   zImage

linuxrom-s3c2440-wei.bin

rm -f zImage

mkimage是在制作u-boot的时候生成的,在u-boot的/tools目录下,这里我把它拷贝到内核目录下,这段是在linux编译的内核的前面,加上一个64字节的头,让u-boot能够引导内核启动。

3.拷贝 arch/arm/configs/mini440_defconfig作为.config的模板

[weishusheng@localhost linux-3.0]$ sudo cp arch/arm/configs/mini2440_defconfig .config

文章里许多地方我用了sudo,是因为我在实验室的.3服务器上做,很多命令没有权限,大家依据自己的情况决定用不用加

4.[weishusheng@localhost linux-3.0]$ export TERM=vt100

[weishusheng@localhost linux-3.0]$ sudo make menuconfig

System Type  --->

S3C2440 and S3C2442 Machines  --->

[ ] Simtec Electronics ANUBIS (NEW) 
                         [ ] Openmoko GTA02 / Freerunner phone (NEW)
                         [ ] Simtec IM2440D20 (OSIRIS) module (NEW) 
                         [ ] HP iPAQ rx3715 (NEW) 
                         [*] SMDK2440 
                         [ ] NexVision NEXCODER 2440 Light Board (NEW) 
                         [*] SMDK2440 with S3C2440 CPU module (NEW) 
                         [ ] SMDM2440 with S3C2442 CPU module (NEW) 
                         [ ] Avantech AT2440EVB development board (NEW) 
                         [ ] MINI2440 development board 
                         [ ] HP iPAQ rx1950 (NEW)

Device Drivers  --->

<*> Telephony support  --->

5.修改时钟和串口,将arch/arm/mach-s3c2440/mach-smdk2440.c中的__init smdk2440_map_io()函数中对时钟的初始化修改为12MHz:

static void __init smdk2440_map_io(void)
{
s3c24xx_init_io(smdk2440_iodesc, ARRAY_SIZE(smdk2440_iodesc));
s3c24xx_init_clocks(12000000);
s3c24xx_init_uarts(smdk2440_uartcfgs, ARRAY_SIZE(smdk2440_uartcfgs));
}

6.将drivers/tty/serial/samsung.c中设置如下:

57行

#define S3C24XX_SERIAL_NAME  "ttyS"

885行

.driver_name    = "ttyS",

7.修改arch/arm/tools/mach-types,将machine_ID配置为如下

s3c2440         ARCH_S3C2440        S3C2440         1999

mini2440        MACH_MINI2440       MINI2440        362

8.开始编译:make

linux-3.0内核移植到fl2440开发板(以MINI2440为模板)的更多相关文章

  1. linux-3.0内核移植到fl2440开发板(以s3c2410为模板)

    1.新建kernel文件夹,用于存放内核文件 [weishusheng@localhost ~]$ mkdir kernel 2.进入kernel,上传压并解压压缩文件 [weishusheng@lo ...

  2. linux 3.4.103 内核移植到 S3C6410 开发板 移植失败 (问题总结,日本再战!)

    linux 3.4.103 内核移植到 S3C6410 开发板 这个星期差点儿就搭在这里面了,一開始感觉非常不值得,移植这样的浪费时间的事情.想立刻搞定,然后安安静静看书 & coding. ...

  3. qt-embedded-4.5.3移植到FL2440开发板

    1. 2.configure配置 ./configure -opensource -confirm-license -release -shared -fast -no-qt3support -no- ...

  4. 《Linux设备驱动开发具体解释(第3版)》(即《Linux设备驱动开发具体解释:基于最新的Linux 4.0内核》)网购链接

    <Linux设备驱动开发具体解释:基于最新的Linux 4.0内核> china-pub   spm=a1z10.3-b.w4011-10017777404.30.kvceXB&i ...

  5. Centos LInux 7.0 内核3.1 升级简化流程

    Centos LInux 7.0 内核3.1 升级建华流程 1)#导入ELRepo软件仓库的公共秘钥rpm --import https://www.elrepo.org/RPM-GPG-KEY-el ...

  6. 【原创】车载实时路况信息接收终端移植于Smart210开发板 --- 综合教程

    [原创]车载实时路况信息接收终端移植于Smart210开发板 --- 综合教程 所用工具: windows电脑 Ubuntu12.04 Smart210开发板 4g以上SD卡 U盘 步骤: 1.    ...

  7. Opencv2.2 移植到am335x-y开发板

    1.虚拟机上运行cmake-gui,报找不到文件,指示安装. 2.下载opencv2.2.0 http://opencv.org/downloads.html 3.cmake-gui,配置参考< ...

  8. linux内核(二)内核移植(DM365-DM368开发攻略——linux-2.6.32的移植)

    一.介绍linux-2.6.32: Linux-2.6.32的网上介绍:增添了虚拟化内存 de-duplicacion.重写了 writeback 代码.改进了 Btrfs 文件系统.添加了 ATI ...

  9. 【linux】内核+文件系统下载到开发板

    K开发 欢迎转载,转载时请保留作者信息,谢谢. 邮箱:tangzhongp@163.com 博客园地址:http://www.cnblogs.com/embedded-tzp Csdn博客地址:htt ...

随机推荐

  1. 采用ubuntu系统来安装tensorflow

    最近在学习google新开源的深度学习框架tensorflow.发现安装它的时候,需要依赖python2.7.X;我之前一直使用的linux是centos.而centos不更新了,里面的自带的pyth ...

  2. Cocoapods的安装

    1.先升级Gem sudo gem update --system 2.切换cocoapods的数据源 [先删除,再添加,查看] gem sources --remove https://rubyge ...

  3. iscroll修改

    近期项目中使用iScroll遇到一个问题,在设定wrapper为横向滚动时,如果你手指放在该区域,将无法拉动页面,也就是说该区域取消了默认事件.这个体验是实在是无法接受,特别是页面中有多个横向滚动区域 ...

  4. linux下进程突然断掉后的日志查询

    最近写了一个实现监控的服务,可某天去看的时候进程突然木有了,这就捉急了,好好的是啥原因了呢?不会有人不小心把偶的进程关掉了把! 后发现一个linux日志文件:/var/log/messages 打开文 ...

  5. 如何在Form++开源组态平台添加硬件采集接口

    E-Form++是一套值得推荐的高品质开源C++矢量图形库,C++编程之所以异常困难,主要就是没有很专业的C++基础架构库有关.E-Form++的出现一定程度上填补了这个空白.是开发工控.监控.建模与 ...

  6. 第一章 web应用程序开发原理

    [总结] 1.计算机模式  :主机  哑端计算机模式 优点:速度快  反应快 维护修理方便 数据安全性高 缺点:单台计算机安全操作 应用程序难维护 难以跨出平台 客户端 客户计算机模式 优点:速度快 ...

  7. fatal: Could not read from remote repository.的解决办法

    1. git remote –v查看远端地址或者查看配置 git config –list 2. git status 3. git add . git status git commit -m “本 ...

  8. ASP.net页面代码执行顺序

    <%=TextBox1 .Text%> <asp:TextBox ID="TextBox1" runat="server">abc< ...

  9. IE10、IE11 ASP.Net 网站无法写入Cookie 问题

    在做项目的时候遇上一个奇怪的问题,这个项目是用前端DWZ框架+MVC框架做的,在IE10和IE11上, 用户登录之后,操作界面中的任何操作,都无法操作,抛出异常,经过查找分析发现, 只有在IE10和I ...

  10. C++学习笔记30:模板与型式参数化

    转型操作 接受目标型式作为模板参数 Programmer *p = dynamic_cast<Programmer*>(e) 模板工作原理 使用template<typename T ...