开发环境:ubuntu 16 64位
    
   
使用外部工具链编译错误:Incorrect selection of the C library 解决方法安装32位支持: sudo
apt-get install libc6:i386 libstdc++6:i386 libncurses5:i386
zlib1g:i386
内核版本计算
使用的Linux系统为MANJARO,内核版本号为4.4.45,对应的LINUX_VERRSION_CODE 为263213,计算方法如下:
首先将4.4.45 转为16进制为 0x04.0x04.0x2D 然后宏
KERNEL_VERSION(0x04,0x04,0x2D)展开之后得到04042D 这个16进制的数字 最后将0x040423
转化为十进制就得到了十进制的263213 即为 LINUX_VERSION_CODE的值263213
    
    
    根文件系统buildroot
   
    
    
    1.下载安装
   
    安装一些依赖
    
     apt-get install linux-headers-$(uname -r)
    
    
    然后下载根文件系统,下载完后解压
   
wget https://buildroot.org/downloads/buildroot-2017.08.tar.gz
tar xvf buildroot-2017.08.tar.gz
    
    
    2.配置根文件系统
   
进入到刚下载的根文件系统文件夹里make menuconfig
cd buildroot-2017.08/
make menuconfig
    
     Target options
    
    
    Target Architecture (ARM (little endian))
    
    Target Architecture Variant (cortex-A7)
    
    
    
    
     Toolchain
    
    
    
    
    选择外部工具链
    
    Toolchain Path:
    
     /opt/gcc-linaro-7.1.1-2017.08-x86_64_arm-linux-gnueabihf
    
    
    Toolchain prefix :
    
     arm-linux-gnueabihf
    
    
    External toolchain gcc version (7.x)
    
    External toolchain kernel headers series (4.10.x)
    
    External toolchain C library (glibc/eglibc)
   
    
     System configuration
    
    
    
    
    System configuration里面可以设置主机名,root密码等。
   
    
     Target packages
    
    
    Target packages 里面可以选择一下软件包等等。
   
其他的选项可以自行学习一下。
    
    
    3.编译
   
    执行make命令进行编译。
    
    
    
    编译完成后,在output/images/文件夹下的rootfs.tar就是根文件系统。
   
 
