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

  • 相关阅读:
    Java学习10.22(Javaweb对输入信息进行验证——常用的方法)
    mysql with python
    Linux
    Python 基础的一些习题
    Python 推导式、迭代器、生成器、模块和包
    Python 文件操作、异常
    Python 部分内置函数、作用域、闭包、递归
    Python 基础函数、解包
    Python 条件与循环
    Python 集合、字典、运算符
  • 原文地址:https://www.cnblogs.com/skyred99/p/5742632.html
Copyright © 2011-2022 走看看