zoukankan      html  css  js  c++  java
  • LINUX 内核移植以及网卡驱动添加

    我用的板子是sama5d3xek,原来板子内核是linux-at91-3.13,升级使用linux-at91-4.10

    首先去官网下载一个linux—at91-4.10压缩包,然后在ubuntu里解压,进入源文件目录,我这里用的是arm板子所以更改Makefile

    如下 vi Makefile

    使的 ARCH ?= $(SUBARCH)

     CROSS_COMPILE ?= $(CONFIG_CROSS_COMPILE:"%"=%)

    改为 ARCH ?= arm

    CROSS_COMPILE ?= arm-linux-

    然后保存退出

    查看arch/arm/configs/sama5_defconfig

    输入命令make ARCH=arm sama5_defconfig

    在输入 make ARCH=arm menuconfig 进行内核相关的配置(注意配置时候尽量把窗口最大化)

    然后在 make -j4 ARCH=arm 进行内核编译生成 zImage

    如果要uImage可以执行 (无加载地址时)

    LOADADDR=0x20008000

    export LOADADDR

    make ARCH=arm uImage

    有加载地址直接make ARCH=arm uImag

    编译device tree

    make ARCH=arm dtbs 就可以了

    最终得到 zImage uImage和sama5d3*。dtb

    Ⅱ 网卡驱动的添加

    我这里需要的是1000M的dp83867网卡驱动,发现linux4.3以上版本都有他的网卡驱动程序,

    果断移植过来,dp83867。c和 ti-dp83867.h文件  然后进行内核配置,出现了一次错误,

    把4.3内核的phy。h中的

    static inline bool phy_interface_is_rgmii(struct phy_device *phydev)
     {
     return phydev->interface >= PHY_INTERFACE_MODE_RGMII &&
     phydev->interface <= PHY_INTERFACE_MODE_RGMII_TXID;
     };复制到4.10中,更改Makefile和Kconfig文件

    重新配置编译内核,ok

  • 相关阅读:
    Azure开发者任务之二:Cloud Service项目添加到ASP.Net Web中
    Azure开发者任务之一:解决Azure Storage Emulator初始化失败
    Configuring a Windows Azure Project
    How to manage the certificates in the PC
    在此声明我的博客已经搬到CSDN 中了
    http://www.cnblogs.com/Sniper-quay/archive/2011/06/22/2086636.html
    杂乱的UDPsocket
    socket下server端支持多客户端并发访问简单实现
    Qt 的udpSocket通信
    正则表达式
  • 原文地址:https://www.cnblogs.com/skyred99/p/5742632.html
Copyright © 2011-2022 走看看