zoukankan      html  css  js  c++  java
  • buildroot

    一、参考网址

      1、buildroot使用介绍

    二、学习经验

      2.1 各目录的作用

    .
    ├── arch: 存放CPU架构相关的配置脚本,如arm/mips/x86,这些CPU相关的配置,在制作工具链时,编译uboot和kernel时很关键.
    ├── board
    ├── boot
    ├── CHANGES
    ├── Config.in
    ├── Config.in.legacy
    ├── configs: 放置开发板的一些配置参数. 
    ├── COPYING
    ├── DEVELOPERS
    ├── dl: 存放下载的源代码及应用软件的压缩包. 
    ├── docs: 存放相关的参考文档. 
    ├── fs: 放各种文件系统的源代码. 
    ├── linux: 存放着Linux kernel的自动构建脚本. 
    ├── Makefile
    ├── Makefile.legacy
    ├── output: 是编译出来的输出文件夹. 
    │   ├── build: 存放解压后的各种软件包编译完成后的现场.
    │   ├── host: 存放着制作好的编译工具链,如gcc、arm-linux-gcc等工具.
    │   ├── images: 存放着编译好的uboot.bin, zImage, rootfs等镜像文件,可烧写到板子里, 让linux系统跑起来.
    │   ├── staging
    │   └── target: 用来制作rootfs文件系统,里面放着Linux系统基本的目录结构,以及编译好的应用库和bin可执行文件. (buildroot根据用户配置把.ko .so .bin文件安装到对应的目录下去,根据用户的配置安装指定位置)
    ├── package:下面放着应用软件的配置文件,每个应用软件的配置文件有Config.in和soft_name.mk。
    ├── README
    ├── support
    ├── system
    └── toolchain

      2.2 软件包的自动下载(package目录中包含脚本,dl目录中包含已下载的软件包)

        2.2.1 例如libcurl, 在package/libcurl/目录中有个libcurl.mk文件,其内容如下,包含了版本号、下载地址和文件名: 

    LIBCURL_VERSION = 7.55.0
    LIBCURL_SOURCE = curl-$(LIBCURL_VERSION).tar.xz
    LIBCURL_SITE = https://curl.haxx.se/download
    LIBCURL_DEPENDENCIES = host-pkgconf 
        $(if $(BR2_PACKAGE_ZLIB),zlib) 
        $(if $(BR2_PACKAGE_LIBIDN),libidn) 
        $(if $(BR2_PACKAGE_RTMPDUMP),rtmpdump)
    LIBCURL_LICENSE = curl
    LIBCURL_LICENSE_FILES = COPYING
    LIBCURL_INSTALL_STAGING = YES

      2.2.2 至于下载方式,可以通过wget、svn、git、scp等等,在configs中的xxxx_defconfig或.config文件中,有如下定义:

    BR2_WGET="wget --passive-ftp -nd -t 3"
    BR2_SVN="svn"
    BR2_BZR="bzr"
    BR2_GIT="git"
    BR2_CVS="cvs"
    BR2_LOCALFILES="cp"
    BR2_SCP="scp"
    BR2_SSH="ssh"
    BR2_HG="hg"
    BR2_ZCAT="gzip -d -c"
    BR2_BZCAT="bzcat"
    BR2_XZCAT="xzcat"
    BR2_LZCAT="lzip -d -c"
    BR2_TAR_OPTIONS=""
    BR2_DEFCONFIG="$(CONFIG_DIR)/defconfig"
    BR2_DL_DIR="$(TOPDIR)/dl"
    BR2_HOST_DIR="$(BASE_DIR)/host"
        
  • 相关阅读:
    我所认识的JavaScript
    谈如何边做事,边提高
    对JavaScript开发中困扰的思考
    Soundex语音算法
    Perl分割字符串的一个精妙的写法
    Perl深拷贝
    Git diff hash顺序的问题
    perl命令行批量修改文件内容
    IOS写文件
    删除Linux乱码文件
  • 原文地址:https://www.cnblogs.com/shanyu20/p/12066323.html
Copyright © 2011-2022 走看看