rootfs搭建过程
本文仅适用于cortex a7系列
- 下载源码
wget https://buildroot.org/downloads/buildroot-2019.02.7.tar.gz
- 解压
sudo tar -vxf build.....
-
记下自己交叉编译链的位置和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
-
-
进入配置模式
make menuconfig
这一步如果进不去的话,查看下报错信息即可,应该是有一个库没有安装
-
正式开始配置
-
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+删除
-
添加其他package(这里以添加python3为例)
- Target package
- Interpreter languages and scripting
- python3
- Interpreter languages and scripting
- Target package
-
make all -j12
得到的文件目录在:/output/images中
其他注意事项
如果在make all 的过程中出现 python command not found时的解决方案如下:
sudo ln -s /usr/bin/python3.6 /usr/bin/python
其中的python3.6为该目录下python本版本,每个人的版本有所差异,查看后修改即可