linux-rootfs根文件系统构建

rootfs搭建过程

本文仅适用于cortex a7系列

  1. 下载源码
wget https://buildroot.org/downloads/buildroot-2019.02.7.tar.gz
  1. 解压
sudo tar -vxf build.....
  1. 记下自己交叉编译链的位置和kernal的版本 gcc的版本,我是4.9.4 arm-linux-gnueabihf-gcc -v 查看kernal版本 cd /usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/libc/usr/include/linux vim version.h 数字是10进制的,转换成16进制即可看到版本号。我这边是262144,对应的16进制是40000就是4.0的版本 记下自己的交叉编译链的位置 /usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf
  2. 进入配置模式
make menuconfig

这一步如果进不去的话,查看下报错信息即可,应该是有一个库没有安装

  1. 正式开始配置 target options Target Architecture选择 ARM(little endian) Target Architecture Variant 选择cortex-A7 tool chain Toolchain type选择 external toolchain toolchain 选择custom toolchain toolchain path修改成直接的编译链地址 toolchain prefix:在后面追加gnueabihf external toolchain gcc version 选择 4.9.x external toolchain kernal header series 选择4.0.x external toolchain c library 选择 glibc/eglibc

如果在ubuntu在wsl中或者使用ssh远程连接出现时,打错了路径按删除没有用的话,可以按住ctrl+删除

  1. 添加其他package(这里以添加python3为例) Target package Interpreter languages and scripting python3
  2. make all -j12

得到的文件目录在:/output/images中

其他注意事项

如果在make all 的过程中出现 python command not found时的解决方案如下:

sudo ln -s /usr/bin/python3.6 /usr/bin/python

其中的python3.6为该目录下python本版本,每个人的版本有所差异,查看后修改即可

经验分享 程序员 微信小程序 职场和发展