移植最新内核Linux4.1.6到TQ2440开发板教程(一)

本次移植主要是移植最新内核Linux4.1.6TQ2440开发板

开发板:TQ2440

内核:Linux4.1.6

目的:在开发板上实现内核的启动,并挂上nfs根文件系统

1、 下载最新内核linux-4.1.6.tar.xz  https://www.kernel.org/

2、 直接拖内核源码到虚拟机中的一个目录 

 

3、 解压 :tar axvf linux-4.1.6.tar.xz  并切换到内核源码目录 cd linux-4.1.6/

4、 修改makefile文件: gedit Makefile 

 

5、 修改机器码,用于启动需要,根据自己uboot的机器码设定,我的是168

a) 

b) gedit arch/arm/tools/mach-types

c) 

6、 设置DM9000的一些参数

a) 

#include <linux/dm9000.h>

b)/* DM9000 */

static struct resource s3c_dm9k_resource[] = {

    [0] = {

        .start = S3C2410_CS4,

        .end = S3C2410_CS4 + 3,

        .flags = IORESOURCE_MEM,

    },

    [1] = {

        .start = S3C2410_CS4 + 4,

        .end = S3C2410_CS4 + 4 + 3,

        .flags = IORESOURCE_MEM,

    },

    [2] = {

        .start = IRQ_EINT7,

        .end = IRQ_EINT7,

        .flags = IORESOURCE_IRQ | IRQF_TRIGGER_RISING,

    }

};

static struct dm9000_plat_data s3c_dm9k_platdata = {

    .flags = DM9000_PLATF_16BITONLY,

};

struct platform_device s3c_device_dm9000 = {

    .name = "dm9000",

    .id = 0,

    .num_resources = ARRAY_SIZE(s3c_dm9k_resource),

    .resource = s3c_dm9k_resource,

    .dev = {

        .platform_data = &s3c_dm9k_platdata,

    }

};

C) 

 

7、 修改时钟

 

8、 设置初始化相关的

 

9、 nand flash 分区 gedit arch/arm/mach-s3c24xx/common-smdk.c

 

10、 给内核指定启动参数,不知道为啥,好像uboot 不能自动跟内核传递参数样

Make menuconfig -> boot option->在第六行输入 :noinitrd mem=64M console=ttySAC0,115200 init=/linuxrc root=/dev/nfs rw nfsroot=172.16.123.57:/opt/myfs ip=172.16.123.238 换上各自的ip 和文件系统目录

11、 make 编译

12、启动成功,但是只实现了基本功能,各项驱动的移植,待续

 

 

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值