• Armbian编译以及定制


    Armbian项目地址

    Github: https://github.com/armbian/build

    Armbian for TV Box 项目地址

    Github: https://github.com/150balbes/Build-Armbian/

    编译步骤

    参考Github上项目首页的说明

    1. 准备一个ubuntu18.04的虚机, 我是用ESXi6服务器建的, 初始化好之后 apt update & apt upgrade

    2. 在自己的home目录下, 执行命令

    apt-get -y install git
    git clone https://github.com/armbian/build
    cd build
    ./compile.sh
    

    3. 中途有停止的时候, 修改一下 userpatches/config-example.conf 这个文件, 将 DOWNLOAD_MIRROR="" 改为 DOWNLOAD_MIRROR="china", 在国内的服务器上可以加快下载速度.

    4. 中间会有对话框让选择不同的板子, 版本和软件配置. 和R3300-L板子最接近的几款量产产品:

    Khadas VIM1: https://www.khadas.com/vim1  区别是没有AV输出, 电源为microUSB 5V输入, 内存为2g, wifi芯片不同, 用的是 AP6212 b/g/n or AP6255 802.11b/n/g/ac, with Bluetooth 4.2

    Libre Computer的 Le Potato: https://libre.computer/products/boards/aml-s905x-cc/ 区别是电源为microUSB 5V输入, 内存为2g, 没有wifi

    常见的板子, 其wifi芯片型号如下:

    • Q5: MT7601
    • Q7和R3300L: RTL8189FTV
    • R3300M: RTL8189ETV

    5. 中途如果有错误, 可以在 build/output/debug 目录下查看对应的日志文件, 文件会区分patching, compiler, compilation, patching 分别归类.

    在kernel配置对话框中, wifi网卡驱动的位置位于 Device Drivers -> Network device support -> Wireless LAN

    定制

    定制涉及的目录

    config/kernel: 芯片方案的基础配置, 例如S905对应的是 linux-menson64-*系列文件
    config/boards: 量产成品板的配置, 有csc, conf, tvb等各种后缀, 格式都是一样的, 定义了板子的名称, 芯片方案, uboot配置, 但是只有conf后缀是属于官方支持的板子, 其他的只是社区支持.
    patch/kernel: 芯片方案对不同分支的补丁集合, 例如S905对应的是meson64-* 系列目录, 根据板子的芯片方案, 会依次应用对应目录下的补丁文件

    增加对rtl8189的支持

    sunxi是通过补丁把驱动加上的, 具体可以查看 patch/kernel/sunxi-*/系列目录下的文件 

    • wifi-xxxx-add-realtek-8189es-kconfig-makefile.patch *diff行数有变化, 需要修改
    • wifi-xxxx-add-realtek-8189es.patch
    • wifi-add-realtek-8189fs.patch *diff行数有变化, 需要修改
    • timekeeping32-tweaks-for-5.0.y.patch 这个是用于修复编译中产生的 ioctl_cfg80211.c:353:2: error: implicit declaration of function ‘get_monotonic_boottime’ 错误

    编译中新增的内容

    cache/sources/linux-xxxx/xxxx/arch/arm64/boot/dts/amlogic 对应芯片方案的设备描述基础文件dtsi, 及最终设备描述文件dts, 例如 meson-gxl-s905x-khadas-vim.dts
    cache/sources/linux-xxxx/xxxx/drivers/net/wireless/ 补丁添加的rtl8189驱动文件都放在这个目录下, 新加入的驱动要加到Kconfig文件里, 才会在内核配置工具中出现

    cache/sources/u-boot/20xx.xx/configs/ 这下面都是 *_deconfig 文件, 设备的默认uboot编译配置, 例如khadas-vim_defconfig
    cache/sources/u-boot/20xx.xx/include/configs/meson64.h S905* 芯片对应的头文件

  • 相关阅读:
    实践是检验真理的唯一标准——《精益创业实战》让你的成功飞起来
    蛇年谈程序员发展之路
    蛇年,你使用Python语言编程了吗?
    由《30天自制操作系统》引发的漫画创作
    《七周七语言:理解多种编程范型》书评整理
    精益创业实战
    一本为程序员量身打造的面试逻辑题宝典——《程序员面试逻辑题解析》
    从1.5k到18k, 一个程序员的5年成长之路
    Comparator and Comparable及Collections and Collection的用法和区别
    线程同步
  • 原文地址:https://www.cnblogs.com/milton/p/11981869.html
Copyright © 2020-2023  润新知