V3S 根文件系统之buildroot

  • Post author:
  • Post category:其他



开发环境: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就是根文件系统。



版权声明:本文为u012577474原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。