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

  • 相关阅读:
    cf Inverse the Problem (最小生成树+DFS)
    cf Make It Nondeterministic (简单贪心)
    cf Learn from Life (简单贪心)
    hdu 5057 Argestes and Sequence (数状数组+离线处理)
    hdu 5056 Boring count (类似单调队列的做法。。)
    hdu 5055 Bob and math problem (很简单贪心)
    三样东西能让女人幸福一生
    第01课 OpenGL窗口(4)
    爱情要不要吃回头草?(林忆)
    第01课 OpenGL窗口(3)
  • 原文地址:https://www.cnblogs.com/skyred99/p/5742632.html
Copyright © 2011-2022 走看看